Найти тему
Юдоль интеллекта

Новые процессоры Intel - ВЖУХ! И нет hyperthreading!

Почему-то, вот это изменение в архитектуре грядущих процессоров удивляет многих "техноблогеров". Хотя это решение напрашивалось.


Несколько лет назад, когда я в очередной раз стал жертвой потребности поделиться чем-то на дзене, я написал заметку о технологическом пределе микроэлектроники. Тогда, из-за потока комментариев написал ещё пару заметок, и была в планах статья о том, куда же дальше пойдут технологии. Так-как в одном из абзацев написанных заметок я упомянул, что все потенциальные способы оптимизации специалистам уже известны. Я от этой идеи быстро отказался. По двум причинам: людям "в теме" эти решения очевидны и вторая: почти всё эти способы уже производителями так или иначе использовались. Среди всех способов я планировал "предсказать" отказ от "гиперпоточности" в ЦП.

Так почему hyperthreading ушёл в прошлое? И тут как любой типичный "блогер" я доложен написать "простыню" с историей его появления. Но я не буду. )

Метод обработки двух (а однажды интел даже пыталась внедрить 4х) операций одним ядром внедрили в те времена, когда в процессоре было одно ядро и существенную часть времени оно простаивало в ожидании информации для выполнении одной операции. Почти сразу же после этого появились 2-х и 4-х ядерные процессоры. И не смотря на то, что математически задачи деления и распределения решены ещё в прошлом веке, долгое время "кремнию" не хватало мощностей, даже для бытового применения. Узким горлом стала "временная" архитектура x86. ("Слезть" сейчас с неё очень сложно - буквально всё сейчас работает на ней: от мобильников, до узкоспециализированного оборудования.) Однако есть и плюсы: на данный момент производительность ядер и пропускная способность внутренних шин ЦП достаточна для полноценного использования бытового компьютера. Математики ещё в середине прошлого века доказали, что инструкцию не возможно разбивать на бесконечное количество вычислений. На самом деле чем меньше ядер задействовано для выполнение задачи - тем лучше, так как перед тем, как отправить задачу на исполнение, одно из ядер вынуждено собирать выполненные кусочки в единое целое и только тогда может отправить результат. По мимо прочего выросла длинна инструкций внутри процессора т.е. они меньше "бьются" на подзадачи и выполняются сплошным потоком. При этом с ростом частоты, скорость выполнения задач растёт, что то же снижает потребность в гиперпоточности.

И вот, сегодня "Винде" и большей части ПО (которое то же на месте не стоит) при разрядности 64 бит на самом деле достаточно 12 ядер при наличии "двухпоточности".При наличии же "лишних" ядер время ожидания внеплановых задач снижается в геометрической прогрессии. Т.е. 14 ядерного "высокочастотника" для винды на сегодня ДОСТАТОЧНО.

Интел же, в данном продукте обкатывает технологию, и приучает потребителя к отсутствию данной функции в своих продуктах.

Моргот.