What is hyper threading in windows

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

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

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

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

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

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

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

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

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

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

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

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

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

    Отсутствие оптимизации ПО. Самая основная проблема — программы считают логические ядра физическими, из-за чего при параллельном выполнении задач на одном ядре часто возникают задержки из-за обращения задач к одному и тому же вычислительному блоку, что в итоге сводит сводит прирост производительности от HT на нет.

  • Зависимость данных. Вытекает из предыдущего пункта — для выполнения одной задачи требуется результат другой, а она еще не выполнена. И опять же мы получаем простой, снижение загрузки на процессор и небольшой прирост от HT.
  • Читайте также:  Сам позвонил windows phone

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

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

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

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

    Итоги

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

    What Is Hyper-Threading?

    Here’s how Intel® Hyper-Threading Technology (Intel® HT Technology) helps processors do more work at the same time. 1 2

    Here’s how Intel® Hyper-Threading Technology (Intel® HT Technology) helps processors do more work at the same time. 1 2

    Highlights:

    Intel® Hyper-Threading Technology.

    Intel® Turbo Boost Technology.

    Latest Intel® Core™ processors.

    Intel® Core™ i9 processors.

    Nearly all CPUs today are multi-core: they contain several processing units that can handle different tasks at once.

    However, the benefits of adding more cores aren’t always spelled out. What’s the difference between single-threaded and multithreaded applications? What is Hyper-Threading, and how is it different from normal multithreading?

    To explain the benefits of additional cores and Intel® Hyper-Threading Technology, let’s walk through these terms and explain what they mean when running games and everyday applications.

    What Is Multithreading?

    Multithreading is a form of parallelization or dividing up work for simultaneous processing. Instead of giving a large workload to a single core, threaded programs split the work into multiple software threads. These threads are processed in parallel by different CPU cores to save time.

    Depending on how they’re built, games may be lightly threaded or heavily threaded. Some older game engines are known for their reliance on single-threaded performance, meaning they mostly use a single CPU core and get a major boost from higher clock speeds.

    Today, game engines like Unreal Engine 4 utilize multiple cores when creating complex scenes 3 . Engines may also use multithreading to handle different parts of “draw calls” — instructions sent from the CPU to the GPU about in-game objects, textures, and shaders to draw.

    Что такое Hyper-Threading?

    Вот как технология Intel® Hyper-Threading (Intel® HT) помогает процессорам работать более эффективно. 1 2

    Вот как технология Intel® Hyper-Threading (Intel® HT) помогает процессорам работать более эффективно. 1 2

    Основные моменты:

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

    Технология Intel® Turbo Boost.

    Новейшие процессоры Intel® Core™.

    Процессоры Intel® Core™ i9.

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

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

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

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

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

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

    Читайте также:  Pcsu1000 драйвер windows 10

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

    How to enable hyper-threading in Windows 10 and is it needed?

    Do you need your PC to become faster without going for a hardware makeover? Then consider hyper-threading the cores of your central processing unit (CPU).

    You might ask, “What is hyper-threading, and how does it work?” Well, keep reading to find out.

    What Is Hyper-Threading Used For?

    Intel refers to simultaneous multithreading (SMT) as hyper-threading. It means splitting each of the physical cores in a CPU into virtual cores known as threads.

    So let’s say a CPU has two cores (i.e. dual-core). In this case, enabling hyper-threading creates four threads, allowing each core to perform two tasks at the same time.

    This process improves the efficiency and boosts the performance of your CPU. You can then run more than a few demanding programs at the same time without experiencing any lag.

    However, it is power-demanding and, as a result, might make your PC heat up.

    Do I Need Hyper-Threading?

    If you normally run applications like browsers and Microsoft Office, then you won’t need hyper-threading (HT). But most video games that are now being released usually do well on hyper-threaded CPUs.

    It helps only if the tasks you perform require it, in which case there can be as much as a 30 percent increase in speed and performance.

    Also, if you have to make a choice between two CPUs where one has more physical cores while the other has fewer but with hyper-threading enabled, it is better to go for the former.

    For instance, if you have an opportunity to use a quad-core (four cores) CPU without hyper-threading enabled, it is preferable to choose it over a dual-core (two cores) hyper-threaded CPU.

    However, if the HT-enabled CPU also has four cores, then the choice will now depend on the kind of apps you run on your computer. If they are not demanding enough to make full use of the virtual cores, then hyper-threading won’t cause a difference in performance.

    How to Enable Hyper-Threading

    Enabling HT requires that you enter your system’s BIOS settings. You can look up how to do so for your device.

    Once you are in BIOS, here’s what you have to do:

    1. Select Processor and then click Properties in the menu that opens.
    2. Turn hyper-threading on.
    3. Select Exit & Save Changes from the Exit menu.

    Keep in mind that not all processors allow hyper-threading. However, some CPU cores are hyper-threaded by default, so you won’t need to trouble yourself with turning on the feature manually.

    To know if it is already enabled, here’s what you have to do:

    1. Press the Windows logo key + R combination on your keyboard to open the Run dialog.
    2. Type ‘CMD’ in the text field and press Enter or click OK to open the Command Prompt window.
    3. Type ‘wmic’ (don’t include the inverted commas) and press Enter.
    4. Type ‘CPU Get NumberOfCores,NumberOfLogicalProcessors /Format:List’ and press Enter.

    The results will show the ‘Number of cores’ and ‘Number of logical processors’ entries. If they both have the same value, it means that your CPU cores are not hyper-threaded. But if the number of logical processors is two times the number of cores, then hyper-threading is enabled.

    We hope you’ve found these hyper-threading technology tips useful.

    Resolve PC Issues with Auslogics BoostSpeed

    Besides cleaning and optimizing your PC, BoostSpeed protects privacy, diagnoses hardware issues, offers tips for boosting speed and provides 20+ tools to cover most PC maintenance and service needs.

    Что такое Hyper-Threading и как это работает?

    Решаете купить новый процессор Intel? Хотели купить новый компьютер с установленным процессором Intel — тогда вы, возможно, слышали термин Hyper-Threading . Возможно, вы не знакомы с этим термином, если вы не технарь. Понимание Hyper-Threading очень важно, так как это одна из основных функций в линейках процессоров Intel.

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

    Технология Hyper-Threading присутствует на процессорах Intel уже почти 10 лет, но многие люди не знают, что это значит! Многие думают, что Hyper-Threading фактически удваивает количество ядер процессора, имеющихся на процессоре.

    Читайте также:  Как изучать система windows

    Что такое Hyper-Threading?

    Технология Hyper-Threading (также называемая технологией HTT или HT ) — это реализация Intel технологии одновременной многопоточности ( SMT ), которая более эффективно использует ресурсы процессора, позволяя нескольким потокам работать на каждом ядре. Независимо от того, сколько лет исследований мы провели в процессорной промышленности, есть одна конечная проблема. Одно ядро ​​процессора может одновременно обрабатывать только один поток.

    Например, вы используете Chrome, MS Word и Photoshop одновременно, вы можете чувствовать себя многозадачным. Но с точки зрения процессора — нет. Процессор выполняет только один поток за раз отдельной программы, но поскольку современные процессоры настолько быстры, мы не заметим никакой задержки. Но есть небольшая задержка времени после выполнения одного потока до следующего потока начинает свое выполнение. Эта задержка в основном вызвана планированием того, как потоки из каждой отдельной программы должны быть поданы в процессор. Итак, как мы можем минимизировать эту задержку — ответ « Hyper-Threading ».

    Как работает Hyper-Threading?

    Мы знаем, что Hyper-Threading является формой технологии одновременной многопоточности (SMT). Концепция Hyper-Threading довольно проста. Процессор с включенной технологией Hyper-Threading состоит из двух логических процессоров на ядро. Каждый логический процессор может работать независимо — может быть остановлен, прерван и направлен на выполнение определенного потока. Это позволяет назначать ресурсы процессора одновременно двум отдельным потокам.

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

    Все еще не поняли? Не волнуйтесь! Давайте возьмем пример, предположим, что я — процессор — я обрабатываю пищу своим ртом. Итак, я могу есть столько, сколько мой рот может жевать. Я могу добавить дополнительный рот на тот случай, если мне понадобится обработать больше еды (на что похожи многоядерные системы). Но из-за некоторых ограничений у меня может быть только один рот для обработки пищи. Я использую свою руку, чтобы перекусить и поднести ко рту для обработки. Таким образом, я могу обрабатывать только то количество пищи, которое может принести моя рука. Если я смогу закончить жевать до того, как моя рука принесет мне еще один укус, мой рот будет сидеть без дела — ничего не делая (именно так выглядят системы без многопоточности). Что я должен сделать, чтобы эффективно использовать мой рот? Я могу использовать обе руки, чтобы принести еду в рот! Итак, мой рот не будет сидеть сложа руки. Вот как выглядит система с Hyper-Threading — одноядерное, но с интеллектуальным планированием, чтобы убедиться, что процессор всегда работает.

    Hyper-Threading не удваивает процессорные ядра.

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

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

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

    • Тяжелая многозадачность
    • Редактирование видео
    • 3D рендеринг
    • Научные приложения

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

    Как мы видели ранее, Hyper-Threading может обеспечить повышение производительности до 30%. Но у него есть и недостаток: он немного увеличивает тепловыделение и энергопотребление. Но об этом не нужно беспокоиться, преимущества обычно перевешивают этот недостаток.

    « Hyper-Threading — это не то же самое, что удвоение ядер вашего процессора ».

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

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