Предположим, вы подумываете о покупке нового процессора и внезапно вам приходится выбирать между двумя продуктами, которые на бумаге практически одинаковы, но в одном из них есть функция гиперпоточностьи другой нет.
Очевидно, что гиперпоточность — это хорошо, потому что за нее нужно платить дополнительно, но что она дает? И самое главное: должно ли это васволновать? Чтобы ответить на эти животрепещущие вопросы, нам придется сделать небольшой экскурс в то, как процессоры делают свою работу.
Безграничная сила!
Даже если вас не особо интересуют мелкие технические детали компьютерных технологий, вы, вероятно, уже слышали о Закон Мура. На самом деле это не закон природы, а наблюдение о том, что плотность основных компонентов интегральных схем удваивалась каждые два года или около того.
Фактически это означало, что производительность процессора будет удваиваться каждые два года, что представляет собой экспоненциальную скорость улучшения. Если бы самый быстрый автомобиль в мире был вдвое быстрее, чем тот, который появился два года назад, и эта тенденция сохранялась бы десятилетиями, у нас были бы транспортные средства со скоростью научно-фантастических космических кораблей. Так что на самом деле это одна из самых революционных вещей в компьютерных технологиях.
Проблема в том, что производительность процессора определяется не только плотностью его компонентов. Очевидно, важна тактовая частота, то есть сколько полных циклов вычислений он может выполнить за секунду. Если вы возьмете процессор и удвоите его тактовую частоту, он будет работать в два раза лучше. По крайней мере теоретически.
Проблема в том, что независимо от того, насколько быстро работает этот процессор, он может одновременно выполнять только одну задачу. То, что мы воспринимаем как «многозадачность», на самом деле является тем, что процессор быстро переключается между тысячами различных задач. Несколько лет назад мы начали натыкаться на кирпичные стены, когда дело дошло до того, чтобы сделать один процессор все быстрее и быстрее.
Итак, одним из решений было разместить более одного процессора в каждом процессоре, чтобы можно было разделить между ними различные задания. Сегодня четырехъядерные процессоры являются довольно распространенной конфигурацией.
Гиперпоточность(HT) — это название Intel для одновременной многопоточности. По сути, это означает, что одно ядро ЦП может одновременно решать две задачи. Это не означает, что процессор может выполнять вдвое больше работы. Просто он может гарантировать использование всей своей мощности, одновременно решая несколько более простых задач..
Для вашей операционной системы каждое реальное кремниевое ядро ЦП выглядит как два, поэтому оно обеспечивает работу каждого из них, как если бы они были отдельными. Поскольку многих возможностей процессора недостаточно для его максимальной работы, HT позаботится о том, чтобы вы получили от этого процессора максимальную отдачу.
Кого должна волновать гиперпоточность?
Это еще один вопрос, который может быть немного сложным, но на самом деле он довольно прост, если разобраться. Во-первых, давайте выскажем одну вещь о гиперпоточности, которая почти всегда верна. Если вам необходимо выбрать между двумя процессорами, которые могут обрабатывать одинаковое количество потоков, но не имеют одинакового количества ядер, выбирайте процессор с большим количеством физических ядер.
Например, если у вас двухъядерный процессор с поддержкой Hyper-Threading и четырехъядерный процессор без поддержки HT, лучшим выбором будет вариант с четырьмя ядрами. Учитывая, что они близки друг к другу по однопоточной одноядерной производительности. Почему? Потому что четырехъядерный процессор имеет больше аппаратных средств физической обработки.
Настоящая проблема возникает, когда у вас есть два процессора с одинаковыми физическими характеристиками, но один имеет HT, а другой нет. Теперь наш вопрос действительно касается программного обеспечения, которое вы хотите запустить. Если у вас есть программное обеспечение, которое может создавать достаточно потоков для использования потоков HT, вы увидите значительный прирост от выбора ЦП с гиперпоточностью. Просто потому, что никакая вычислительная мощность не теряется зря, и компонент работает почти на полную мощность, поскольку как можно большую часть времени.
Если программное обеспечение, которое вы хотите запустить, не создает достаточного количества потоков для использования виртуальных ядер HT, вы не увидите буквально никакой разницы в производительности.
Традиционно такие операции, как 3D-рендеринг ЦП, кодирование видео и обработка фотографий, создают столько потоков, сколько может выполнить ваш бедный процессор. Другими словами, многие современные профессиональные приложения требовательны к потокам. Вот почему технология Hyperthreading была ограничена процессорами профессионального уровня, такими как i7 и выше.
Обычные приложения, такие как текстовые процессоры и веб-браузеры, не будут работать лучше с гиперпоточностью, даже если они могут создавать больше потоков. Просто потому, что потребности этих приложений, используемых большинством людей, не доставляют проблем даже процессорам начального уровня.
Большой игровой вопрос
Видеоигры – еще одно распространенное приложение..это было довольно равнодушно к Hyperthreading. На момент написания статьи, в 2019 году, новейшие движки видеоигр начинают становиться более многопоточными. Это означает, что процессоры с поддержкой HT будут работать в них лучше. В старых играх вообще не будет никаких преимуществ, за исключением нескольких игр-симуляторов, в которых интенсивно используется искусственный интеллект или другие процессы, ориентированные на процессор.
Значит ли это, что ваш следующий игровой компьютер должен иметь технологию Hyperthreading? Дело в том, что сейчас мы выходим на массовый рынок процессоров, где шести-, восьми- и двенадцатиядерные процессоры являются нормой. Поэтому гораздо лучше иметь больше физических ядер, где это возможно.
Простой ответ
Надеюсь, приведенное выше объяснение было достаточно ясным, но давайте разберем его по сути:
Гиперпоточность — отличная технология, но не всем она стоит дополнительных затрат. Теперь вы должны знать, вы ли этот «кто-то» или нет!
.