Разное

Гипертрейдинг что это: Технология Intel® Hyper-Threading

15.10.2020

Содержание

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

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

Технология Intel® Hyper-Threading реализована в новейших процессорах Intel® Core™ vPro™, семействе процессоров Intel® Core™, семействе процессоров Intel® Core™ M и семействе процессоров Intel® Xeon®. При использовании одного из этих процессоров Intel® вместе с набором микросхем, а также операционной системы и BIOS с поддержкой технологии Intel® Hyper-Threading можно получить следующие преимущества.

  • Параллельная работа с несколькими ресурсоемкими приложениями при сохранении прежнего уровня быстродействия
  • Защита системы, сохранение эффективности и управляемости с минимальным влиянием на производительность
  • Возможность будущего развития предприятия и внедрения новых решений.

Еще раз о Hyper-Threading / Хабр

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

Исследуемая платформа


Объект экспериментов – ноутбук ASUS N750JK c процессором Intel Core i7-4700HQ. Тактовая частота 2.4GHz, повышаемая в режиме Intel Turbo Boost до 3.4GHz. Установлено 16 гигабайт оперативной памяти DDR3-1600 (PC3-12800), работающей в двухканальном режиме. Операционная система – Microsoft Windows 8.1 64 бита.


Рис.1 Конфигурация исследуемой платформы.

Процессор исследуемой платформы содержит 4 ядра, что при включении технологии Hyper-Threading обеспечивает аппаратную поддержку 8 потоков или логических процессоров. Эту информацию Firmware платформы передает операционной системе посредством ACPI-таблицы MADT (Multiple APIC Description Table). Поскольку платформа содержит только один контроллер оперативной памяти, таблица SRAT (System Resource Affinity Table), декларирующая приближенность процессорных ядер к контроллерам памяти, отсутствует. Очевидно, исследуемый ноутбук не является NUMA-платформой, но операционная система, в целях унификации, рассматривает его как NUMA-систему с одним доменом, о чем говорит строка NUMA Nodes = 1. Факт, принципиальный для наших экспериментов – кэш память данных первого уровня имеет размер 32 килобайта на каждое из четырех ядер. Два логических процессора, разделяющие одно ядро, используют кэш-память первого и второго уровней совместно.

Исследуемая операция


Исследовать будем зависимость скорости чтения блока данных от его размера. Для этого выберем наиболее производительный метод, а именно чтение 256-битных операндов посредством AVX-инструкции VMOVAPD. На графиках по оси X отложен размер блока, по оси Y – скорость чтения. В окрестности точки X, соответствующей размеру кэш-памяти первого уровня, ожидаем увидеть точку перегиба, поскольку производительность должна упасть после того, как обрабатываемый блок выйдет за пределы кэш-памяти. В нашем тесте, в случае многопоточной обработки, каждый из 16 инициируемых потоков, работает с отдельным диапазоном адресов. Для управления технологией Hyper-Threading в рамках приложения, в каждом из потоков используется API-функция SetThreadAffinityMask, задающая маску, в которой каждому логическому процессору соответствует один бит. Единичное значение бита разрешает использовать заданный процессор заданным потоком, нулевое значение – запрещает. Для 8 логических процессоров исследуемой платформы, маска 11111111b разрешает использовать все процессоры (Hyper-Threading включен), маска 01010101b разрешает использовать по одному логическому процессору в каждом ядре (Hyper-Threading выключен).

На графиках используются следующие сокращения:

MBPS (Megabytes per Second)скорость чтения блока в мегабайтах в секунду;

CPI (Clocks per Instruction)количество тактов на инструкцию;

TSC (Time Stamp Counter)счетчик процессорных тактов.

Примечание.Тактовая частота регистра TSC может не соответствовать тактовой частоте процессора при работе в режиме Turbo Boost. Это необходимо учитывать при интерпретации результатов.

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

Опыт №1. Один поток



Рис.2
Чтение одним потоком

Максимальная скорость 213563 мегабайт в секунду. Точка перегиба имеет место при размере блока около 32 килобайт.

Опыт №2. 16 потоков на 4 процессора, Hyper-Threading выключен



Рис.3 Чтение шестнадцатью потоками. Количество используемых логических процессоров равно четырем

Hyper-Threading выключен. Максимальная скорость 797598 мегабайт в секунду. Точка перегиба имеет место при размере блока около 32 килобайт. Как и ожидалось, по сравнению с чтением одним потоком, скорость выросла приблизительно в 4 раза, по количеству работающих ядер.

Опыт №3. 16 потоков на 8 процессоров, Hyper-Threading включен



Рис.4 Чтение шестнадцатью потоками. Количество используемых логических процессоров равно восьми

Hyper-Threading включен. Максимальная скорость 800722 мегабайт в секунду, в результате включения Hyper-Threading почти не выросла. Большой минус – точка перегиба имеет место при размере блока около 16 килобайт. Включение Hyper-Threading немного увеличило максимальную скорость, но падение скорости теперь наступает при вдвое меньшем размере блока – около 16 килобайт, поэтому существенно упала средняя скорость. Это не удивительно, каждое ядро имеет собственную кэш-память первого уровня, в то время, как логические процессоры одного ядра, используют ее совместно.

Выводы


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

Технологии многопоточности процессоров: принцип работы и сферы применения | Процессоры | Блог

Физические ядра, логические ядра, технологии многопоточности — все это разрабатывалось инженерами для увеличения производительности компьютерного железа, требования к которому постоянно растут. Программы и игры требуют все больше ресурсов. Как же производители процессоров увеличивают мощность своих детищ? Процессор является «сердцем» компьютера и выполняет вычисления, необходимые для работы софта. Модели CPU отличаются между собой даже в рамках одного семейства. Например, Intel Core i7 отличается от i5 технологией многопоточности под названием «Hyper-Threading», о которой далее пойдет речь (Core i3, i9, и некоторые Pentium также обладают данной технологией).

Принцип работы процессорных ядер и многопоточности

В современных операционных системах одновременно работает множество процессов.
Нагрузка от операционной системы на процессор идет по так называемому конвейеру, на который «выкладываются» нужные задачи для ядра. В качестве примера возьмем одно ядро процессора на частоте 4 ГГц с одним ALU (арифметико-логическое устройство) и одним FPU (математический сопроцеесор). Частота в 4 ГГц означает, что ядро исполняет 4 миллиарда тактов в секунду. К ядру по конвейеру поступают задачи, требующие исполнительной мощности, на которые тратится процессорное время. 

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

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

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

Способы увеличения производительности процессоров

Разгон

При увеличении частоты ядра повышается количество исполняемых операций за секунду. Казалось бы, с возрастанием производительности процессора проблемы должны исчезнуть. Но все не так просто, как хотелось бы думать. Прирост от увеличения частоты ЦП нелинейный. Множество процессов все еще делят одно ядро между собой и обращаются к памяти. Кроме того, не решается проблема с кэш-промахами и прерываниями операций, поскольку объем кэша от разгона не изменяется. Разгон — не самый лучший способ решения проблемы нехватки потоков. В пример можно привести всю ту же сборочную линию: рабочий увеличивает темп работы, но по-прежнему не умеет собирать два и более заказа одновременно. 

Увеличение количества потоков на ядро

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

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

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

Именно по этой причине процессоры серии i7 «горячее» и имеют больше кэша по сравнению с i5. Использование технологии многопоточности может принести примерно до 30 % прироста производительности. Все это применимо как к Intel Hyper-Threading, так и к AMD SMT, поскольку технологии во многом схожи. Может возникнуть вопрос: «Если можно добавить второй поток, то почему бы не добавить третий и четвертый?» Это реализуемо, но не имеет смысла, поскольку кэш одного ядра достаточно мал для большего количества потоков и прироста производительности практически не будет.

Увеличение количества ядер

Это самый действенный способ решения проблемы, поскольку каждый конвейер теперь располагает своим FPU, ALU и кэшем, который не придется делить с другим потоком. Разные процессы используют разные ядра, из-за чего реже происходят кэш-промахи и конфликты приоритетных задач. Способ, разумеется, несет в себе некоторые издержки для производителей: дороговизна разработки и производства, увеличение тепловыделения и размера кристалла, и, как результат, повышается итоговая стоимость процессора. 

Сферы применения многопоточных процессоров

С развитием компьютерных технологий перечень программ, использующих многопоточность, неуклонно растет. Это дает огромный простор разработчикам для создания нового софта и игр. Например, сейчас каждый современный triple-A проект оптимизирован для многопоточных процессоров, что позволяет наслаждаться игрой, получая высокий уровень fps на многоядерном CPU.

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

Но далеко не всегда увеличение количества потоков означает увеличение общей производительности. Почему же SMT процессоры порой уступают немногопоточным собратьям? Дело в программной поддержке. Иногда плохо оптимизированные программы не могут отличать логический поток от настоящего ядра, из-за чего на одно ядро может попасть две тяжелых задачи и замедлить работу. Тем не менее, подобные технологии имеют огромный потенциал, главное — грамотно реализовать его на программном уровне.

Еще раз о 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 — что это и как работает

477461-intel-6th-gen-chips.jpg

Впервые технология 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 позволяет одному физическому ядру обрабатывать одновременно несколько (обычно два) логических потока. Но как? Процессор, поддерживающий гиперпоточность:

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

160706151145.jpg

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

1.gif

В итоге время, затраченное процессором с 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 вам ни к чему.

Threading — что это? Как включить Hyper-Threading?

Многие процессоры Intel включают модули с поддержкой Hyper-Threading Technology, которая, в соответствии с идеей разработчиков, должна способствовать увеличению производительности микросхемы и ускорению работы ПК в целом. Какова специфика данного решения от американской корпорации? Каким образом можно использовать преимущества Hyper-Threading?

Основные сведения о технологии

Рассмотрим ключевые сведения о Hyper-Threading. Что это за технология? Ее разработала компания Intel и впервые представила общественности в 2001 году. Целью ее создания было увеличение производительности серверов. Основной принцип, реализованный в Hyper-Threading — распределение процессорных вычислений на несколько потоков. Причем это возможно, даже если на соответствующего типа микросхеме установлено только одно ядро (в свою очередь, если их 2 и более, и потоки в процессоре уже распределены — технология удачно дополняет этот механизм).

Hyper-Threading что это

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

Включение Hyper-Threading

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

Необходимо войти в главный интерфейс BIOS. Для этого в самом начале загрузки компьютера нужно нажать DEL, иногда — F2, F10, реже — иные клавиши, но нужная всегда появляется в одной из строчек текста, отображаемых на экране сразу после включения ПК. В интерфейсе BIOS нужно найти пункт Hyper-Threading: в поддерживающих его версиях системы ввода-вывода он обычно расположен на видном месте. Выбрав соответствующую опцию, следует нажать Enter и активировать ее, отметив как Enabled. Если данный режим уже задан, то значит Hyper-Threading Technology работает. Можно задействовать все ее преимущества. Активировав технологию в настройках, следует сохранить все записи в BIOS, выбрав пункт Save and Exit Setup. После этого компьютер перезагрузится в режиме, когда процессор работает с поддержкой Hyper-Theading. Схожим образом осуществляется отключение Hyper-Threading. Для этого нужно выбрать в соответствующем пункте другую опцию — Disabled и сохранить настройки.

Изучив, как включить Hyper-Threading и дезактивировать данную технологию, рассмотрим ее особенности подробнее.

Процессоры с поддержкой Hyper Threading

Первый процессор, на котором была реализована рассматриваемая концепция компании, согласно некоторым данным — Intel Xeon MP, также известный как Foster MP. Данная микросхема в ряде архитектурных компонентов схожа с Pentium 4, на котором также впоследствии была реализована технология, о которой идет речь. Впоследствии функция многопоточных вычислений была внедрена на серверных процессорах Xeon с ядром Prestonia.

Технология Hyper-Threading как включить

Если говорить о текущей распространенности Hyper-Threading — какие «процы» поддерживают ее? В числе самых популярных микросхем данного типа — те, что относятся к семействам Core и Xeon. Также есть сведения о том, что схожие алгоритмы внедрены в процессорах типа Itanium и Atom.

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

История разработки

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

Как подсчитали специалисты Intel, во время работы пользователя на ПК микросхема в рамках значительных интервалов — едва ли не основную часть времени — задействуется не слишком активно — примерно на 30%. Мнения экспертов касательно этой цифры очень разные — кто-то считает ее явно заниженной, другие — вполне соглашаются с тезисом американских разработчиков.

Hyper-Threading Technology

Однако большинство IT-специалистов сходилось во мнении, что пусть и не 70% мощностей процессора простаивает, но весьма значительный их объем.

Главная задача разработчиков

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

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

Intel удалось решить поставленную задачу. Изначально технология называлась Willamette. В 1999 году она была внедрена в архитектуру некоторых процессоров, и началось ее тестирование. Вскоре технология получила современное название — Hyper-Threading. Что это именно было — простой ребрендинг или кардинальные корректировки платформы, сказать сложно. Дальнейшие факты, касающиеся появления технологии на публике и ее реализации в различных моделях процессоров Intel, нам уже известны. В числе распространенных сегодня наименований разработки — Hyper-Threading Technology.

Аспекты совместимости с технологией

Насколько качественно реализована поддержка технологии Hyper-Threading в операционных системах? Можно отметить, что если речь идет о современных версиях Windows, то никаких проблем с тем, чтобы пользователь полноценно задействовал преимущества Intel Hyper-Threading Technology, не возникнет. Разумеется, очень важно также и то, чтобы технологию поддерживала система ввода-вывода — об этом мы сказали выше.

Программные и аппаратные факторы

Касательно старых версий ОС — Windows 98, NT и относительно устаревшей XP, необходимое условие совместимости с Hyper-Threading — поддержка ACPI. Если в ОС она не реализована, то не все потоки вычислений, которые образованы соответствующими модулями, будут распознаны компьютером. Отметим, что Windows XP в целом обеспечивает задействование преимуществ рассматриваемой технологии. Также крайне желательно, чтобы алгоритмы многопоточности были реализованы и в используемых владельцем ПК приложениях.

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

Как включить Hyper-Threading

Критерии ускорения

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

Итак, базовые условия для того, чтобы технология была успешно задействована:

— поддержка Hyper-Threading системой ввода-вывода;

— совместимость материнской платы с процессором соответствующего типа;

— поддержка технологии операционной системой и конкретным приложением, работающим в ней.

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

Intel Hyper-Threading Technology

По крайней мере есть исследования, подтверждающие рост производительности программ, адаптированных к двухъядерным микросхемам, примерно на 15-18%, если в процессоре работают модули Intel Hyper Threading. Как отключить их — мы уже знаем (на случай, если у пользователя возникнут сомнения в целесообразности задействования технологии). Но ощутимых поводов для их появления, вероятно, очень немного.

Практическая полезность Hyper-Threading

Дала ли технология, о которой идет речь, ощутимые конкурентные преимущества компании Intel? Есть разные мнения на этот счет. Но очень многие отмечают: настолько стала востребованной технология Hyper-Threading, что это решение стало незаменимым для многих производителей серверных систем, к тому же было положительно встречено рядовыми пользователями ПК.

Аппаратная обработка данных

Основное преимущество технологии — в том, что она реализована в аппаратном формате. То есть основная часть вычислений будет производиться внутри процессора на специальных модулях, а не в виде программных алгоритмов, передаваемых на уровень основного ядра микросхемы — что предполагало бы снижение общей производительности ПК. В целом, как отмечают IT-эксперты, инженерам Intel удалось решить задачу, которая была определена ими в начале разработки технологии — заставить процессор функционировать эффективнее. Действительно, как показали тесты, при решении многих практически значимых для пользователя задач использование Hyper-Threading позволило существенно ускорить работу.

Hyper-Threading процессоры

Можно отметить, что среди процессоров Pentium 4 те микросхемы, которые были оснащены модулями поддержки рассматриваемой технологии, работали существенно эффективнее первых модификаций. Во многом это выражалось в способности ПК функционировать в режиме реальной многозадачности — когда открыто несколько разнотипных приложений Windows, и крайне нежелательно, чтобы в силу активизации потребления ресурсов системы одним из них снижалась скорость работы других.

Одновременное решение разных задач

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

Аналогичные разработки

Технология Hyper-Threading — не единственная, которая создана с целью повышения производительности ПК за счет многопоточных вычислений. У нее есть аналоги.

Например, в процессорах POWER5, выпущенных компанией IBM, также реализована поддержка многопоточности. То есть каждое из ядер процессора (всего на нем установлено 2 соответствующих элемента), может выполнять задачи в рамках 2 потоков. Тем самым микросхема обрабатывает 4 потока вычислений одновременно.

Hyper-Threading какие процы поддерживают

В компании AMD также есть отличные результаты работы в области концепций многопоточности. Так, известно, что в архитектуре Bulldozer задействуются алгоритмы, схожие с Hyper-Threading. Особенность решения от AMD в том, что каждый из потоков обрабатывает отдельные блоки процессора. При этом кэш второго уровня остается общим. Схожие концепции реализованы и в разработанной AMD архитектуре Bobcat, которая адаптирована для ноутбуков и небольших ПК.

Разумеется, прямыми аналогами концепции от AMD, IBM и Intel считать можно очень условно. Равно как и подходы к конструированию архитектуры процессоров в целом. Но принципы, реализованные в соответствующих технологиях, можно считать вполне схожими, а цели, которые поставлены разработчиками в аспекте повышения эффективности функционирования микросхем — очень близкими по сути, если не идентичными.

Таковы ключевые факты, касающиеся интереснейшей технологии от Intel. Что она собой представляет, как включить Hyper-Threading или, наоборот, дезактивировать, мы определили. Дело, вероятно, в практическом использовании ее преимуществ, которые можно задействовать, убедившись, что ПК в аппаратных и программных компонентах поддерживает технологию.

Технология Hyper-Threading от Intel / Процессоры и память

В прошлом мы рассказывали о технологии одновременной многопоточности (Simultaneous Multi-Threading — SMT), которая применяется в процессорах Intel. И хотя первоначально она создавалась под кодовым именем «технология Джексона» (Jackson Technology) как возможный, вероятный вариант, Intel официально анонсировала свою технологию на форуме IDF прошлой осенью. Кодовое имя Jackson было заменено более подходящим Hyper-Threading. Итак, для того чтобы разобраться, как работает новая технология, нам нужны кое-какие первоначальные знания. А именно, нам нужно знать, что такое поток, как выполняются эти потоки. Почему работает приложение? Как процессор узнает, какие операции и над какими данными он должен совершать? Вся эта информация содержится в откомпилированном коде выполняемого приложения. И как только приложение получает от пользователя какую-либо команду, какие-либо данные, – процессору сразу же отправляются потоки, в результате чего он и выполняет то, что должен выполнить в ответ на запрос пользователя. С точки зрения процессора, поток – это набор инструкций, которые необходимо выполнить. Когда в вас попадает снаряд в Quake III Arena, или когда вы открываете документ Microsoft Word, процессору посылается определенный набор инструкций, которые он должен выполнить.

Процессор точно знает, где брать эти инструкции. Для этой цели предназначен редко упоминаемый регистр, называемый счетчиком команд (Program Counter, PC). Этот регистр указывает на место в памяти, где хранится следующая для выполнения команда. Когда поток отправляется на процессор, адрес памяти потока загружается в этот счетчик команд, чтобы процессор знал, с какого именно места нужно начать выполнение. После каждой инструкции значение этого регистра увеличивается. Весь этот процесс выполняется до завершения потока. По окончании выполнения потока, в счетчик команд заносится адрес следующей инструкции, которую нужно выполнить. Потоки могут прерывать друг друга, при этом процессор запоминает значение счетчика команд в стеке и загружает в счетчик новое значение. Но ограничение в этом процессе все равно существует – в каждую единицу времени можно выполнять лишь один поток.

Существует общеизвестный способ решения данной проблемы. Заключается он в использовании двух процессоров – если один процессор в каждый момент времени может выполнять один поток, то два процессора за ту же единицу времени могут выполнять уже два потока. Отметим, что этот способ не идеален. При нем возникает множество других проблем. С некоторыми, вы уже, вероятно, знакомы. Во-первых, несколько процессоров всегда дороже, чем один. Во-вторых, управлять двумя процессорами тоже не так-то просто. Кроме того, не стоит забывать о разделении ресурсов между процессорами. Например, до появления чипсета AMD 760MP, все x86 платформы с поддержкой многопроцессорности разделяли всю пропускную способность системной шины между всеми имеющимися процессорами. Но основной недостаток в другом – для такой работы и приложения, и сама операционная система должны поддерживать многопроцессорность. Способность распределить выполнение нескольких потоков по ресурсам компьютера часто называют многопоточностью. При этом и операционная система должна поддерживать многопоточность. Приложения также должны поддерживать многопоточность, чтобы максимально эффективно использовать ресурсы компьютера. Не забывайте об этом, когда мы будем рассматривать ещё один подход решения проблемы многопоточности, новую технологию Hyper-Threading от Intel.

Производительности всегда мало

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

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

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

1+1
10+1
Сохранить предыдущий результат

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

Итак, вы видите, что в каждый такт используется только 33% всех исполнительных устройств. В этот раз FPU остается вообще незадействованным. В соответствии с данными Intel, большинство программ для IA-32 x86 используют не более 35% исполнительных устройств процессора Pentium 4.

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

И снова загруженность исполнительных устройств составляет лишь на 33%.

Хорошим выходом из данной ситуации будет параллелизм на уровне инструкций (Instruction Level Parallelism — ILP). В этом случае одновременно выполняются сразу нескольких инструкций, поскольку процессор способен заполнять сразу несколько параллельных исполнительных устройств. К сожалению, большинство x86 программ не приспособлены к ILP в должной степени. Поэтому приходится изыскивать другие способы увеличения производительности. Так, например, если бы в системе использовалось сразу два процессора, то можно было бы одновременно выполнять сразу два потока. Такое решение называется параллелизмом на уровне потоков (thread-level parallelism, TLP). К слову сказать, такое решение достаточно дорогое.

Какие же ещё существуют способы увеличения исполнительной мощи современных процессоров архитектуры x86?

Hyper-Threading

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

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

Hyper-Threading – это название технологии, существовавшей и ранее вне x86 мира, технологии одновременной многопоточности (Simultaneous Multi-Threading, SMT). Идея этой технологии проста. Один физический процессор представляется операционной системе как два логических процессора, и операционная система не видит разницы между одним SMT процессором или двумя обычными процессорами. В обоих случаях операционная система направляет потоки как на двухпроцессорную систему. Далее все вопросы решаются на аппаратном уровне.

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

Официально технология была объявлена на форуме Intel Developer Forum прошлой осенью. Технология демонстрировалась на процессоре Xeon, где проводился рендеринг с помощью Maya. В этом тесте Xeon с Hyper-Threading показал на 30% лучшие результаты, чем стандартный Xeon. Приятный прирост производительности, но больше всего интересно то, что технология уже присутствует в ядрах Pentium 4 и Xeon, только она выключена.

Технология пока ещё не выпущена, однако те из вас, кто приобрел 0,13 мкм Xeon, и установил этот процессор на платы с обновленным BIOS, наверняка были удивлены, увидев в BIOS опцию включения/отключения Hyper-Threading.

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

Остается очень интересный вопрос, почему Intel хочет оставить эту опцию выключенной?

Углубляемся в технологию

Помните те два потока из предыдущих примеров? Давайте на этот раз предположим, что наш процессор оснащен Hyper-Threading. Посмотрим, что получится, если мы попытаемся одновременно выполнить эти два потока:

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

Итак, что же мы видим? Параллелизм на уровне потоков дал сбой – исполнительные устройства стали использоваться ещё менее эффективно. Вместо параллельного выполнения потоков, процессор выполняет их медленнее, чем если бы он выполнял их без Hyper-Threading. Причина довольно проста. Мы пытались одновременно выполнить сразу два очень похожих потока. Ведь оба они состоят из операций по загрузке/сохранению и операций сложения. Если бы мы параллельно запускали «целочисленное» приложение и приложение, работающее с плавающей точкой, мы бы оказались куда в лучшей ситуации. Как видим, эффективность Hyper-Threading сильно зависит от вида нагрузки на ПК.

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

На рабочих же станциях возможностей для увеличения производительности у Hyper-Threading больше. Но с другой стороны, все зависит от конкретного использования компьютера. Рабочая станция может означать как high-end компьютер для обработки 3D графики, так и просто сильно нагруженный компьютер.

Наибольший же прирост в производительности от использования Hyper-Threading наблюдается в серверных приложениях. Главным образом это объясняется широким разнообразием посылаемых процессору операций. Сервер баз данных, использующих транзакции, может работать на 20-30% быстрее при включенной опции Hyper-Threading. Чуть меньший прирост производительности наблюдается на веб-серверах и в других сферах.

Максимум эффективности от Hyper-Threading

Вы думаете, Intel разработала Hyper-Threading только лишь для своей линейки серверных процессоров? Конечно же, нет. Если бы это было так, они бы не стали впустую тратить место на кристалле других своих процессоров. По сути, архитектура NetBurst, использующаяся в Pentium 4 и Xeon, как нельзя лучше подходит для ядра с поддержкой одновременной многопоточности. Давайте ещё раз представим себе процессор. На этот раз в нем будет ещё одно исполнительное устройство – второе целочисленное устройство. Посмотрим, что случится, если потоки будут выполняться обоими устройствами:

С использованием второго целочисленного устройства, единственный конфликт случился только на последней операции. Наш теоретический процессор в чем-то похож на Pentium 4. В нем имеется целых три целочисленных устройства (два ALU и одно медленное целочисленное устройство для циклических сдвигов). А что ещё более важно, оба целочисленных устройства Pentium 4 способны работать с двойной скоростью – выполнять по две микрооперации за такт. А это, в свою очередь, означает, что любое из этих двух целочисленных устройств Pentium 4/Xeon могло выполнить те две операции сложения из разных потоков за один такт.

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

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

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

Выводы

Хотя мы все были крайне обрадованы, когда до нас дошли слухи об использовании Hyper-Threading в ядрах всех современных Pentium 4/Xeon, все же это не будет бесплатной производительностью на все случаи жизни. Причины ясны, и технологии предстоит преодолеть ещё многое, прежде чем мы увидим Hyper-Threading, работающую на всех платформах, включая домашние компьютеры. А при поддержке разработчиков, технология определенно может оказаться хорошим союзником Pentium 4, Xeon, и процессорам будущего поколения от Intel.

При существующих ограничениях и при имеющейся технологии упаковки, Hyper-Threading кажется более разумным выбором для потребительского рынка, чем, например, подход AMD в SledgeHammer – в этих процессорах используется целых два ядра. И до тех пор, пока не станут совершенными технологии упаковки, такие как Bumpless Build-Up Layer, стоимость разработки многоядерных процессоров может оказаться слишком высокой.

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

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

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

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-игр, ваш процессор, вероятно, оборудован поддерживать.Обязательно выберите систему, которая работает с высокой скоростью, или подготовьтесь к созданию собственной системы, если VR-игры являются главным приоритетом. В противном случае вам, возможно, придется изо всех сил пытаться разогнать процессор или гиперпоточить свои ядра, чтобы погрузиться в безумие виртуальной реальности.

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

Резюме

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

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

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

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

Что такое Hyper-Threading? [Объяснение технологии]

MakeUseOf — Политика конфиденциальности

Мы уважаем вашу конфиденциальность и обязуемся защищать вашу конфиденциальность во время работы в сети на нашем сайт. Ниже раскрываются методы сбора и распространения информации для этой сети. сайт.

Последний раз политика конфиденциальности обновлялась 10 мая 2018 г.

Право собственности

MakeUseOf («Веб-сайт») принадлежит и управляется Valnet inc.(«Нас» или «мы»), корпорация зарегистрирован в соответствии с законодательством Канады, с головным офисом по адресу 7405 Transcanada Highway, Люкс 100, Сен-Лоран, Квебек h5T 1Z2.

Собранные персональные данные

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

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

Файлы журнала

Как и большинство стандартных серверов веб-сайтов, мы используем файлы журналов. Это включает интернет-протокол (IP) адреса, тип браузера, интернет-провайдер (ISP), страницы перехода / выхода, тип платформы, дата / время и количество кликов для анализа тенденций, администрирования сайта, отслеживания пользователей движение в совокупности и собирать широкую демографическую информацию для совокупного использования.

Файлы cookie

Файл cookie — это фрагмент данных, хранящийся на компьютере пользователя, связанный с информацией о пользователе. Мы и некоторые из наших деловых партнеров (например, рекламодатели) используем файлы cookie на нашем веб-сайте. Эти файлы cookie отслеживают использование сайта в целях безопасности, аналитики и целевой рекламы.

Мы используем следующие типы файлов cookie:

  • Основные файлы cookie: эти файлы cookie необходимы для работы нашего веб-сайта.
  • Функциональные cookie-файлы: эти cookie-файлы помогают нам запоминать выбор, который вы сделали на нашем веб-сайте, запоминать ваши предпочтения и персонализировать ваш опыт работы с сайтом.
  • Аналитические и рабочие файлы cookie: эти файлы cookie помогают нам собирать статистические и аналитические данные об использовании веб-сайта.
  • Файлы cookie социальных сетей: эти файлы cookie позволяют вам взаимодействовать с контентом на определенных платформах социальных сетей, например, «лайкать» наши статьи. В зависимости от ваших социальных сетей настройки, сеть социальных сетей будет записывать это и может отображать ваше имя или идентификатор в связи с этим действием.
  • Рекламные и таргетированные рекламные файлы cookie: эти файлы cookie отслеживают ваши привычки просмотра и местоположение, чтобы предоставить вам рекламу в соответствии с вашими интересами. См. Подробности в разделе «Рекламодатели» ниже.

Если вы хотите отключить файлы cookie, вы можете сделать это в настройках вашего браузера. Для получения дополнительной информации о файлах cookie и способах управления ими, см. http://www.allaboutcookies.org/.

Пиксельные теги

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

Рекламодатели

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

Рекламодатели, как сторонние поставщики, используют файлы cookie для сбора данных об использовании и демографических данных для показа рекламы на нашем сайте. Например, использование Google Файлы cookie DART позволяют показывать рекламу нашим пользователям на основе их посещения наших сайтов и других сайтов в Интернете. Пользователи могут отказаться от использования DART cookie, посетив политику конфиденциальности Google для рекламы и содержательной сети.

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

Мы используем следующих рекламодателей:

Ссылки на другие веб-сайты

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

Цель сбора данных

Мы используем информацию, которую собираем, чтобы:

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

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

Как хранятся ваши данные

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

IP-адрес и строковые данные пользовательского агента от всех посетителей хранятся в ротационных файлах журнала на Amazon. сервера на срок до 7 дней. Все наши сотрудники, агенты и партнеры стремятся сохранить ваши данные конфиденциальны.

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

Согласие в соответствии с действующим законодательством

Если вы проживаете в Европейской экономической зоне («ЕЭЗ»), окно согласия появится, когда доступ к этому сайту.Если вы нажали «да», ваше согласие будет храниться на наших серверах в течение двенадцать (12) месяцев, и ваши данные будут обработаны в соответствии с настоящей политикой конфиденциальности. После двенадцати месяцев, вас снова попросят дать согласие.

Мы соблюдаем принципы прозрачности и согласия IAB Europe.

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

Безопасность данных

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

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

Доступ, изменение и удаление ваших данных

Вы имеете право запросить информацию о данных, которые у нас есть для вас, чтобы запросить исправление и / или удаление вашей личной информации. пожалуйста, свяжитесь с нами в [email protected] или по указанному выше почтовому адресу, внимание: Отдел соблюдения требований данных.

Возраст

Этот веб-сайт не предназначен для лиц младше 16 лет. Посещая этот веб-сайт. Вы настоящим гарантируете, что вам исполнилось 16 лет или вы посещаете Веб-сайт под присмотром родителей. надзор.

Заявление об отказе от ответственности

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

Уведомление об изменениях

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

Контактная информация

Если у пользователей есть какие-либо вопросы или предложения относительно нашей политики конфиденциальности, свяжитесь с нами по адресу [email protected] или по почте на указанный выше почтовый адрес, внимание: Департамент соответствия данных.

.

Вопросы и ответы по Hyper Threading | AyumiLove

Список часто задаваемых вопросов по Hyper Threading.

Что такое Hyperthreading?
Стоит ли HyperThreading дополнительных 80 или 100 долларов?
Когда включать или отключать Hyperthreading?
Каковы преимущества Hyperthreading?
Какие недостатки у Hyperthreading?
Вредит ли HyperThreading производительности?
Повышает ли отключение Hyper-Threading производительность?
Включить HT vs отключить HT ???
Зачем мне вообще гиперпоточность?
Как включить или отключить Hyper Threading на процессоре Intel?

Что такое Hyperthreading

Hyper-threading (официально Hyper-Threading Technology или HT, сокращенно HTT или HT) — это термин Intel, обозначающий одновременную многопоточность для улучшения распараллеливания вычислений (одновременное выполнение нескольких задач), выполняемых на микропроцессорах ПК.Для каждого физически присутствующего ядра процессора операционная система обращается к двум виртуальным или логическим ядрам и распределяет рабочую нагрузку между ними, когда это возможно. Основная функция гиперпоточности — уменьшить количество зависимых инструкций в конвейере. Короче говоря, четырехъядерный процессор без HT (например, процессор i5) имеет (4 ядра / 4 потока), тогда как четырехъядерный с HT (например, процессор i7) имеет (4 ядра / 8 потоков).

Стоит ли HyperThreading дополнительных 80 фунтов стерлингов?

Если вы в основном используете свой компьютер для игр, это не стоит затрат, поскольку в играх для ПК не используется более 4 потоков.Четырехъядерный процессор (4 ядра / 4 потока) достаточно для большинства высокопроизводительных игр, тогда как двухъядерный процессор с HT (2 ядра / 4 потока) будет на уровне четырехъядерного процессора. Вам не нужно тратить дополнительные деньги на HyperThreading (HT), если вы не часто используете это 32/64 битное программное обеспечение для работы / развлечений / хобби, перечисленных ниже.
Редактирование видео: Adobe Premiere, Sony Vegas, MeGUI x264, Handbrake, Avidemux
Создание 3D: Blender
Обработка фотографий: Adobe Photoshop
Рабочая станция цифрового аудио: Sonar X1
7 Сжатие файлов: 7Zip WinRAR, WinZip
Шифрование: TrueCrypt

Программное обеспечение

HT повышает производительность максимум на 25%.Если предположить, что четырехъядерному процессору без HT требуется 60 минут для кодирования видео, то с HT потребуется около 48 минут, что позволит сэкономить 12 минут на счетах за электроэнергию на кодирование видео. Суммируется эта экономия, если вы используете ПК в течение 2-6 лет перед обновлением до следующего процессора Intel Tick / Tock или переходите на процессор AMD, если они предлагают более производительный процессор по сравнению с Intel.

Когда включать или отключать Hyperthreading?

Для владельцев ЦП HT они отключили бы его для игр и легкого повседневного использования (просмотр веб-страниц / загрузка-загрузка файлов / выполнение офисных работ) и включили бы его для интенсивного использования (свертывание / кодирование / распределение-вычисления).Отключение HT позволяет вам разогнаться на более высокой стандартной скорости дополнительно на 100-200 МГц или снизить температуру на 4-5 градусов Цельсия в режиме ожидания и 10 градусов Цельсия при нагрузке при запуске тяжелых приложений или при тестировании через Prime95. Отключенный HT также увеличивает FPS в играх на 3-5 кадров в секунду и увеличивает производительность других приложений всего на 1-5%.

Подводя итог, если ваш процессор поддерживает Hyperthreading, у вас будет возможность включать / выключать его в зависимости от вашего использования. Однако лучше просто оставить его включенным всегда, потому что в реальной жизни большинство людей склонны выполнять несколько задач одновременно (выполняя 2 или более задач одновременно).Например, кодирование видео при воспроизведении Skyrim или музыкальном проигрывателе, работа над школьным заданием или серфинг в Интернете, открытие / переключение нескольких вкладок браузера и т. Д. Hyperthreading обеспечивает лучший опыт использования ПК примерно на 10% без HT CPU.

Каковы преимущества Hyperthreading?

Вы получаете максимум 25% от приложений, использующих технологию Hyper Threading (HTT). Некоторые приложения HT могут достигать 30%, а другие — всего 5%.Игры с низко-средними настройками получают дополнительный прирост производительности, поскольку в основном они полагаются на процессор, а не на графический процессор, тогда как при сверхвысоких настройках преимущества Hyper Threading не проявляются, как сообщают владельцы i7 HT-CPU.

Какие недостатки у Hyperthreading?

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

Вредит ли Hyper-Threading производительности?

Да и нет до определенной степени. Если в 80% случаев вы запускаете приложения, отличные от HT, вы не увидите повышения производительности по сравнению с переключением установки вашей ОС (операционной системы) с жесткого диска (жесткого диска) на твердотельный накопитель (SSD). Если вы много часов запускаете тяжелые многопоточные приложения, такие как кодирование видео + потоковая передача в реальном времени + запись + и т. Д., Вы заметите это небольшое увеличение производительности.

Отключение Hyper-Threading увеличивает производительность?

Это зависит от того, какое приложение вы запускаете и как долго оно работает.Например, процессор Core i7, такой как Sandy Bridge 2600K или Ivy Bridge 3770K с включенной Hyper Threading, сэкономит больше времени при выполнении длительных задач, таких как сжатие сотен файлов, компиляция программного обеспечения с большим кодом с помощью Java Netbeans или Microsoft Visual Studio, шифрование файлы, кодирование HD-видео или аудио без потерь / с потерями, 3D-анимацию и т. д. по сравнению с воспроизведением музыки в проигрывателе Windows Media, просмотром фильмов или бумажной работой в программном обеспечении Microsoft Office. Отключение Hyper Threading в этом сценарии приведет к обратным результатам в достижении более высокой производительности.Вместо того, чтобы застревать между вопросом о включении или отключении, было бы целесообразно подумать о ваших текущих потребностях. Если вы в основном играете, выберите ЦП Intel без HT, чтобы сэкономить деньги.

Включить HT vs отключить HT ???

Краткий ответ — Нет. Задайте себе вопрос: зачем покупать процессор Hyper Threading, который стоит дополнительно 100 долларов США, но позже задаетесь вопросом, отключать ли эту функцию? Разве не лучше было бы купить ЦП без Hyper-Threading, чтобы сэкономить деньги или инвестировать в другие компоненты ПК? Ознакомьтесь с преимуществами и недостатками Hyperthreading выше.

Зачем мне вообще гиперпоточность?

Hyper Threading имеет большое значение при создании контента, например при кодировании / декодировании видео или рендеринге 3D-объектов или сверхмощного звука. В противном случае вы не увидите почти никакой пользы при ежедневном использовании обычных приложений.

Как включить или отключить Hyper Threading на процессоре Intel?

Перезагрузите компьютер и войдите в yoru BIOS Setup Utility или UEFI (материнскую плату), прокрутите вниз до CPU Config с помощью клавиш со стрелками или мыши, и вы увидите опцию Intel (R) Hyper Threading Technology [Enabled], измените настройки с помощью клавиши со стрелками и нажмите F10, чтобы сохранить и выйти.На некоторых материнских платах клавиши опций устанавливаются по-другому, поэтому ознакомьтесь с руководством по материнской плате.

.

Hyper-Threading — Википедия

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

Essa viene utilizzata attivamente dalla società a partire dal 2003.

La tecnologia Hyper-Threading — это статистическая информация, которая публикуется совместно с Intel на корсо дельи, в основе идеи всего базового поколения для миграционной установки процессоров, установленных на параллельном параллельном блоке обработки процессоров. .

Технология Hyper-Threading — это статистика, представленная Intel в настоящее время в процессоре с двухъядерным процессором, не запущенном в настоящее время, когда производятся производственные мощности в области технологий, технологии производства, производственного процесса, производимого в период с 2003 года в прошлом году. , который не позволяет «физически» представить 2-х ядерный внутренний универсальный пакет.

Essa Venne introdotta inizialmente nel settore server con gli Xeon e gli Itanium 2, полностью в том, что это означает, что все приложения содержат второй критерий «параллелизма» кода.В 2003 году Intel обеспечивает повышенную частоту до 3 ГГц для каждого процессора Pentium 4, предназначенный для настольного компьютера, а также обеспечивает удобство работы с более сложными задачами; al fine di migliorare ulteriormente le prestazioni dei propri processori desktop senza per questo dover aumentare la frequency and il consumo massimo, decise di promuovere l’adozione della tecnologia Hyper-Threading anche in questo settore eil primo processore desktop ad esserne 4 dotato fu il Northwood с частотой 3,06 ГГц с шиной 533 МГц.Последовательное внедрение во всех последовательных моделях Pentium 4, сжатие основано на следующих ядрах Northwood, а также в ужасном Prescott и Cedar Mill, простом двухъядерном процессоре Pentium Extreme Edition; Кроме того, в этом случае, это касается технологии Hyper-Threading, которая отличается уникальными характеристиками, которые отличаются от двухъядерных процессоров, Pentium D и других процессоров.

Secondo le dichiarazioni iniziali di Intel, questa tecnologia avrebbe dovuto garantire un miglioramento delle prestazioni del 24% a prescindere dalla velocità di clock, ma i fatti dimostrarono in seguitote quénée quénée éra espetistes espétistes quanto auspicato e, soprattutto, limitato ad una ristretta cerchia di applications, soprattutto legate al mondo grafico, in grado di sfruttarne le Potenzialità.На чистом изображении, это программное обеспечение с развивающейся графикой, как Photoshop или 3D Studio Max, не имеет 10% преимуществ.

Схема функционирования Hyper-Threading. Le istruzioni dei diversi thread (indicati con colore diversi) vengono mischiate ed eseguite in parallelo all’interno del processore al fine d’utilizzare al meglio le unità d’elaborazione

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

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

Grazie all’Hyper-Threading un single core era comunque in grado di gestire più thread in contemporanea, quando le istruzioni di un thread rimanevano bloccate nella pipeline il processoreprodeva ad подробный и второй поток al fine di mantenere le unitper di расширенный семантический поток .Я использую потоки, которые могут быть использованы для создания блоков данных, содержащих много данных, квалифицируя их как результат восстановления данных (per esempio un cache miss) или за проблемы, связанные с получением данных, содержащихся в альтернативном издании.

Принципиальная дифференциация «Hyper-Threading» и «двухъядерный процессор» [изменение | modifica wikitesto]

Соло-репликация единого блока разработки, которая не может быть завершена, является предварительным, с двухъядерным процессором, верным и собственным, а также внутренним ядром, дублирующимся.Передний доступ к более полному содержанию, Intel обеспечивает интеграцию технологий Hyper-Threading, соединение с центральным процессором на уровне 5% и на входе в систему с установленным уровнем доступа 30%. si trattasse in realtà di un valore quasi irraggiungibile. В ogni caso, un aumento tanto modesto della superficie del processore consentiva di context i costi di produzione e quindi il rapporto costi / benefici era a favore dei modelli Integration Среди tecnologia rispetto a quelli prevdenti.

Hyper-Threading для просмотра операционной системы [изменение | modifica wikitesto]

Это обеспечивает простоту работы системы, одноядерный процессор с технологией Hyper-Threading, неотличимый от обычного двухъядерного процессора. Infatti Intel предлагает новое решение в режиме, который работает в системе «Vedesse», в которой представлены 2 ядра разработки. Это ядро ​​не работает в двухъядерных процессорах, включая двухъядерные процессоры, а также двухъядерные логики, что очень важно для технологии Hyper-Threading; Это эсса эры в градации сфер 2 основных проработки, эра анче в градо сфруттаре ле потенциальной новой технологии.Il BIOS della scheda madre, который доведет вас до новой технологии, faceva «credere» al sistema operativo e all application di trovarsi di fronte ad un vero e proprio sistema biprocessore.

L’abbandono della tecnologia nei Principal settori di mercato [изменение | modifica wikitesto]

Con l’avvento, частичная дата выпуска 2006 г., новые процессоры с двухъядерным процессором с архитектурой «Core», Core 2 Duo Conroe, преемник Pentium D Presler, Intel решила отказаться от реализации этой технологии в Quanto essa era poco efficace quando abbinata двухъядерный процессор с конвейером, входящий в Core 2 Duo.

Начало 2008 года прибыло с новым процессором Atom в новой версии Silverthorne и Diamondville, предназначенной для рискованного использования UMPC и других систем с большой экономикой. Questa architettura è pensata espressamente for il contenimento massimo dei consumi, con unevitabili ripercussioni anche sulle prestazioni, che ovviamente nonpossono essere paragonate a quelle de CPU pensate per gli altri settori di mercato per contenimento per gli altri settori di mercato per contenimenti de quali de de la de de la de la de de la de la de la de la de de la de la de de la de la de de la de la de la de la de la de la de la de la ciére.Все хорошо не наказуемые тропы приложений, использующих многопоточность, Intel решила интегрировать их в эти продукты для технологии Hyper-Threading, которые имеют собственное управление и все внутренние процессы.

Comunque Intel, già al momento del lancio dell’architettura «Core», non parlò mai di abbandono Definitivo e quindi, apparso subito plausibile un ritorno, sebbene in versione rivisitata, di questa tecnologia ancheti del fasotti de fasotti.Это предложение, все хорошее из 2008 прибывших и первых процессоров аппартентов с новой архитектурой Nehalem, последовало за «Core», что портировано с одной технологией, аналогичной chiamata одновременной многопоточности. Al momento dell’annuncio da parte di Intel di re-insrire una tecnologia, sebbene si tratti di una sua evoluzione, che non ha mai goduto di specific successo presso i clienti, sono emersi alcuni interrogativi sulle motivazioni di questa scelusion.

.

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

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