Нажмите "Enter", чтобы перейти к содержанию

Intel hyper threading: Технология Intel® Hyper-Threading

Содержание

Технология Intel Hyper-Threading — что это и как работает

Впервые технология Hyper-Threading (HT, гиперпоточность) появилась 15 лет назад — в 2002 году, в процессорах Pentium 4 и Xeon, и с тех пор то появлялась в процессорах Intel (в линейке Core i, некоторых Atom, в последнее время еще и в Pentium), то исчезала (ее поддержки не было в линейках Core 2 Duo и Quad). И за это время она обросла мифическими свойствами — дескать ее наличие чуть ли не удваивает производительность процессора, превращая слабые i3 в мощные i5. При этом другие говорят что HT — обычная маркетинговая уловка, и толку от нее мало. Правда как обычно по середине — местами толк от нее есть, но двухкртаного прироста ждать точно не стоит.

Техническое описание технологии

Начнем с определения, данного на сайте Intel:

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


В общем понятно то, что ничего не понятно — одни общие фразы, однако вкраце технологию они описывают — HT позволяет одному физическому ядру обрабатывать одновременно несколько (обычно два) логических потока. Но как? Процессор, поддерживающий гиперпоточность:

  • может хранить информацию сразу о нескольких выполняющихся потоках;
  • содержит по одному набору регистров (то есть блоков быстрой памяти внутри процессора) и по одному контроллеру прерываний (то есть встроенному блоку процессора, отвечающему за возможность последовательной обработки запросов о наступлении какого-либо события, требующего немедленного внимания, от разных устройств) на каждый логический процессор.
Разберем на простом примере:

Допустим перед процессором стоят две задачи. Если процессор имеет одно ядро, то он будет выполнять их последовательно, если два — то параллельно на двух ядрах, и время выполнения обеих задач будет равно времени, затраченному на более тяжелую задачу.

Но что если процессор одноядерный, но поддерживает гиперпоточность? Как видно на картинке выше при выполнении одной задачи процессор не занят на 100% — какие-то блоки процессора банально не нужны в данной задаче, где-то ошибается модуль предсказания переходов (который нужен для предсказания, будет ли выполнен условный переход в программе), где-то происходит ошибка обращения к кэшу — в общем и целом при выполнении задачи процессор редко бывает занят больше, чем на 70%. А технология HT как раз «подпихивает» незанятым блокам процессора вторую задачу, и получается что одновременно на одном ядре обрабатываются две задачи. Однако удвоения производительности не происходит по понятным причинам — очень часто получается так, что двум задачам нужен один и тот же вычислительный блок в процессоре, и тогда мы видим простой: пока одна задача обрабатывается, выполнение второй на это время просто останавливается (синие квадраты — первая задача, зеленые — вторая, красные — обращение задач к одному и тому же блоку в процессоре):

В итоге время, затраченное процессором с HT на две задачи, оказывается больше времени, требуемого на вычисление самой тяжелой задачи, но меньше того времени, которое нужно для последовательного вычисления обеих задач.

Плюсы и минусы технологии

С учетом того, что кристалл процессора с поддержкой HT физчески больше кристалла процессора без HT в среднем на 5% (именно столько занимают дополнительные блоки регистров и контроллеры прерываний), а поддержка HT позволяет нагрузить процессор на 90-95%, то в сравнении с 70% без HT мы получаем, что прирост в лучшем случае будет 20-30% — цифра достаточно большая.

Однако не все так хорошо: бывает, что прироста производительности от HT нет вообще, и даже бывает так, что HT ухудшает производительность процессора. Это бывает по многим причинам:

  • Нехватка кэш-памяти. К примеру в современных четырехядерных i5 находится 6 мб кэша L3 - по 1.5 мб на ядро. В четырехядерных i7 с HT кэша уже 8 мб, но так как логических ядер 8, то мы получаем уже только 1 мб на ядро — при вычислениях некоторым программам этого объема может не хватать, что приводит к падению производительности.
  • Отсутствие оптимизации ПО. Самая основная проблема — программы считают логические ядра физическими, из-за чего при параллельном выполнении задач на одном ядре часто возникают задержки из-за обращения задач к одному и тому же вычислительному блоку, что в итоге сводит сводит прирост производительности от HT на нет.
  • Зависимость данных. Вытекает из предыдущего пункта — для выполнения одной задачи требуется результат другой, а она еще не выполнена. И опять же мы получаем простой, снижение загрузки на процессор и небольшой прирост от HT.
Программы, умеющие работать с гиперпоточностью

Таких много, ибо для вычислений HT это манна небесная — тепловыделение практически не растет, процессор особо больше не становится, а при правильной оптимизации можно получить прирост до 30%. Поэтому ее поддержку быстро внедрили в те программы, где легко можно сделать распараллеливание нагрузки — в архиваторы (WinRar), программы для 2D/3D моделирования (3ds Max, Maya), программы для обрабокти фото и видео (Sony Vegas, Photoshop, Corel Draw).

Программы, плохо работающие с гиперпоточностью

Традиционно это большинство игр — их обычно бывает трудно грамотно распараллелить, поэтому зачастую четырех физических ядер на высоких частотах (i5 K-серии) более чем хватает для игр, распараллелить которые под 8 логических ядер в i7 оказывается непосильной задачей.

Однако стоит учитывать и то, что есть фоновые процессы, и если процессор не поддерживает HT, то их обработка ложится на физические ядра, что может замедлить игру. Тут i7 с HT оказывается в выигрыше — все фоновые задачи традиционно имеют пониженный приоритет, поэтому при одновременной работе на одном физическом ядре игры и фоновой задаче игра будет получать повышенный приоритет, и при этом фоновая задача не будет «отвлекать» занятые игрой ядра — именно поэтому для стриминга или записи игр лучше брать i7 с гиперпоточностью.

Итоги

Пожалуй тут остается только один вопрос — так имеет ли смысл брать процессоры с HT или нет? Если вы любите держать одновременно открытыми пяток программ и при этом играть в игры, или же занимаетесь обработкой фото, видео или моделированием — да, разумеется стоит брать. А если вы привыкли перед запуском тяжелой программы закрывать все другие, и не балуетесь обработкой или моделированием, то процессор с HT вам ни к чему.

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

Hyper-Threading (hyper threading, ‘хайпер тридинг’, гипер поточность — рус.) — технология разработанная компанией Intel, позволяющая ядру процессора исполнять больше потоков данных чем один (обычно два). Так как было выяснено, что обычный процессор в большинстве задач использует не более 70% всей вычислительной мощности, было решено использовать технологию, позволяющую при простое определённых вычислительных блоков — нагрузить их работой с другим потоком. Это позволяет увеличить производительность ядра

от 10 до 80% в зависимости от задачи.

 

Представление, как Hyper-Threading работает.

Допустим процессор выполняет простые вычисления и при этом простаивает блок инструкций и SIMD расширения.

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

Естественно, виртуальный поток никак не дотягивает до полноценного ядра, но это позволяет добиться практически 100% эффективности вычислительной мощности, загрузив практически весь процессор работой, не давая ему простаивать. При всём при этом, для реализации технологии HT требуется всего около 5% дополнительного места на кристалле, а производительность иногда может добавиться на

50%. В эту дополнительную область входят дополнительные блоки регистров и предсказания ветвлений, которые потоково вычисляют, где можно использоваться вычислительные мощности в данный момент и отправляют туда данные из дополнительного блока адресации.

Впервые, технология появилась на процессорах Pentium 4, но большого прироста производительности не получилось, так как сам процессор не обладал высокой вычислительной мощностью. Прирост составлял в лучшем случае 15-20%, да и во многих задачах процессор работал значительно медленнее чем без HT.

Замедление работы процессора из-за технологии Hyper Threading, происходит если:

  • Недостаточно кэша для всех данный и он циклически перезагружается, тормозя работу процессора.
  • Данные не могут быть правильно обработаны блоком предсказания ветвления. Происходит в основном из-за отсутствия оптимизации под определённое ПО или поддержки со стороны операционной системы.
  • Также может происходить из-за зависимости данных, когда к примеру, первый поток требует немедленных данных со второго, а они ещё не готовы, либо стоят на очереди в другой поток. Либо циклическим данным требуются определённые блоки для быстрой обработки, а они нагружаются другими данными. Вариаций зависимости данных может быть много.
  • Если ядро и так сильно нагружено, а «недостаточно умный» модуль предсказания ветвлений всё равно посылает данные, которые тормозят работу процессора (актуально для Pentium 4).

 

После Pentium 4, Intel начала использовать технологию только начиная с Core i7 первого поколения, пропустив серию Core 2.

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

Core i (i3; i5; i7) и на мобильных процессорах Atom (не на всех). Что интересно, двухъядерные процессоры с HT, получают больший выигрыш в производительности, чем четырёх ядерные от использования Hyper-Threading, становясь на 75% полноценными четырёх ядерными.

 

Где полезна технология HyperThreading?

Полезна она будет для использования вкупе с профессиональными, графическими, аналитическими, математическими и научными программами, видео и аудио редакторами, архиваторами (Photoshop, Corel Draw, Maya, 3D’s Max, WinRar, Sony Vegas & etc). Всем программам в которых используется большое количество вычислений, HT будет однозначно полезна полезна. Благо, в 90% случаев, такие программы неплохо оптимизированы для её использования.

HyperThreading незаменим для серверных систем. Собственно для этой ниши он частично и разрабатывался. Благодаря

HT, можно значительно увеличить отдачу от работы процессора при наличии большого числа задач. Каждый поток, будет разгружен вполовину, что благотворно сказывается на адресации данных и предсказании ветвлений.

Многие компьютерные игры, отрицательно относятся к наличию Hyper-Threading, из за чего снижается количество кадров в секунду. Связано это с отсутствием оптимизации под Hyper-Threading со стороны игры. Одной оптимизации со стороны операционной системы не всегда бывает достаточно, особенно при работе с необычными, разнотипными и сложными данными.

На материнских платах, которые поддерживают HT, в BIOS всегда можно отключить технологию гиперпоточности.

Еще раз о Hyper Threading

"…И мы горды — и враг наш горд
Рука, забудь о лени. Посмотрим,
кто у чьих ботфорт в конце
концов склонит свои колени…"
© х/ф "Д'артаньян и три мушкетера"

Некоторое время назад автор позволил себе "слегка поворчать" по поводу новой парадигмы от Intel — Hyper Threading. К чести корпорации Intel, недоумение автора не осталось ею незамеченной. А посему автору предложили помощь в выяснении (как деликатно дали оценку менеджеры корпорации) "настоящей" ситуации с технологией Hyper Threading. Ну что же — желание выяснить истину можно только похвалить. Не так ли, уважаемый читатель? По крайней мере, именно так звучит одна из прописных истин: правда — это хорошо. Что ж, будем стараться действовать в соответствии с данной фразой. Тем более, что действительно появилось некоторое количество новых сведений.

Для начала сформулируем, что же именно мы знаем про технологию Hyper Threading:

1. Данная технология предназначена для увеличения эффективности работы процессора. Дело в том, что, по оценкам Intel, большую часть времени работает всего 30% (кстати, достаточно спорная цифра — подробности ее вычисления неизвестны) всех исполнительных устройств в процессоре. Согласитесь, это достаточно обидно. И то, что возникла идея каким-то образом "догрузить" остальные 70% — выглядит вполне логично (тем более что сам по себе процессор Pentium 4, в котором и внедрят эту технологию, отнюдь не страдает от избыточной производительности на мегагерц). Так что эту идею автор вынужден признать вполне здравой.

2. Суть технологии Hyper Threading состоит в том, что во время исполнения одной "нити" программы простаивающие исполнительные устройства могут заняться исполнением другой "нити" программы (или "нити" другой программы). Или, например, исполняя одну последовательность команд, ожидать данных из памяти для исполнения другой последовательности.

3. Естественно, выполняя различные "нити", процессор должен каким-либо образом отличать, какие команды к какой "нити" относятся. Значит, есть какой-то механизм (некая метка), благодаря которой процессор отличает, к какой "нити" относятся команды.

4. Ясно также, что, учитывая небольшое количество регистров общего назначения в архитектуре х86 (всего 8), у каждой нити свой набор регистров. Впрочем, это уже давно не новость — данное ограничение архитектуры уже довольно давно обходится при помощи "переименования регистров". Другими словами, физических регистров намного больше, чем логических. В процессоре Pentium III их 40. Наверняка это число для Pentium 4 больше — у автора есть ничем не обоснованное (кроме соображений "симметрии" 🙂 мнение, что их порядка сотни. Никаких достоверных сведений об их количестве найти не удалось. По неподтвержденным пока данным, их 256. По другим данным — другое число. В общем, полная неопределенность…. Кстати, позиция Intel по этому поводу совершенно непонятна 🙁 — автору непонятно, чем вызвана подобная секретность.

5. Также известно, что в случае, когда несколько "нитей" претендуют на одни и те же ресурсы, либо одна из "нитей" ждет данных — во избежание падения производительности программисту необходимо вставлять специальную команду — "pause". Естественно, это потребует очередной перекомпиляции программ.

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

7. Intel утверждает, что при оптимизации программ под данную технологию выигрыш будет составлять до 30%. (Вернее, Intel утверждает, что на сегодняшних серверных приложениях и сегодняшних системах измеренный выигрыш до 30%) Гм…. Это более чем достаточный стимул для оптимизации.

Ну что же, некоторые особенности мы сформулировали. Теперь давайте попробуем обдумать некоторые следствия (по возможности опираясь на известные нам сведения). Что же можно сказать? Ну, во-первых, необходимо тщательнее разобраться, что же именно нам предлагают. Так ли "бесплатен" этот сыр? Для начала разберемся, как именно будет происходить "одновременная" обработка нескольких "нитей". Кстати, что подразумевает корпорация Intel под словом "нить"?

У автора сложилось впечатление (возможно, ошибочное), что в данном случае имеется ввиду программный фрагмент, который мультизадачная операционная система назначает на исполнение одному из процессоров мультипроцессорной аппаратной системы. "Постойте!" — заявит внимательный читатель — "это же одно из определений! Что тут нового?". А ничего — в данном вопросе автор на оригинальность не претендует. Разобраться бы, что "наоригинальничала" Intel :-). Ну что же — примем в качестве рабочей гипотезы.

Далее — исполняется некоторая нить. Тем временем декодер команд (кстати, полностью асинхронный и не входящий в пресловутые 20 стадий Net Burst) осуществляет выборку и дешифрацию (со всеми взаимозависимостями) в микроинструкции. Здесь надо пояснить, что автор подразумевает под словом "асинхронный" — дело в том, что результат "разваливания" х86 команд в микроинструкции происходит в блоке дешифрации. Каждая команда х86 может быть декодирована в одну, две, или более микроинструкций. При этом на стадии обработки выясняются взаимозависимости, доставляются необходимые данные по системной шине. Соответственно, скорость работы этого блока часто будет зависеть от скорости доступа данных из памяти — и в худшем случае определяется именно ею. Было бы логично "отвязать" его от того конвейера, в котором, собственно, и происходит выполнение микроопераций. Это было сделано путем помещения блока дешифрации перед trace cache. Чего мы этим добиваемся? А добиваемся мы при помощи такой "перестановки блоков" местами простой вещи — если в trace cache есть микроинструкции для исполнения — процессор работает более эффективно. Естественно, этот блок работает на частоте процессора — в отличие от Rapid Engine. Кстати, у автора сложилось впечатление, что данный декодер представляет собой нечто вроде конвейера длиной до 10–15 стадий. Таким образом, от выборки данных из кэша до получения результата проходит, по всей видимости, порядка 30 — 35 стадий (включая конвейер Net Burst, см. Microdesign Resources August2000 Microprocessor report Volume14 Archive8, page12).

Полученный набор микроинструкций вместе со всеми взаимозависимостями накапливается в trace cache — в том самом, который приблизительно 12 000 микроопераций. По приблизительным оценкам источник такой оценки — строение микроинструкции P6; дело в том, что принципиально длина инструкций вряд ли кардинально поменялась (считая длину микроинструкции вместе со служебными полями порядка 100 бит) размер trace cache получается от 96 КБ до 120 КБ!!! Однако! На фоне этого кэш данных размером 8 КБ выглядит как-то несимметрично :-)… и бледно. Конечно, при увеличении размера увеличиваются задержки доступа (к примеру, при увеличении до 32КБ задержки вместо двух тактов составят 4). Но неужели так важна скорость доступа в этот самый кэш данных, что увеличение задержки на 2 такта (на фоне общей длины всего конвейера) делает такое увеличение объема невыгодным? Или дело просто в нежелании увеличивать размер кристалла? Но тогда при переходе на 0. 13 мкм первым делом стоило увеличить именно этот кэш (а не кэш второго уровня). Сомневающимся в данном тезисе стоило бы припомнить переход с Pentium на Pentium MMX — благодаря увеличению кэша первого уровня вдвое практически все программы получали 10 — 15% прироста производительности. Что же говорить об увеличении вчетверо (особенно учитывая, что скорости процессоров выросли до 2ГГц, а коэффициент умножения — с 2.5 до 20)? По неподтвержденным данным, в следующей модификации ядра Pentium4 (Prescott) кэш первого уровня таки увеличат до 16 или 32 КБ. Также увеличится кэш второго уровня. Впрочем, на сегодняшний момент все это не более чем слухи. Откровенно говоря, слегка непонятная ситуация. Хотя — оговоримся — автор вполне допускает, что подобной идее мешает некая конкретная причина. Как пример — подойдут некие требования по геометрии расположения блоков или банальная нехватка свободного места вблизи конвейера (ясно ведь, что необходимо расположить кэш данных поближе к ALU).

Не отвлекаясь, смотрим на процесс дальше. Конвейер работает — пусть нынешние команды задействуют ALU. Ясно, что FPU, SSE, SSE2 и прочие при этом простаивают. Не тут-то было — вступает в действие Hyper Threading. Заметив, что готовы микроинструкции вместе с данными для новой нити, блок переименования регистров выделяет новой нити порцию физических регистров. Кстати, возможны два варианта — блок физических регистров общий для всех нитей, или же отдельный для каждого. Судя по тому, что в презентации Hyper Threading от Intel в качестве блоков, которые надо изменять, блок переименования регистров не указан — выбран первый вариант. Это хорошо или плохо? С точки зрения технологов — явно хорошо, ибо экономит транзисторы. С точки зрения программистов — пока неясно. Если количество физических регистров действительно 128, то при любом разумном количестве нитей ситуации "нехватка регистров" возникнуть не может. Затем они (микроинструкции) отправляются в планировщик, который, собственно, направляет их на исполнительное устройство (если оно не занято) или "в очередь", если данное исполнительное устройство сейчас недоступно. Таким образом, в идеале достигается более эффективное спользование имеющихся исполнительных устройств. В это время сам процессор с точки зрения ОС выглядит как два "логических" процессора. Гм… Неужели все так безоблачно? Давайте присмотримся к ситуации: часть оборудования (как-то кэши, Rapid Engine, модуль предсказания переходов) являются общими для обоих процессоров. Кстати, точность предсказания переходов от этого, скорее всего, слегка пострадает. Особенно, если исполняемые одновременно нити не связаны друг с другом. А часть (например, MIS [Microcode Instruction Sequencer] — планировщик последовательности микрокоманд — подобие ПЗУ, содержащее набор заранее запрограммированных последовательностей обычных операций и RAT [Register Alias Table] — таблица переименования [псевдонимов] регистров) блоков должна отличать различные нити, запущенные на "разных" процессорах. Попутно (из общности кэша) следует, что, если две нити являются "жадными" к кэшу (то есть увеличение кэша дает большой эффект), то применение Hyper Threading способно даже снизить скорость. Это происходит потому, что на сегодняшний момент реализован "конкурентный" механизм борьбы за кэш — "активная" в данный момент нить вытесняет "неактивную". Впрочем, механизм кэширования, по-видимому, может измениться. Также понятно, что скорость (по крайней мере, на текущий момент) будет снижаться в тех приложениях, в которых она снижалась и в честном SMP. Как пример — SPEC ViewPerf обычно на однопроцессорных системах показывает более высокие результаты. А посему наверняка на системе с Hyper Threading результаты будут меньше, чем без нее. Собственно, результаты практического тестирования Hyper Threading можно посмотреть по этому адресу.

Кстати, в интернет проскакивала информация о том, что ALU в Pentium 4 16 разрядные. Сначала автор относился к подобной информации весьма скептически — дескать, чего завистники удумали :-). А потом публикация подобной информации в Micro Design Report заставила таки задуматься — а вдруг правда? И, хотя информация об этом к теме статьи прямого отношения не имеет - трудно удержаться :-). Насколько автору "хватило понимания", суть в том, что ALU действительно 16-разрядный. Подчеркиваю — только ALU. К разрядности самого процессора это отношения не имеет. Таким образом, за полтакта (это называется тик, tick) ALU (удвоенной частоты, как Вы помните) вычисляет только 16 разрядов. Вторые 16 вычисляются за следующие полтакта. Отсюда, кстати, легко понятна необходимость сделать ALU вдвое быстрее — это необходимо для своевременного "перемалывания" данных. Таким образом, полных 32 разряда вычисляются за полный такт. На самом деле, по-видимому, необходимы 2 такта из-за необходимости "склеивать" и "расклеивать" разряды — но этот вопрос необходимо уточнить. Собственно, раскопки (про которые можно написать отдельную поэму) дали следующее: каждое ALU поделено на 2 16-разрядные половинки. Первые полтакта первая половинка обрабатывает 16 разрядов двух чисел и формируют биты переносов для вторых половинок. Вторая половинка в это время заканчивает обработку предыдущих чисел. Второй тик — первая половинка ALU обрабатывает 16 разрядов от следующей пары чисел и формирует их переносы. Вторая половинка обрабатывает старшие 16 разрядов первой пары чисел и получает готовый 32-разрядный результат. Задержка получения 1 результата — 1 такт, но потом каждые полтакта вылезает по 1 32-разрядному результату. Достаточно остроумно и эффективно. Почему же была выбрана именно такая модель ALU? По видимому, подобной организацией Intel убивает несколько "зайцев":

1. Ясно, что конвейер "шириной" 16 разрядов разгонять легче, чем шириной 32 разряда — просто по причине наличия перекрестных помех и Ко

2. По-видимому, Интел счел операции целочисленного вычисления достаточно часто встречающимися, чтобы ускорять именно ALU, а не, скажем, FPU. Вероятно, при вычислении результатов целочисленных операций используются либо таблицы, либо схемы "с накоплением переноса". Для сравнения, одна 32-битная таблица это 2E32 адресов, т.е. 4гигабайта. Две 16-разрядные таблицы это 2х64кб или 128 килобайт — почувствуйте разницу! Да и накопление переносов в двух 16-разрядных порциях происходит быстрее, чем в одной 32-разрядной.

3. Экономит транзисторы и… тепло. Ведь ни для кого не секрет, что все эти архитектурные ухищрения греются. По видимому, это была достаточно большая (а, возможно, и главная) проблема — чего стоит, к примеру, Thermal Monitor как технология! Ведь необходимости в подобной технологии как таковой не очень много — то есть, конечно, приятно, что она есть. Но давайте говорить честно — простой блокировки хватило бы для достаточной надежности. Раз такая сложная технология была предусмотрена — значит, всерьез рассматривался вариант, когда подобные изменения частоты на ходу были одним из штатных режимов работы. А, может, основным? Ведь не зря ходили слухи, что Pentium 4 задумывался с гораздо большим количеством исполнительных устройств. Тогда проблема тепла должна была стать просто основной. Вернее, по тем же слухам, тепловыделение должно было составить до 150 Вт. А тогда очень логично принять меры к тому, чтобы процессор работал "в полную силу" только в таких системах, где обеспечено нормальное охлаждение. Тем более, что большинство корпусов "китайского" происхождения продуманностью конструкции с точки зрения охлаждения отнюдь не блещут. Гм…. Далековато забрались 🙂

Но все это теоретизирования. Есть ли сегодня процессоры, в которых применяется эта технология? Есть. Это Xeon (Prestonia) и XeonMP. Причем, интересно, что XeonМР от Xeon отличается поддержкой до 4 процессоров (чипсеты типа IBM Summit поддерживают до 16 процессоров, методика приблизительно такая же, как и в чипсете ProFusion) и наличием кэша третьего уровня объемом 512 КБ и 1 МБ, интегрированного в ядро. Кстати, а почему интегрировали кэш именно третьего уровня? Почему не увеличен кэш первого уровня? Должна же быть какая-то разумная причина…. Почему не увеличили кэш второго уровня? Возможно, причина в том, что Advanced Transfer Cache нуждается в относительно небольших задержках. А увеличение объема кэша приводит к увеличению задержек. Посему кэш третьего уровня для ядра и кэша второго уровня вообще «представляется» как шина. Просто шина :-). Так что прогресс налицо — сделано все, чтобы данные подавались в ядро как можно быстрее (а, попутно, поменьше загружалась шина памяти).

Ну что же — получается, никаких особо узких мест и нет? Что же автор, так и не сможет "поворчать"? Один процессор - а ОС видит два. Хорошо! Два процессора — а ОС видит 4! Кррасота! Стоп! А какая это ОС у нас работает с 4-мя процессорами? Операционные системы от Микрософт, которые понимают больше двух процессоров, стоят совсем других денег. Например, 2000 Professional, XP Professional, NT4.0 понимают только два процессора. А, учитывая, что пока что данная технология предназначается на рынок рабочих станций (и серверов) и есть только в соответствующих процессорах - получается просто чертовски обидно. На сегодня мы можем использовать процессора с такой технологией, только купив двухпроцессорную плату и поставив один процессор. Чем дальше, тем "страньше", как говаривала Алиса в стране чудес…. То есть, человек, жаждущий использовать данную технологию, просто вынужден покупать версии Server и Advanced Server нынешних операционных систем. Ох, и дороговат выходит "бесплатный" процессор…. Стоит добавить, пожалуй, что в настоящий момент Intel активно "общается" с Microsoft, пытаясь привязать политику лицензирования к физическому процессору. По крайней мере, согласно документу, новые операционные системы от Microsoft будут лицензироваться по физическим процессорам. По крайней мере, WindowsXP лицензируется именно по количеству физических процессоров.

Естественно, всегда можно обратиться к операционным системам других производителей. Да только будем откровенными — это не очень хороший выход из текущей ситуации…. Так что можно понять колебания Интел, которая довольно долго думала — использовать эту технологию, или нет.

Ну что же — не забываем достаточно важный вывод: применение Hyper Threading способно привести как к выигрышу, так и к проигрышу в производительности. Ну а поскольку проигрыш нами уже обсужден — попробуем понять, что же необходимо для выигрыша: а для выигрыша необходимо, чтобы об этой технологии знали:

  1. BIOS материнской платы
  2. Операционная система (!!!)
  3. Собственно, само приложение

Вот на этом моменте позвольте остановиться поподробнее — дело в том, что за BIOS дело не станет. Операционную систему мы обсудили чуть ранее. А вот в те нити, которые, например, ожидают данных из памяти — придется вводить специальную команду pause, чтобы не замедлять работу процессора; ведь при отсутствии данных нить способна блокировать те или иные исполнительные устройства. А чтобы вставить эту команду, приложения придется перекомпилировать — это не есть хорошо, но, с легкой руки Intel, к этому в последнее время все стали привыкать :-). Таким образом, основной (по мнению автора) недостаток технологии Hyper Threading — это необходимость очередной компиляции. Основное преимущество такого подхода - подобная перекомпиляция попутно (и, скорее всего, более заметно 🙂 подымет производительность в "честных" двухпроцессорных системах — а это можно только приветствовать. Кстати, уже есть экспериментальные данные, которые подтверждают, что в большинстве случаев программы, оптимизированные под SMP, выигрывают от Hyper Threading от 15% до 18%. Это весьма неплохо. Кстати, там же можно увидеть, в каких случаях Hyper Threading приводит к падению производительности.

И напоследок давайте попробуем пофантазировать, что же может измениться (улучшиться) в дальнейшем развитии этой идеи. Достаточно очевидно, что развитие данной технологии будет прямо связано с развитием ядра Pentium 4. Таким образом, представим себе потенциальные изменения в ядре. Что там у нас дальше по плану? 0.09 микронная технология, более известная как 90нм…. Автор склонен считать (на сегодняшний момент), что развитие данного семейства процессоров пойдет сразу по нескольким направлениям:

  • Благодаря более "тонкому" техпроцессу частота процессора станет еще выше.
  • Будем надеяться, что кэш данных увеличат. Хотя бы до 32КБ.
  • Сделают "честное", 32 разрядное ALU. Это должно поднять производительность.
  • Увеличат скорость системной шины (впрочем, это уже в ближайших планах).
  • Сделают двухканальную DDR память (опять же, ждать осталось относительно недолго).
  • Возможно, введут аналог технологии х86-64, если данная технология (усилиями AMD) приживется. При этом автор изо всех сил надеется, что этот аналог будет совместимым с х86-64. Хватит уже плодить несовместимых друг с другом расширений…. Опять же, небезынтересным для нас будет интервью Джерри Сандерса, в котором тот заявил, что AMD и Intel в прошлом году договорились о кросс-лицензировании на все, кроме системной шины Pentium4. Значит ли это, что Intel встроит х86-64 в следующее ядро Pentium4 (Prescott), а AMD встроит в свои процессора Hyper Threading? Вопрос интересный….
  • Возможно, будет увеличено количество исполнительных устройств. Правда, как и предыдущий, это достаточно спорный пункт, поскольку требует практически полного перепроектирования ядра — а это долгий и трудоемкий процесс.

Интересно, будет ли развиваться идея Hyper Threading? Дело в том, что в количественном отношении ей развиваться особо некуда — понятно, что два физических процессора лучше трех логических. Да и позиционировать будет нелегко…. Интересно, что Hyper Threading может пригодиться и при интегрировании двух (или более) процессоров на кристалл. Ну а под качественными изменениями автор имеет ввиду, что наличие такой технологии в обычных десктопах приведет к тому, что фактически большинство пользователей будут работать на [почти] двухпроцессорных машинах — что очень хорошо. Хорошо потому, что подобные машины работают не в пример "плавнее" и "отзывчивее" на действия пользователя даже под большой нагрузкой. Сие, с точки зрения автора, есть весьма хорошо.

Вместо послесловия

Автор должен признаться, что в течение работы над статьей его отношение к Hyper Threading неоднократно менялось. По мере того, как собиралась и обрабатывалась информация — отношение становилось то в целом положительным, то наоборот :-). На сегодняшний момент можно написать следующее:

есть только два способа повышать производительность — повышать частоту, и повышать производительность за такт. И, если вся архитектура Pentium4 рассчитана на первый путь, то Hyper Threading — как раз второй. Уже с этой точки зрения ее можно только приветствовать. Так же Hyper Threading несет несколько интересных следствий, как-то: изменение парадигмы программирования, привнесение многопроцессорности в массы, увеличение производительности процессоров. Однако, на этом пути есть несколько "больших кочек", на которых важно не "застрять": отсутствие нормальной поддержки со стороны операционных систем и, самое главное, необходимость перекомпиляции (а в некоторых случаях и смены алгоритма) приложений, чтобы они в полной мере смогли воспользоваться преимуществами Hyper Threading. К тому же, наличие Hyper Threading сделало бы возможной действительно параллельную работу операционной системы и приложений — а не "кусками" по очереди, как сейчас. Конечно, при условии, что хватит свободных исполнительных устройств.

Автор хотел подчеркнуть бы свою признательность Максиму Леню (aka C.A.R.C.A.S.S.) и Илье Вайцману (aka Stranger_NN) за неоднократную и неоценимую помощь при написании статьи.
Также хотелось бы сказать спасибо всем участникам форума, которые неоднократно высказывали ценные замечания.

Про Intel Hyper-Threading и производительность виртуальных машин / Хабр

Всегда относился к Intel Hyper-Threading как к маркетинговому продукту. Но недавно я взглянул на эту технологию под другим углом.

Настал момент, когда лицензия vSphere Standart позволила создавать и запускать виртуальные машины с количеством виртуальных процессоров равных 8. О том, чем это грозит в случае установленного процессора с 4-мя физическими ядрами и поддержкой Hyper-Threading, читайте дальше.

Думаю, данный материал нужно рассматривать как продолжение моих попыток ускорить работу терминального сервера, про это я писал тут.

Про Hyper-Threading

Принцип действия Hyper-Threading основывается на том, что в каждый момент времени только часть ресурсов процессора используется при выполнении программного кода. Неиспользуемые ресурсы также можно загрузить работой — например, задействовать для параллельного выполнения еще одного приложения либо другого потока этого же приложения.

Следуя слогану Intel «Чем больше задач, тем выше эффективность работы», чтобы увидеть результат я буду запускать в разных сессиях на терминальном сервере просмотр фильмов. Чем больше я смогу запустить фильмов, тем лучше; снижение нагрузки на процессор также приветствуется.

На VM, подготовленную для тестирования, установлена ОС ws2008 R2 Standart. На момент тестирования были установлены все обновления. Для воспроизведения роликов установлен кодек и плеер DIVX.

Тестовый стенд собран из сервера HP ML350 G6 c процессором Intel Xeon E5620 1шт.

E5620 Specifications

Launch Date Q1'10
of Cores 4
of Threads 8
Base Frequency 2.4 GHz

Начну с результатов ESXi

На сервер установлена версия ESXi сервера 5.1-1483097.

Про логику работы ESXi + Hyperthreading на Хабре опубликован интересный материал «Оптимизация работы виртуальной инфраструктуры на базе VMWare vSphere», рекомендую к ознакомлению.

Несколько экспериментов с размерами vcpu, технология intel HT активна, воспроизводился тестовый ролик с качеством 480p.

Как видно из результатов, при использовании 8 потоков на терминальном сервере удалось запустить еще одну копию фильма и получить средний прирост в 20%. А вот разница между виртуальными процессорами и виртуальными ядрами в случае одного физического процессором незаметна.

Нагрузку я фиксировал с VM, если фиксировать с хоста — цифры будут другими, по какой-то причине хост сервер фиксирует отличный от VM результат. Вот как это выглядит при работе реальных пользователей:

В следующих тестах я буду выключать HT в биосе и воспроизводить ролики с качеством 480р, 720р и 1080р.

Результаты Hyper-V 2012

На сервер установлена ОС ws2012 R2 Standart и установлены все обновления на момент тестирования.

Тестовая VM портировалась с платформы VMware на платформу Microsoft.

Показания производительности снимались с хоста:

Результаты Hyper-V 2008

На сервер установлена ОС ws2008 R2 Standart и установлены все обновления на момент тестирования.

Показания производительности снимались с хоста, однако платформа Hyper-V 2008 с активным HT не позволила создать VM с 8 vcpu, в связи с чем получены странные результаты.

После того как, я не смог запустить VM в конфигурации 8 vcpu решил проверить работу Hyper-V 2008 в связке с VDI. Были созданы несколько VM с ОС Windows 7 x86, все обновления установлены.

Результаты для 4 vcpu per VM:

Результаты для 2 vcpu per VM:

Конфигурация с 2 vcpu per VM показала результат лучше, очень заметно для ролика 1080р.

Результаты физического сервера ws2008 R2

Эти данные будут использоваться как эталонные:

Сравнения всех платформ

Для сравнения буду использовать результаты, полученные для видео 480р:

Можно сделать следующие выводы:

Использование HT дает результат, который можно заметить в много поточных задачах. Пользу HT в задачах более «узких» нужно проверять.

В проведенных тестах явного лидера между платформами нет. А обладателям лицензий ws2008, которые используются для Hyper-V, стоит задуматься про апдейт, если есть необходимость использовать большие VM.

Получить результат максимально приближенный к ФС позволит инфраструктура VDI.
Думаю, данный результат обеспечил кодек RemoteFX 8.

Hyper-Threading Technology, Hyper-Threading Function, CPU Hyper-Threading

Другие идентичные по назначению опции: Hyper-Threading Function, CPU Hyper-Threading.

Опция BIOS Hyper-Threading Technology позволяет включить или выключить в BIOS поддержку одноименной технологии Intel, применяющейся в современных процессорах и рассмотренной более детально нами в статье о влиянии технологии Hyper Threading на производительность ПК. Пользователь может выбрать всего два варианта опции – Enabled (Включить) или Disabled (Выключить).

Содержание статьи

Принцип работы

Технология Hyper-Threading была разработана компанией Intel  в начале 2000-х гг. и впервые стала использоваться в процессорах линейки Pentium – сначала в процессорах серии Xeon, а затем в Pentium 4. Ее внедрение позволило повысить эффективность работы центрального процессора.

Суть технологии Hyper-Threading заключается в следующем. Как известно, функции центрального процессора заключаются в последовательной обработке ряда инструкций. Эта обработка осуществляется при помощи исполнительных устройств, входящих в состав ядра процессора. Однако часто бывает так, что в ходе выполнения инструкций ряд исполнительных устройств (до 70%, согласно данным Intel) простаивает. Чтобы уменьшить потери времени,  связанные с ожиданием необходимых устройств, и была предложена идея задействовать простаивающие устройства в обработке параллельного набора инструкций. Технология Hyper-Threading позволила распределить инструкции, выполняемые процессором, на два потока и повысить эффективность  обработки инструкций при помощи исполнительных устройств.

Благодаря этому нововведению процессор был разделен на так называемые «логические» ядра, которые могут восприниматься операционной системой, как физические. Каждое логическое ядро имеет свои собственные контроллер прерываний APIC и набор регистров, однако остальные элементы ядра при этом остаются общими. Логические ядра процессора не дают столь же большого прироста производительности, как и физические, но все же он может составлять до 30 %, при увеличении общей площади микросхемы процессора всего лишь на 5%.

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

Для работы технологии Hyper-Threading  требуется не только ее поддержка со стороны процессора, но также и поддержка со стороны программного обеспечения, в том числе и операционных систем. Поддержка технологии в ограниченном объеме появилась в Windows 2000, а в последующих ОС Windows она была реализована в полном объеме.

Кроме того, необходимо, чтобы поддержка технологии была включена в BIOS. Для этой цели в BIOS многих производителей и существует опция Hyper-Threading Technology. Выбор варианта Enabled позволяет пользователю включить поддержку технологии, а Disabled – выключить. Иногда данная опция может носить название Hyper-Threading Function или CPU Hyper-Threading.

Стоит ли включать?

Ответ на этот вопрос зависит, прежде всего, от того, какая операционная система установлена на вашем компьютере. Если это Windows 2000,  XP, Vista, 7 и 8, то есть, ОС, поддерживающая технологию Hyper-Threading, то опцию необходимо включить, чтобы  ОС поддерживала бы возможности, предоставляемые  Hyper-Threading. Если же у вас установлена более ранняя операционная система, не поддерживающая технологию, то ее поддержку в BIOS стоит выключить.

Следует обратить внимание на то, что необходимое значение опции следует устанавливать в BIOS до начала установки операционной системы. Поскольку в Windows 2000 встроена лишь ограниченная поддержка технологии, то многие программы, использующие Hyper-Threading, в этой ОС могут работать с ошибками. Если такое происходит, то поддержку технологии в BIOS также лучше всего выключить.

Порекомендуйте Друзьям статью:

Что представляет собой технология Intel Hyper-Threading и как определить, имеется ли на моем компьютере Dell и как его включать или отключать? Статья базы знаний 129317

Симптомы

Что представляет собой технология Hyper-Threading Eyefinity?

Для использования технологии HT необходима операционная система, оптимизированная для использования технологии HT. Операционная система Microsoft Windows XP оптимизирована для использования преимуществ технологии HT.

Хотя многие программы могут использовать преимущества технологии HT, некоторые программные программы не оптимизированы для использования технологии HT. Некоторые программы могут привести к более медленной работе компьютера с включенной технологией HT в программе настройки системы. Обратитесь к производителю программного обеспечения для получения обновлений и сведений, касающихся использования программного обеспечения с технологией HT.

Причина

Как определить, использует ли технология Hyper-Threading?

Чтобы определить, используется ли технология Hyper-Threading (HT), необходимо выполнить два действия.

  • Определение количества физических процессоров в компьютере
  • Как определить, использует ли компьютер технологию HT?

Определение количества физических процессоров в компьютере

Чтобы определить количество физических процессоров в компьютере, выполните следующие действия.

Примечание. Компьютеры с процессором Pentium 4 имеют не более одного физического процессора в компьютере.

  1. Нажмите кнопку Пуск.

  2. Нажмите правой кнопкой мыши Мой компьютер.

  3. Нажмите Свойствалевой кнопкой мыши.

  4. Убедитесь в наличии процессора Intel Pentium 4 под заголовком компьютера .

Разрешение

Как определить, использует ли компьютер технологию HT?

Чтобы определить, используется ли в настоящее время технология HT на компьютере, выполните следующие действия.

  1. Нажмите кнопку Пуск.

  2. Нажмите правой кнопкой мыши Мой компьютер.

  3. Нажмите Свойствалевой кнопкой мыши.

  4. Перейдите на вкладку Оборудование.

  5. Щелкните кнопку Диспетчер устройств

  6. Нажмите на значок плюс (+) рядом с пунктом «Сетевые адаптеры».
    Если технология HT включена, значит, процессор указан дважды.

Примечание. На компьютерах с двумя ядрами и Hyper-Threading технологиями будет отображаться 4 процессора.


Активация службы Hyper-Threading
 

Вы можете включить или отключить технологию Hyper-Threading (HT) с помощью программы настройки системы (BIOS).

Примечание. Если у вашего процессора нет технологии HT, в программе настройки системы не будет возможности активировать или деактивировать Hyper-Threading.

Чтобы включить или отключить технологию HT, выполните следующие действия.

  1. Перезагрузите компьютер.

  2. При появлении экрана Dell Logo нажмите клавишу < F2 > клавишу до тех пор, пока компьютер не войдет в программу настройки системы.

  3. Нажмите клавишу «< стрелка вниз» > клавишу, пока не будут выделены сведения о ЦП .

  4. Чтобы отобразить доступные варианты выбора, нажмите клавишу < Enter >.

  5. Нажмите < стрелка вверх > клавиши или < стрелка вниз > клавиши, чтобы выделить Hyper-Threading.

    Примечание. Для PowerEdge серверов записи, подсветкой, является логический процессор.

  1. Нажмите < пробел >, чтобы переключиться между режимами включения и выключения.

  2. Нажмите клавишу < ESC >, чтобы выйти из меню « информация о ЦП ».

  3. Нажмите < ESC > клавишу, чтобы сохранить и выйти.

  4. При появлении запроса на сохранение изменений нажмите клавишу < > Enter и выйти сейчас.

После перезагрузки компьютера в операционную систему общие информационные программы, например диспетчер устройств и Task Manager, будут показывать два процессора, если технология HT включена. Если вы отключили технологию HT, в программах «информация о системе» отображается один процессор.

Примечание. На вкладке « Общие » окна свойств системы отображается один процессор, независимо от того, включена или отключена технология HT. Это нормальное состояние.

Требования к системе для монитора Hyper-Threading
 

Технология HT была доступна в выпуске процессора 2.40 C с частотой системной шины 800 МГц (FSB), но она не была выпущена вовремя для процессора Intel 2.40 C ГГц и, следовательно, не была выпущена до тех пор, пока процессор не обновлялся с использованием процессора Intel 2.40 C ГГц. Hyper-Threading

При наличии процессора с тактовой частотой 3,06 ГГц или более мощный можно использовать технологию HT с FSB 533 МГц. Тем не менее, если ваш процессор работает с тактовой частотой 3,06 ГГц или более медленным, необходимо иметь системную шину 800 МГц, а системную плату должны быть подключены к одному из следующих наборов микросхем:

  • Intel 925X
  • Intel 915G
  • Intel 915GV
  • Intel 915P
  • Intel 875P
  • Intel 865PE
  • Intel® 865G
  • Intel 865GV
  • Intel 848P
Дополнительная информация

 

Видео

 

Оцените эту статью

Благодарим вас за отзыв.

К сожалению, наша система обратной связи в настоящее время не работает. Повторите попытку позже.

Комментарии не должны содержать следующие специальные символы: ()\

Hyper threading - как включить

Приходит время и нам необходимо заменить/установить/ процессор в системном блоке. Но, после этих процедур система может его не увидеть и, соответственно, работать он полноценно не сможет – то есть, никакой практическое пользы нести не будет. Всё это связано с функцией hyper threading, а как включить ее и самое главное, где ее нужно искать – кратко в небольшом обзоре.

Данная функция доступна только через меню BIOS, в которое можно войти только перед полной загрузкой операционной системы. Для входа в это меню, вам необходимо после того, как включился ПК, не дожидаясь появления «окошка» загрузки, нажимать клавиши Ecs, Delete, f2 или f8. Пригодность каждого из вариантов зависит от того, какая версия биоса у вас в данный момент установлена. Чаще всего работает клавиша «Delete» - она универсальна на последних версиях биоса за 2001 – 2009 года. Чтобы найти настройки Hyper threading и включить ее, необходимо сделать следующие действия:

  1. После входа в меню, находим Сell Menu
  2. Дальше переходим в CPU Specifications
  3. Теперь входим в CPU Technology Support
  4. И в этом окне включаем Hyper threading – «Enabled».

Важно! После того, как вы сделали это, перезагрузите компьютер, предварительно сохранив данные изменения. Если же в диспетчере устройств у вас не появились корректные данные о процессоре – вам придётся переустановить систему из-за того, что вы ставили ее при выключенной функции Hyper threading, что и повлекло за собой неправильную работу распознавателя процессора. Перед переустановкой убедитесь в том, что функция включена в режим “Enabled”, чтобы избежать переустановки еще раз.

 

Похожие записи

DHCP как включить

Вы хотите организовать домашнюю локальную сеть или соединить в одну сеть посредством разных архитектур в аудиториях или офисе? В таких ситуациях, вам необходимо проверить, включен ли динамический протокол конфигурации узла – DHCP. Как...

Как включить на ноутбуке Bluetooth

Технологии беспроводной передачи данных, хоть и давно уже пришли к нам, до сих пор популярны в использовании, хотя бы потому что передача данных происходит быстро и не зависит от подключения интернета (кроме wifi). Самым популярной...

Как включить wifi на Windows 8?

Чаще всего, те, кто ранее пользовался Windows 7 не могут быстро привыкнуть к «восьмёрке», т.к. она не совсем схожа с «семёркой». Из-за этого возникают казусы и некоторые простые функции не получается найти или включить. В данной статье мы...

Исследователи

используют еще один недостаток Intel Hyper-Threading

Пять ученых из Технологического университета Тампере в Финляндии и Технического университета Гаваны на Кубе обнаружили еще один недостаток в технологии Intel Hyper-Threading (HT), который злоумышленники могут использовать для кражи зашифрованных данных пользователей, как сообщает ZDNet. Cегодня.

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

Больше потоков, больше опасности

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

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

Атака PoC сделана доступной

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

Атаки потребуют, чтобы вредоносный код уже был запущен на машинах пользователей, но исследователи отметили, что права администратора не требуются. Поэтому применить атаку на практике не должно быть слишком сложно.

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

Intel предоставила OEM-производителям материнских плат исправление вчера, когда исследователи обнародовали этот недостаток. В заявлении Intel призвала разработчиков приложений также использовать код, который не уязвим для атак по побочным каналам, но это легче сказать, чем сделать:

«Корпорация Intel получила уведомление об исследовании. Эта проблема не зависит от спекулятивного исполнения и поэтому не имеет отношения к Spectre, Meltdown или L1 Terminal Fault. Мы ожидаем, что он не является уникальным для платформ Intel. Исследования методов анализа побочных каналов часто сосредоточены на манипулировании и измерении характеристик, таких как синхронизация, общих аппаратных ресурсов.Программное обеспечение или программные библиотеки можно защитить от таких проблем, используя методы безопасной разработки побочных каналов. «Защита данных наших клиентов и обеспечение безопасности наших продуктов являются высшим приоритетом для Intel, и мы продолжим работать с клиентами, партнерами и исследователями, чтобы понимать и устранять любые обнаруженные уязвимости», - говорится в заявлении Intel.

Вторая уязвимость, обнаруженная в Intel HT в этом году

PortSmash - вторая серьезная уязвимость, обнаруженная в Intel HT (и, возможно, в других технологиях SMT) в этом году.Первой была ошибка Foreshadow или L1 Terminal Fault (L1TF), которая побудила основателя ориентированной на безопасность операционной системы OpenBSD отключить поддержку Intel HT в новых версиях операционной системы.

Сама Intel, возможно, начала прислушиваться к этому совету, поскольку Core i7-9700K компании станет первым процессором Core i7 в истории компании, который будет поставляться без HT.

OpenBSD отключит Intel Hyper-Threading, чтобы избежать уязвимостей, подобных Spectre (обновлено)

Обновление, 21.06.18, 6:40 утра PT:
Intel опубликовала заявление для Tom's Hardware по поводу этой проблемы:

«Защита наших клиентов и их данных продолжает оставаться для нас критически важным приоритетом. .Мы изучаем эти отзывы и благодарим сообщество за их постоянные усилия ».

Оригинал, 20.06.18, 9:20 утра PT:

OpenBSD, операционная система с открытым исходным кодом, ориентированная на безопасность, объявила, что она отключит функцию Intel Hyper-Threading (HT), чтобы злоумышленники не могли больше использовать атаки тайминга кэша, подобные Spectre.

Intel Hyper-Threading уязвима для атак по побочным каналам

Одновременная многопоточность (SMT), такая как технология Intel HT, обычно совместно использует буферы параллельного преобразования (TLB) и кеши L1 между потоками, что может привести к так называемой атаке по побочному каналу. Атаки на тайминги кеша намного проще.

Команда OpenBSD заявила, что подозревает, что Intel HT сделает некоторые уязвимости класса Spectre уязвимыми. Команда добавила, что запуск нескольких доменов безопасности в нескольких потоках одного ядра никогда не был хорошей идеей. Однако изменить программное обеспечение операционной системы, чтобы теперь это учитывать, будет нетривиальной задачей. Более того, в наши дни большинство производителей устройств больше не позволяют пользователям отключать Intel HT в BIOS.

Разработчики отметили, что отключение HT на машинах OpenBSD не обязательно означает, что производительность будет снижена, так как часто HT может замедлять выполнение определенных задач на устройствах с более чем двумя ядрами, по крайней мере, по мнению разработчиков OpenBSD.HT, как правило, полезен для высокопараллельных задач, когда он может выжать всю производительность, которую могут дать ядра процессора.

Изменение архитектуры ЦП Intel теперь является императивом

Мы еще даже не видели, чтобы были обнаружены все недостатки Spectre NG, но целые операционные системы, такие как OpenBSD, уже идут на серьезные компромиссы из-за того, насколько уязвима архитектура ЦП Intel. атаки спекулятивного исполнения.

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

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

Что такое Hyperthreading | HP® Tech принимает

Гиперпоточность - это термин Intel для обозначения того, что в компьютерной индустрии также называется одновременной многопоточностью или SMT.Если вам нужен более быстрый компьютер, но вы не хотите полностью менять свое оборудование, гиперпоточность может помочь вам ускорить работу центрального процессора (ЦП). Продолжайте читать, чтобы узнать больше о том, как этот процесс может помочь вашему компьютеру. бегайте быстрее, чтобы вы могли наслаждаться безупречным игровым процессом или более плавной потоковой передачей, когда вы смотрите свое любимое шоу.

Определение Hyper-threading

Hyper-threading - это процесс, с помощью которого ЦП делит свои физические ядра на виртуальные ядра, которые обрабатываются операционной системой так, как если бы они на самом деле были физическими ядрами.Эти виртуальные ядра также называются потоками [1]. Большинство двухъядерных процессоров Intel используют этот процесс для создания 4 потоков или 4 виртуальных ядер. Четырехъядерные процессоры Intel используют гиперпоточность для создания большей мощности в виде 8 виртуальных ядер или 8 потоков.

Как работает гиперпоточность?

Чтобы понять гиперпоточность, вы сначала должны понять, как работает ваш процессор. Ваш процессор также известен как центр управления вашим компьютером. Он содержит два важных компонента: блок управления и арифметико-логический блок (ALU).Блок управления использует электрические сигналы, чтобы направить всю компьютерную систему на выполнение отправленных ей инструкций. Вы можете представить себе блок управления в виде полицейского, управляющего движением.

Блок управления фактически не выполняет инструкции, вместо этого он декодирует их и делегирует эти инструкции другим частям вашей компьютерной системы. Арифметико-логическое устройство - это то, что выполняет все арифметические и логические действия [2].

ЦП выполняет инструкции, используя следующие шаги:

  1. Блок управления получает инструкции из памяти вашего компьютера.
  2. Блок управления считывает инструкцию и получает значение, а затем направляет необходимые данные для передачи из памяти в арифметический / логический блок (ALU). Комбинация этих первых двух шагов называется временем инструкции или I-временем.
  3. ALU выполняет арифметические или логические инструкции. Это когда ALU выполняет фактическую операцию с данными.
  4. ALU сохраняет результат операции в памяти или в регистре. Шаги 3 и 4 называются временем выполнения или E-time.
Хотя это может показаться сложной процедурой, все эти действия выполняются за доли секунды. Чем быстрее ваш ЦП может обрабатывать инструкции, тем быстрее ваш компьютер может выполнять задачи. Стоит отметить, что если ваш процессор не очень мощный, эти задачи могут оказаться узкими местами, что приведет к замедлению и задержкам.

Вот где появляется гиперпоточность.

Гиперпоточность работает, позволяя каждому ядру вашего процессора выполнять два действия одновременно. В свою очередь, вы получаете лучшую производительность процессора, поскольку это повышает его эффективность.Таким образом, вы можете одновременно использовать более требовательные приложения или игры.

Редактирование видео, рендеринг в 3D и многозадачность, нагружающая процессор, - вот примеры задач, которые могут выиграть от скрытой работы с гиперпоточностью [3]. Гиперпоточность также является полезным процессом, когда вы хотите, чтобы ваш процессор отправлял более легкие задачи, такие как фоновые приложения, на одно ядро ​​процессора, в то время как более интенсивные приложения, такие как игры, отправлялись на другое ядро ​​процессора в многоядерных процессорах.

Гиперпоточность лучше для игр?

Чтобы определить, подходит ли гиперпоточность для игр, вам сначала нужно узнать, сколько ядер у вашего компьютера в настоящее время.Для требовательных игр обычно требуется 2 или 4 ядра, чтобы добиться максимальной производительности.

Если у вас процессор Intel i5 или i3, вы могли бы извлечь выгоду из гиперпоточности этих процессоров. Как вы, возможно, уже заметили, играя в игры на этих процессорах, вы можете столкнуться с задержками или замедлением, поскольку эти процессоры не так мощны, как их более надежные собратья, процессоры Intel i7 и i9 [4].

Hyper-threading в настоящее время доступен для следующих семейств процессоров: Intel Core ™, Intel Core vPro ™, Intel Core M и Intel Xeon®.Однако для использования гиперпоточности вам потребуется соответствующая операционная система (ОС) и BIOS, поддерживающие технологию Hyper-Threading от Intel.

Что еще может сделать мой компьютер быстрее?

Если вы хотите увеличить скорость своего компьютера и у вас есть процессор Intel, у вас может быть доступ к технологии Intel Turbo Boost. Для компьютеров с процессорами Intel Core i5 или выше у вас может быть даже Intel Turbo Boost Technology 2.0, но важно проверить спецификации и возможности вашего конкретного ПК.

Комбинация технологии Intel Hyper-Threading с Turbo Boost открывает множество возможностей для более быстрых и эффективных вычислений. Вместе технология гиперпоточности и Turbo Boost могут динамически реагировать на изменение рабочей нагрузки и автоматически отключать неактивные ядра [5]. В результате частота процессора увеличивается на загруженных ядрах, что приводит к повышению производительности приложений, использующих гиперпоточность.

HP® и гиперпоточность

Если вы ищете продукты HP, поддерживающие гиперпоточность, есть множество устройств HP, таких как игровые ноутбуки HP i7 с мощной вычислительной мощностью.Чтобы играть в компьютерные игры класса AAA, рекомендуется приобрести процессоры с минимум 4 ядрами. Процессор Intel i5 или AMD Ryzen - это самый низкий уровень обработки, от которого вам следует зависеть, если вы планируете играть в игры с интенсивным использованием процессора.

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

Если у вас есть компьютер с включенной функцией Hyper-Threading, но вы обнаружите, что дополнительная мощность вам не нужна, вы можете просто отключить ее.Однако, если вы опытный геймер, который хочет получить максимум от игрового опыта для действительно захватывающего побега в игровую вселенную, гиперпоточность - это довольно простое обновление.

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

Об авторе

Мишель Уилсон - автор статей в HP® Tech Takes.Мишель - специалист по созданию контента, пишущий для различных отраслей, включая технические тенденции и новости СМИ.

Новый недостаток процессора Intel использует Hyper-Threading для кражи зашифрованных данных

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

Уязвимость под кодовым названием PortSmash (CVE-2018-5407) вошла в список других опасных уязвимостей побочного канала, обнаруженных в прошлом году, включая Meltdown и Spectre, TLBleed и Foreshadow.

Обнаруженная группой исследователей в области безопасности из Технологического университета Тампере в Финляндии и Технического университета Гаваны на Кубе, новая уязвимость побочного канала кроется в технологии Intel Hyper-Threading, реализации технологии одновременной многопоточности (SMT).


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

Поскольку SMT запускает два потока в двух независимых процессах рядом друг с другом в одном физическом ядре для повышения производительности, один процесс может видеть удивительное количество того, что делает другой.

«Недавно мы обнаружили новый вектор атаки микроархитектуры ЦП.Природа утечки связана с совместным использованием механизма выполнения в архитектурах SMT (например, Hyper-Threading) », - говорит команда.

« Более конкретно, мы обнаруживаем конфликты портов для создания побочного канала синхронизации для извлечения информации из процессов, работающих параллельно. на одном физическом ядре ".


Таким образом, злоумышленник может запустить вредоносный процесс PortSmash вместе с выбранным процессом-жертвой на том же ядре ЦП, что позволяет коду PortSmash отслеживать операции, выполняемые другим процессом, путем измерения точного времени, затрачиваемого на каждую операцию.

Атака PortSmash для кражи ключей дешифрования OpenSSL


В качестве доказательства концепции, выпущенного на Github, исследователи протестировали атаку PortSmash против OpenSSL (версия

Хотя на данный момент подтверждено, что атака PortSmash работает на процессорах Intel Kaby Lake и Skylake , исследователи «сильно подозревали», что атака работает на других архитектурах SMT, включая AMD, с некоторыми изменениями в их коде.

В августе этого года, после обнародования атак TLBleed и ForeShadow, Тео де Раадт, основатель OpenBSD и руководитель проектов OpenSSH, посоветовал пользователям отключить SMT / Hyperthreading во всех BIOS Intel.

«SMT принципиально не работает, потому что он разделяет ресурсы между двумя экземплярами ЦП, а этим общим ресурсам не хватает дифференциаторов безопасности», - сказал Тео.

Он также подозревал, что «будет обнаружено больше аппаратных ошибок и артефактов. Из-за того, как SMT взаимодействует со спекулятивным исполнением на процессорах Intel, я ожидаю, что SMT усугубит большинство будущих проблем».

Как защитить вашу систему от атаки PortSmash


Исследователи сообщили о новой уязвимости побочного канала группе безопасности Intel в начале прошлого месяца, но, когда компания не предоставила исправления безопасности до 1 ноября, команда обнародовала уязвимость PoC.

Команда также пообещала выпустить в ближайшие дни подробный документ об атаке PortSmash под названием Port Contention for Fun and Profit .

Простым исправлением уязвимости PortSmash является отключение SMT / Hyper-Threading в BIOS микросхемы ЦП до тех пор, пока Intel не выпустит исправления безопасности. Пользователи OpenSSL могут обновиться до OpenSSL 1.1.1 (или> = 1.1.0i, если вам нужны исправления).

В июне этого года в рамках проекта OpenBSD была отключена технология Intel Hyper-Threading, чтобы защитить пользователей от ранее раскрытых атак класса Spectre, а также будущих атак по времени.

AMD изучает отчет об уязвимостях побочного канала PortSmash, чтобы узнать о потенциальной уязвимости продуктов AMD.


Hyper-Threading и все, что вам нужно знать

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

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

Что такое гиперпоточность?

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

Когда вы запускаете приложение, код этой программы берется с жесткого диска и сохраняется в оперативной памяти (RAM) перед загрузкой в ​​ЦП. Затем ЦП считывает инструкции из ОЗУ для выполнения поставленной задачи. Когда технологические компании называют свои ЦП «двухъядерными», это означает, что в ЦП есть 2 ядра (отдельные блоки обработки).

Intel® указывает количество ядер, которые они используют с i3, i5, i7 и т. Д. Это немного вводит в заблуждение, учитывая, что процессор Intel i7 Core не имеет 7 ядер; он идет с четырьмя.Есть несколько экстремальных процессоров Intel i7 Core, которые могут иметь 6 или 8 ядер. Вы всегда можете вернуться к описанию продукта, если не уверены в количестве ядер в вашем процессоре.

Не уходя слишком далеко от гиперпоточности, важно сначала понять, как ядра обрабатывают данные в ЦП. Когда данные отправляются из ОЗУ в ЦП, они разделяются и направляются в разные ядра.

Представьте себе железнодорожную станцию: такие программы, как Microsoft Word и Excel, представляют собой грузовые перевозки поездов, движущихся через станцию, но железнодорожная станция (ядро) имеет только один набор путей.«Грузы», или программные инструкции, идут последовательно по рельсам. Все просто, правда?

Так как же работает гиперпоточность? Когда вы выполняете гиперпоточность своих ядер, вы, по сути, создаете две дорожки в депо. Вместо того, чтобы перемещаться по одному пути, они будут разделяться и обрабатываться в депо, что сокращает время, в течение которого они перемещаются. Вместо того, чтобы загружать по одной программе в ядро, гиперпоточность позволяет загружать сразу несколько программ. По сути, каждое ядро ​​становится двумя процессорами вместо одного .

Основная цель гиперпоточности - увеличить количество независимых инструкций на «дорожках», ведущих к ядру. Эта способность является результатом суперскалярной архитектуры или параллельных вычислений, в которых ЦП управляет несколькими конвейерами команд для выполнения нескольких инструкций в одно и то же время.

Теперь, когда вы понимаете, как работает гиперпоточность, преимущества и потенциальное повышение скорости, которое она может дать вашему ПК, довольно очевидны.

Повысит ли гиперпоточность производительность моего компьютера?

Согласно Intel [1], гиперпоточность ваших ядер может привести к увеличению производительности и скорости на 30% при сравнении двух идентичных ПК с одним гиперпоточным процессором.В исследовании, опубликованном на Forbes, гиперпоточность процессора AMD® (Ryzen 5 1600) показала увеличение общей производительности обработки на 17% [2].

Несмотря на эти результаты, гиперпоточность ваших ядер не всегда является оптимальным решением. Будут задачи, в которых скорость вашего процессора не увеличивается, несмотря на гиперпоточность. Частично это связано с тем, что не все приложения и строки данных могут эффективно загружаться в многопоточное ядро.

В эксперименте, проведенном bit-tech.net, гиперпоточный Intel i7 Core сравнивался с однопоточным Intel i7 Core после прохождения нескольких различных тестов [3]. Когда дело дошло до редактирования изображений, многозадачности и энергопотребления, гиперпотоковый аналог оказался хуже, чем однопоточный. Тем не менее, он показал такие же или лучшие результаты, когда дело дошло до кодирования видео Handbrake, общего пользовательского теста ПК и игры в популярную игру Crysis .

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

Как включить гиперпоточность

Перед тем, как вы сможете использовать гиперпоточность для своих ядер, вам необходимо выяснить, позволяет ли это ваш ЦП. Некоторые ядра ЦП по умолчанию являются гиперпоточными, и от вас ничего не требуется.

Чтобы включить гиперпоточность, вам сначала нужно войти в настройки BIOS вашей системы. Для тех, кто не знаком, BIOS расшифровывается как Basic Input / Output System.BIOS запускается, когда вы включаете компьютер, соединяя различные компоненты, такие как жесткий диск, ЦП и клавиатуру, в дополнение к управлению потоком данных.

Когда вы узнаете, что ваш ЦП совместим с гиперпоточностью, и научитесь входить в настройки BIOS вашей системы, выберите подходящий хост для вашей системы. Должна быть вкладка конфигурации или меню для выбора. Выберите «Процессор» и нажмите «Свойства». Должно появиться диалоговое окно, в котором вы сможете включить или отключить гиперпоточность.

Некоторые производители и поставщики могут пометить эту опцию как «Логический процессор» или «Включить гиперпоточность». Процесс зависит от производителя. Например, включение гиперпоточности для процессора AMD будет иметь несколько иной набор слов, чем включение гиперпоточности для процессора Intel.

Резюме; один раз в BIOS выберите:

  • Процессор
  • Свойства
  • Логический процессор / Включить гиперпоточность

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

Подходит ли гиперпоточность для игр?

Подходит ли гиперпоточность для игр, зависит от имеющегося у вас количества ядер. Большинство продвинутых игр требуют для максимальной производительности 2 или 4 ядра. Узнайте о лучших процессорах для игр и о лучших способах разгона улучшить игры.

Игра в игру

Если вы когда-либо пробовали играть в игры с интенсивной графикой на процессоре Intel i3 Core, то вы, вероятно, знаете, сколько проблем возникает из-за ограниченного количества ядер.Отставание и ореолы - лишь малая часть списка проблем, вызванных недостаточной вычислительной мощностью.

Гиперпоточность Intel i5 и гиперпоточность i3 могут быть чрезвычайно полезны для игр, учитывая, что эти процессоры изначально не обладают большой мощностью. Играя в такие игры, как Crysis , вы заметите резкое улучшение и конкурентное преимущество. Гиперпоточность Intel i7 может быть чрезмерной. Если вы не играете в несколько игр одновременно или не запускаете несколько приложений в фоновом режиме, вам, вероятно, не понадобится такая дополнительная мощность.

Потоковая передача

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

Если вы транслируете потоковую передачу на новейшем процессоре Intel i7 Core, вы, вероятно, не заметите большой разницы. Продвинутые процессоры невероятно быстрые как есть. Однако процессоры с 2 или 4 ядрами могут не дать вам достаточно энергии для игры, даже после гиперпоточности.

Лучшие процессоры для гиперпоточности

Большинство игр класса AAA ориентированы на процессоры с 4 ядрами и более. Если ваша цель - игры, выбирайте AMD Ryzen, Intel i5 или лучше.

Intel i5-8400, который вы можете найти в игровом настольном ПК HP OMEN 870, - отличное место для начала, если у вас ограниченный бюджет. Этот процессор с 6 ядрами и 6 потоками имеет базовую тактовую частоту 3,8 ГГц и тактовую частоту в режиме турбонаддува 4,0 ГГц. Хотя этот процессор не поддерживает разгон, он должен обеспечивать более чем достаточную мощность для игр с максимальными настройками.Intel i7-8700K имеет 6 ядер и 12 потоков, на которых вы можете запускать множество фоновых задач, пока играете. Вы можете найти этот процессор в игровом настольном ПК HP Pavilion. В том же ценовом диапазоне, что и Intel i7-8700K, AMD Ryzen 7 2700 предлагает 8 ядер, 16 потоков и возможности разгона. Компания AMD, о которой часто забывают, производит невероятные процессоры для компьютеров, ноутбуков и специализированных игровых ПК. Если вы заинтересованы в создании игрового ПК с нуля или в покупке готовой системы, вам следует серьезно подумать о процессоре AMD для продвинутых игр.AMD Ryzen 3 2200G - чрезвычайно доступный процессор, учитывая, сколько от него можно получить. Четыре ядра, базовая частота 3,5 ГГц, а также возможности разгона позволяют расширить возможности вашего ПК. Игровой настольный компьютер HP OMEN 875 Obelisk может похвастаться тремя процессорами AMD Ryzen на выбор, чтобы оформить покупку по своему вкусу.

Если вы действительно хотите изо всех сил построить суперкомпьютер, Intel Core i9 7900X находится в особой лиге. Хотя цена определенно отражает его передовые компоненты, его производительность трудно превзойти.Благодаря 10 ядрам и 20 потокам вы можете одновременно выполнять множество задач.

Подходит ли гиперпоточность для игр виртуальной реальности?

VR-игр съедают массу вашей вычислительной мощности, и вам будет гораздо лучше, если вы обновите свой процессор, чем пытаетесь перегрузить существующий. Самые популярные VR-игры используют огромные объемы данных, и без высокопроизводительной видеокарты вы не сможете ими пользоваться. Если вы купите ПК с продвинутой видеокартой, подходящей для иммерсивных VR-игр, ваш процессор, вероятно, оборудован поддерживать.Обязательно выберите систему, которая работает с высокой скоростью, или подготовьтесь к созданию собственной системы, если VR-игры являются главным приоритетом. В противном случае вам, возможно, придется изо всех сил пытаться разогнать процессор или гиперпоточность ядер, чтобы погрузиться в безумие виртуальной реальности.

Вокруг AMD Zen ходит много разговоров о возможностях виртуальной реальности. Такие компании, как Intel и AMD, в настоящее время готовятся к будущему игр, чтобы доставить невероятные впечатления, как никогда раньше.

Резюме

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

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

Вы можете многое получить и не так много потерять, почему бы не попробовать?

Об авторе

Шон Уэйли (Sean Whaley) пишет статьи для HP® Tech Takes. Шон - специалист по созданию контента со степенью литературы в SDSU.Он обладает обширными познаниями в области компьютерного оборудования и программирования.

Что такое гиперпоточность и почему это должно вас волновать?

Допустим, вы собираетесь купить новый процессор и вдруг вам нужно выбрать между двумя продуктами, которые практически одинаковы на бумаге, но в одном из них есть функция под названием hyperthreading , а в другом нет.

Очевидно, что гиперпоточность - это хорошо, потому что за нее нужно доплачивать, но что она дает? Самое главное, это то, что должно вас волновать, , ? Чтобы ответить на эти животрепещущие вопросы, мы должны сделать небольшое отступление от того, как процессоры делают свое дело.

Неограниченная сила!

Даже если вас не слишком интересуют тонкие технические детали компьютерных технологий, вы, вероятно, слышали о законе Мура раньше. На самом деле это не естественный закон, а наблюдение, что основные компоненты интегральных схем удваиваются по плотности каждые два года или около того.

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

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

Проблема в том, что независимо от того, насколько быстро работает этот процессор, он может делать только одну вещь за раз.То, что мы воспринимаем как «многозадачность», на самом деле является быстрым переключением процессора между тысячами различных заданий. Несколько лет назад мы начали сильно ломать голову, когда дело дошло до того, чтобы сделать один процессор все быстрее и быстрее.

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

Hyperthreading (HT) - это название Intel для одновременной многопоточности .По сути, это означает, что одно ядро ​​ЦП может работать над двумя проблемами одновременно. Это не означает, что ЦП может выполнять вдвое больше работы. Просто он может гарантировать, что вся его мощность будет использована, решая сразу несколько более простых задач.

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

Кто должен заботиться Гиперпоточность?

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

Например, если у вас двухъядерный гиперпоточный ЦП и четырехъядерный ЦП без HT, вариант с четырехъядерным процессором будет лучшим выбором.При том, что они близки друг к другу в однопоточной, одноядерной производительности. Почему? Потому что четырехъядерный процессор имеет больше аппаратного физического оборудования.

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

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

Традиционно такие операции, как CPU 3D рендеринг, кодирование видео и обработка фотографий создадут столько потоков как может выдержать ваш бедный процессор. Другими словами, многие современные профессиональные приложения требуют много потоков.Вот почему Hyperthreading был ограничен. к процессорам профессионального уровня, таким как i7 и выше.

Основные приложения, такие как Word процессоры и веб-браузеры не будут работать лучше с гиперпоточность, даже если они могут порождать больше потоков. Просто потому, что потребности из тех приложений, которые используются большинством людей, даже не предоставляют процессоры начального уровня тяжелое время.

Большой игровой вопрос

Видеоигры - еще одно популярное приложение это было довольно безразлично к Hyperthreading.На момент написания в В 2019 году новейшие движки для видеоигр становятся все более тяжелыми. Это означает, что процессоры с поддержкой HT будут работать с ними лучше. Старые названия не отображаются какие-либо преимущества, за исключением нескольких игр-симуляторов, которые активно использовать ИИ или другие процессы, ориентированные на ЦП.

Означает ли это, что ваш следующий игровой ПК должен иметь Гиперпоточность? Дело в том, что сейчас мы выходим на рынок массовых процессоров. где шести-, восьми- и двенадцатиядерные процессоры являются нормой.Итак, гораздо лучше иметь больше физических ядер, где это возможно.

Простой ответ

Надеюсь, приведенное выше объяснение было ясным достаточно, но давайте разберемся до нижней строки:

  • Если вы занимаетесь профессионалом, многопоточная работа, Hyperthreading имеет значение
  • Если вы основной пользователь, не о чем беспокоиться!
  • Если вы геймер, расставьте приоритеты иметь больше ядер в следующей сборке по HT, но получить HT дополнительно, если цена подходящая.

Hyperthreading - отличная технология, но она не стоит премий для всех. Теперь вы должны знать, был ли этот «кто-то» это ты или нет!

Страница не найдена

Документы

Моя библиотека

раз
    • Моя библиотека
    "" Настройки файлов cookie .

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *