Назад | Перейти на главную страницу

Гиперпоточность на многоядерных процессорах - зачем?

Я знаю гиперпоточность с тех времен, когда у процессоров было только одно ядро. Тогда технология действительно пригодилась. Прямо сейчас Intel по-прежнему предлагает гиперпоточность с 6-ядерными процессорами (так что они могут работать в 12 потоках). Интересно, какая польза от этой технологии для многоядерных процессоров? Кто-нибудь делал тесты?

Я думаю об игровых / офисных приложениях

Что ж, в основном он используется так же, как и на однопроцессорных машинах: он добавляет дополнительные аппаратные потоки, если нет конкуренции за ресурсы. Так просто. Здесь такая же аргументация, как и в случае с одним процессором, использование полностью зависит от приложения.

Офисным приложениям не нужно даже 6 ядер, вопрос спорный. То же самое и для игр - большинство из них даже не поддерживают несколько потоков, поэтому ecore или гиперпоточность для них не имеют никакого значения.

HT на многоядерном процессоре не так хорош, как на одноядерном. Но многоядерность (без HT) лучше HT. А двухъядерный не так хорош, как два одноядерных.

Так что в целом - это зависит - вероятно, в основном, если ядро ​​приложения помещается в кеш-память процессора, чтобы HT мог переключаться достаточно быстро, чтобы иметь смысл.

Конечно, для этого есть несколько ориентиров.

Поэтому я считаю, что HT на многоядерных процессорах имеет смысл в приложениях, которым для одной и той же цели требуется много ядер. И я считаю, что HT не замедляет работу (в худшем случае ее эффект может быть нулевым, но не ниже нуля, т.е. замедлять процессы).