Hyper-threading

Букви HT в логотипі Pentium 4

Hyper-threading ( англ. Hyper-threading - Гіперпоточность , Офіційна назва Hyper-Threading Technology (HTT)) - торгова марка компанії Intel для розробленій нею реалізації технології " одночасної мультіпоточності "( англ. Simultaneous multithreading ) В процесорах на мікроархітектурі NetBurst. Розширена форма суперпоточності ( англ. Super-threading ), Що вперше з'явилася в процесорах Intel Xeon і пізніше додана в процесори Pentium 4.

Ця технологія збільшує продуктивність процесора при певних робочих навантаженнях шляхом надання "корисної роботи" ( англ. useful work ) Виконавчим пристроям ( англ. execution units ), Які інакше будуть сидіти склавши руки; наприклад, у випадках кеш-промаху. Процесори Pentium 4 (з одним фізичним ядром) з включеним Hyper-threading операційна система визначає як два різних процесора замість одного.

У процесорах Core 2 Duo підтримка технології Hyper-threading не була реалізована. У процесорах Core i3 і Core i7 знову використовується Hyper-threading, при цьому кожне фізичне ядро процесора визначається операційною системою як два логічних. Також ця технологія присутня в деяких процесорах серії Atom.


1. Принцип роботи

У процесорах з використанням цієї технології кожний фізичний процесор може зберігати стан відразу двох потоків, що для операційної системи виглядає як наявність двох логічних процесорів ( англ. Logical processor ). Фізично у кожного з логічних процесорів є свій набір регістрів і контролер переривань ( APIC), а інші елементи процесора є загальними. Коли при виконанні потоку одним із логічних процесорів виникає пауза (в результаті кеш-промаху, помилки передбачення розгалужень, очікування результату попередньої інструкції), то управління передається потоку в іншому логічному процесорі. Таким чином, поки один процес чекає, наприклад, дані з пам'яті, обчислювальні ресурси фізичного процесора використовуються для обробки іншого процесу. [1]


2. Продуктивність

Були представлені наступні переваги Hyper-threading: покращена підтримка багатопотокового коду, що дозволяє запускати потоки одночасно; покращена реакція і час відгуку; збільшену кількість користувачів, яке може підтримувати сервер.

За словами Intel, перша реалізація зажадала всього 5-відсоткового збільшення площі кристала, але дозволяла збільшити продуктивність на 15-30%.

Intel стверджує, що надбавка до швидкості складає 30% у порівнянні з ідентичними процесорами Pentium 4 без технології "Simultaneous multithreading". Однак надбавка до продуктивності змінюється від додатка до додатка: деякі програми взагалі дещо сповільнюються при включеній технології Hyper-threading. Це, в першу чергу, пов'язано з "системою повторення" ( англ. replay ) Процесорів Pentium 4, що займає необхідні обчислювальні ресурси, від чого і починають "голодувати" інші потоки [2] [3].