Здравствуйте любители компов и железа. Хотели бы вы в своем компьютере иметь высокопроизводительный процессор, молниеносно выполняющий много задач одновременно? Кто бы отказался, верно? Тогда предлагаю вам познакомиться с технологией hyper threading: что это и как действует, вы узнаете из данной статьи.
Объяснение понятия
Hyper-threading переводится с английского как «гиперточность». Такое громкое название технология получила не просто так. Ведь оснащенный ею один физический процессор операционная система принимает за два логических ядра. Следовательно, обрабатывается больше команд, а производительность при этом не падает.
Как такое возможно? Благодаря тому, что процессор:
- Сохраняет информацию сразу о нескольких выполняемых потоках;
- На каждый логический проц приходится по одному набору регистров — блоков быстрой внутренней памяти, а также по одному блоку прерываний. Последний отвечает за последовательное выполнение запросов от разных устройств.
Как это выглядит на деле? Допустим, сейчас физический процессор обрабатывает команды первого логического проца. Но в последнем произошел какой-то сбой, и ему, к примеру, нужно подождать данные из памяти. Физический CPU не будет терять время зря и сразу переключится на второй логический процессор.
О повышении производительности
КПД физического проца, как правило, составляет не более 70 %. Почему? Часто некоторые блоки просто не нужны для осуществления той или иной задачи. К примеру, когда CPU выполняет банальные вычислительные действия, блок инструкций и SIMD расширения не задействованы. Бывает, что происходит сбой в модуле предсказания переходов или при обращении к кэшу.
В подобных ситуациях Hyper-threading заполняет «пробелы» другими задачами. Таким образом, эффективность технологии заключается в том, что полезная работа не простаивает и отдается бездействующим устройствам.
Появление и реализация
Можно считать, что Hyper-threading уже отметила 15-летний юбилей. Ведь она разработана на базе технологии суперпоточности (англ. super-threading), которая выпущена в 2002 году и впервые начала работу в продуктах Xeon, затем в том же году была интегрирована в Pentium 4. Авторское право на эти технологии принадлежит компании Intel.
HT реализована в процессорах, работающих на микроархитектуре NetBurst, которая отличается высокими тактовыми частотами. Поддержка технологии внедрена в модели семейств Core vPro, M и Xeon. Однако в сериях Core 2 («Duo», «Quad») не интегрирована. Схожая по принципу действия технология реализована в процах Atom и Itanium.
Как включить ее? У вас должен быть не только один из вышеперечисленных процессоров, но также поддерживающая технологию операционная система и биос, в котором есть опция включения и выключения HT. Если ее нет, обновите BIOS.
Плюсы и минусы Hyper-threading
О некоторых преимуществах технологии вы уже могли сделать вывод из вышеизложенной информации. Добавлю к ним еще пару слов:
- Стабильное действие нескольких программ параллельно;
- Уменьшенное время отклика в процессе интернет-серфинга или работы с приложениями.
Как вы понимаете, не обошлось и без ложки дегтя. Прироста производительности может не быть по таким причинам:
- Недостаточно кеш-памяти. Например, в 4-ядерных процессорах i7 кэша 8 Мб, но и логических ядер столько же. Получаем всего 1 Мб на ядро, чего для выполнения вычислительных задач большинству программ не хватает. Из-за этого производительность не просто стоит на месте, а даже падает.
- Зависимость данных. Допустим, первый поток незамедлительно требует информацию со второго, но она еще не готова или стоит в очередь в другой поток. Также бывает, что циклическим данным нужны определенные блоки для быстрого выполнения задачи, но они уже заняты другой работой.
- Перегрузка ядра. Случается, что ядро может быть уже чрезмерно нагружено, но, несмотря на это, модуль предсказания все равно посылает ему данные, вследствие чего компьютер начинает тормозить.
Где нужна Hyper-threading?
Технология будет полезна при использовании ресурсоемких программ: аудио- , видео- и фоторедакторов, игр, архиваторов. К ним можно отнести Photoshop, Maya, 3D’s Max, Corel Draw, WinRar и пр.
Важно, чтобы ПО было оптимизировано для работы с Hyper-threading. В противном случае могут возникать задержки. Дело в том, что проги считают логические ядра физическими, поэтому могут посылать разные задачи одному и тому же блоку.
Ждем вас в гостях моего блога.
Удачи друзья.
Комментариев к статье: 3
и что же лучше если проги считают логические ядра физическим... 4 физических с 8ю потоками или 8 физических с 8ю потоками???