Как работает Hyper Threading в процессорах Intel Core i7?

Составные части / Как работает Hyper Threading в процессорах Intel Core i7? 4 минуты на чтение

Вы слышали термин Hyper-Threading много раз. Предполагается, что это какая-то волшебная технология, которая после включения удваивает скорость вашего процессора. Компании могут включить или выключить его и взимать гораздо больше, как премию.



Я хотел бы сказать, что все это полная чушь, и цель этой статьи - научить вас лучше понимать, что такое Hyper-Threading. Эта статья будет очень удобна для новичков.

Предисловие

Раньше, если Intel или AMD приходилось создавать более быстрый процессор, они обычно увеличивали бы потенциальное количество транзисторов, уменьшая их и помещая больше в том же пространстве, и пытались увеличить свои частоты (измеренные в МГц / ГГц). У всех процессоров было только одно ядро. Процессоры стали 32-битными и могли обрабатывать оперативную память до 4 ГБ. Позже они перешли на 64-битные процессоры, которые могли обрабатывать объем оперативной памяти более 4 ГБ. Затем было решено использовать несколько ядер и распределить рабочие нагрузки между этими несколькими ядрами для более эффективных вычислений. Все ядра взаимодействуют друг с другом для распределения любой задачи. Такая задача называется многопоточной.



Части процессора



ЦП состоит из следующих частей, которые работают согласованно. Как упоминалось выше, это будет чрезмерным упрощением. Это просто ускоренный курс, и не принимайте эту информацию как слово Евангелия. Эти части не перечислены в каком-либо определенном порядке:



  • Планировщик (собственно на уровне ОС)
  • Сборщик
  • Декодер
  • Ядро
  • Нить
  • Кеш
  • Контроллер памяти и ввода / вывода
  • FPU (блок с плавающей запятой)
  • Регистры

Функции этих частей заключаются в следующем.

Контроллер памяти и ввода / вывода управляет входом и выходом данных в ЦП и из него. Данные переносятся с жесткого диска или твердотельного накопителя в оперативную память, а затем более важные данные помещаются в кэш ЦП. Кеш имеет 3 уровня. Например, у Core i7 7700K кэш L3 составляет 8 МБ. Этот кэш используется всем ЦП из расчета 2 МБ на ядро. Данные отсюда собираются более быстрым кешем второго уровня. Каждое ядро ​​имеет свой собственный кэш L2, который составляет всего 1 МБ и 256 КБ на ядро. Как и в случае с Core i7, он поддерживает технологию Hyper-Threading. Каждое ядро ​​имеет 2 потока, поэтому этот кеш L2 используется обоими потоками. Общий размер кэша L1 составляет 256 КБ по 32 КБ на поток. Затем данные поступают в регистры, которые в общей сложности составляют 8 регистров в 32-битном режиме и 16 регистров в 64-битном режиме. ОС (операционная система) планирует процессы или инструкции для доступного потока. Поскольку в i7 8 потоков, он будет переключаться между потоками в ядрах и обратно. Такие ОС, как Windows или Linux, достаточно умны, чтобы знать, что такое физические ядра, а какие логические.

Как работает Hyper Threading?



В традиционном многоядерном ЦП каждое физическое ядро ​​имеет свои собственные ресурсы, и каждое ядро ​​состоит из одного потока, который имеет независимый доступ ко всем ресурсам. Hyper-Threading включает в себя 2 (или в редких случаях больше) потоков, совместно использующих одни и те же ресурсы. Планировщик может переключать задачи и процессы между этими потоками.

В традиционном многоядерном ЦП ядро ​​может «припарковаться» или оставаться в режиме ожидания, если ему не назначены какие-либо данные или процесс. Это состояние называется голоданием и решается с помощью SMT или Hyper-Threading.

Физические и логические ядра (и что такое потоки)

Если вы прочитаете спецификации почти для каждого Core i5, вы заметите, что он имеет 4 физических ядра и 4 логических ядра или 4 потока (у Coffee Lake i5 6 ядер и 6 потоков). Все i7 до 7700K имеют 4 ядра и 8 потоковых / логических ядер. В контексте архитектуры процессоров Intel потоки и логические ядра - это одно и то же. Они не меняли планировку своей архитектуры с Nehalem 1-го поколения до сегодняшнего дня с Coffee Lake, поэтому эта информация будет актуальной. Этой информации будет недостаточно для старых процессоров AMD, но Ryzen также сильно изменил свою компоновку, и их процессоры теперь похожи по конструкции на Intel.

Преимущества Hyper Threading

  • Hyper-Threading решает проблему «голодания». Если ядро ​​или поток свободны, планировщик может передать ему данные вместо того, чтобы ядро ​​оставалось бездействующим или ожидало прохождения через него каких-либо других новых данных.
  • Гораздо более крупные и параллельные рабочие нагрузки можно выполнять с большей эффективностью. Поскольку существует больше потоков для распараллеливания, приложения, которые сильно зависят от нескольких потоков, могут значительно увеличить свою работу (хотя и не вдвое быстрее).
  • Если вы играете и у вас есть какая-то важная задача, выполняемая в фоновом режиме, ЦП не будет бороться за предоставление адекватных кадров и плавное выполнение этой задачи, поскольку он может переключать ресурсы между потоками.

Недостатки Hyper Threading

Следующее - не так много недостатков, скорее, неудобств больше.

  • Чтобы воспользоваться преимуществами Hyper-Threading, требуется реализация на программном уровне. Несмотря на то, что все больше и больше приложений разрабатываются для использования преимуществ нескольких потоков, приложения, которые не используют преимущества какой-либо технологии SMT (одновременной многопоточности) или даже нескольких физических ядер, будут работать точно так же независимо. Производительность этих приложений больше зависит от тактовой частоты и IPC процессора.
  • Hyper-Threading может привести к увеличению нагрева ЦП. Вот почему i5s раньше работали намного выше, чем i7, потому что они не нагреваются так сильно, как у них меньше потоков.
  • Несколько потоков используют одни и те же ресурсы в ядре. Поэтому производительность не увеличивается вдвое. Напротив, это очень умный метод повышения эффективности и производительности там, где это возможно.

Заключение

Hyper-Threading - старая технология, но она никуда не годится. Поскольку требования к приложениям становятся все более и более требовательными, а уровень смертности от закона Мура растет, возможность распараллеливания рабочих нагрузок помогла значительно повысить производительность. Возможность запускать частично параллельные рабочие нагрузки помогает повысить вашу продуктивность и ускорить выполнение работы без заиканий. А если вы хотите купить лучшую материнскую плату для процессора i7 7-го поколения, обратите внимание на это статья.

#Предварительный просмотримяNVIDIA SLIAMD CrossFireФазы VRMRGBПокупка
1 ASUS Формула 9 10

Проверить цену
2 MSI Arsenal Gaming Intel Z270 10

Проверить цену
3 Производительность MSI Gaming Intel Z270 11

Проверить цену
4 ASRock Игровой K6 Z270 10 + 2

Проверить цену
5 GIGABYTE AORUS GA-Z270X Игры 8 11

Проверить цену
#1
Предварительный просмотр
имяASUS Формула 9
NVIDIA SLI
AMD CrossFire
Фазы VRM10
RGB
Покупка

Проверить цену
#2
Предварительный просмотр
имяMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Фазы VRM10
RGB
Покупка

Проверить цену
#3
Предварительный просмотр
имяПроизводительность MSI Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Фазы VRM11
RGB
Покупка

Проверить цену
#4
Предварительный просмотр
имяASRock Игровой K6 Z270
NVIDIA SLI
AMD CrossFire
Фазы VRM10 + 2
RGB
Покупка

Проверить цену
#5
Предварительный просмотр
имяGIGABYTE AORUS GA-Z270X Игры 8
NVIDIA SLI
AMD CrossFire
Фазы VRM11
RGB
Покупка

Проверить цену

Последнее обновление от 2021.01.05, 22:02 / Партнерские ссылки / Изображения из Amazon Product Advertising API