Hyper-threading

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Аббревиатура Hyper-threading в логотипе Pentium 4

Hyper-threading (англ. Hyper-threading — Гиперпоточность, официальное название — Hyper-Threading Technology, HTT) — разработка компании Intel для реализации технологии «одновременной мультипоточности» (англ. Simultaneous multithreading) в процессорах на микроархитектуре NetBurst. Расширенная форма суперпоточности enru (англ. Super-threading), впервые появившаяся в процессорах Intel Xeon и позднее добавленная в процессоры Pentium 4. При этом одно физическое ядро процессора (с включённым Hyper-threading) операционная система определяет как два раздельных процессора. Эта технология увеличивает производительность процессора при определённых рабочих нагрузках путём предоставления «полезной работы» (англ. useful work) исполнительным устройствам (англ. execution units), которые иначе будут бездействовать; к примеру, в случаях кэш-промаха.

В процессорах Core 2 (Core 2 Duo, Core 2 Quad) поддержка технологии Hyper-threading не была реализована.

В процессорах Core i3, Core i5 и Core i7 (Sandy Bridge, Ivy Bridge, Haswell) была реализована сходная по своим принципам технология, сохранившая название Hyper-threading. При активации технологии каждое физическое ядро процессора определяется операционной системой как два логических.

Также сходная технология присутствует в некоторых[уточнить] процессорах серии Atom.

Принцип работы[править | править вики-текст]

В процессорах с использованием технологии Hyper-threading каждый физический процессор может хранить состояние сразу двух потоков, что для операционной системы выглядит как наличие двух логических процессоров (англ. Logical processor). Физически у каждого из логических процессоров есть свой набор регистров и контроллер прерываний (APIC), а остальные элементы процессора являются общими. Когда при исполнении потока одним из логических процессоров возникает пауза (в результате кэш-промаха, ошибки предсказания ветвлений, ожидания результата предыдущей инструкции), то управление передаётся потоку в другом логическом процессоре. Таким образом, пока один процесс ожидает, например, данные из памяти, вычислительные ресурсы физического процессора используются для обработки другого процесса.[1]

Производительность[править | править вики-текст]

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

По словам Intel, первая реализация потребовала всего 5-процентного увеличения площади кристалла, но позволяла увеличить производительность на 15—30 % в некоторых задачах.[источник не указан 72 дня]

Intel утверждает, что прибавка к скорости составляет 30 %[источник не указан 72 дня] по сравнению с идентичными процессорами Pentium 4 без технологии «одновременной мультипоточности». Однако, прибавка к производительности изменяется от приложения к приложению: некоторые программы вообще несколько замедляются при включённой технологии Hyper-threading. Это, в первую очередь, связано с «системой повторения» (англ. replay) процессоров Pentium 4, занимающей необходимые вычислительные ресурсы, отчего и начинают «голодать» другие потоки[2][3].

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]

Примечания[править | править вики-текст]