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

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

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

Предисловие

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

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

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

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

Функции этих частей следующие

Контроллер памяти и ввода / вывода управляет входом и выходом данных в ЦПУ и из него. Данные переносятся с жесткого диска или SSD в ОЗУ, затем более важные данные заносятся в кэш ЦП. Кеш имеет 3 уровня. Например, Core i7 7700K имеет кэш-память третьего уровня объемом 8 МБ. Этот кеш используется всеми процессорами по 2 МБ на ядро. Отсюда данные выбираются более быстрым кешем L2. Каждое ядро ​​имеет свой собственный кэш 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 i5s имеет 6 ядер и 6 потоков). Все i7 до 7700K — это 4 ядра и 8 потоковых / логических ядер. В контексте архитектуры процессоров Intel потоки и логические ядра — это одно и то же. Они не меняли планировку своей архитектуры с 1-го поколения Nehalem вплоть до сегодняшнего дня с Coffee Lake, поэтому эта информация сохранится. Этой информации будет недостаточно для более старых процессоров AMD, но Ryzen также сильно изменил свою компоновку, и их процессоры теперь похожи по дизайну на Intel.

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

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

Недостатки гиперпоточности

Следующее не является большим количеством недостатков, скорее, это больше неудобств.

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

Заключение

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

#PreviewNameNVIDIA SLIAMD CrossFireVRM PhasesRGBPurchase
1ASUS MAXIMUS IX FORMULAдада10да 82 Отзывы
Проверить цену
2MSI Arsenal Gaming Intel Z270нетда10нет 146 отзывов
Проверить цену
3MSI Performance Gaming Intel Z270дада11да 133 отзыва
Проверить цену
4ASRock Gaming K6 Z270дада10 + 2да 15 Отзывов
Проверить цену
5GIGABYTE AORUS GA-Z270X Gaming 8дада11да 1 Отзыв
Проверить цену
#1
предварительный просмотр
названиеASUS MAXIMUS IX FORMULA
NVIDIA SLIда
AMD CrossFireда
Фазы VRM10
RGBда
покупка 82 Отзывы
Проверить цену
#2
предварительный просмотр
названиеMSI Arsenal Gaming Intel Z270
NVIDIA SLIнет
AMD CrossFireда
Фазы VRM10
RGBнет
покупка 146 отзывов
Проверить цену
#3
предварительный просмотр
названиеMSI Performance Gaming Intel Z270
NVIDIA SLIда
AMD CrossFireда
Фазы VRM11
RGBда
покупка 133 отзыва
Проверить цену
#4
предварительный просмотр
названиеASRock Gaming K6 Z270
NVIDIA SLIда
AMD CrossFireда
Фазы VRM10 + 2
RGBда
покупка 15 Отзывов
Проверить цену
#5
предварительный просмотр
названиеGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLIда
AMD CrossFireда
Фазы VRM11
RGBда
покупка 1 Отзыв
Проверить цену

Последнее обновление 2019-06-26 в 09:22 / Партнерские ссылки / Изображения из Amazon Product Advertising API

Ссылка на основную публикацию
Adblock
detector