Hyper-Threading
АрхивТехнологииПроблема производительности компьютерной техники продолжает оставаться крайне актуальной. Использование простаивающих блоков позволяет повысить производительность процессора без дополнительного увеличения тактовой частоты. Именно такой подход использует компания Intel в некоторых из своих мощных микропроцессорах.
Проблема производительности компьютерной техники продолжает оставаться крайне актуальной, особенно в областях, требующих больших объемов вычислений: системах автоматизированного проектирования, моделирования, других инженерных приложениях, а также в компьютерных играх, активно использующих трехмерную графику.
Традиционно для увеличения производительности процессоров использовались два пути: изменение архитектуры ядра и наращивание тактовой частоты. В последнем случае увеличение производительности сопровождается возникновением ряда проблем, в первую очередь, ростом энергопотребления и тепловыделения. Одновременно, с усложнением архитектуры процессоров различные команды стали выполняться разными функциональными блоками. Характерным примером здесь могут служить целочисленные вычисления и вычисления с плавающей запятой. Если изначально для быстрого выполнения операций над числами с плавающей запятой использовались отдельные сопроцессоры, то в дальнейшем эти блоки стали объединять на одном ядре. Однако при выполнении операций в однопоточном режиме, некоторые блоки будут неизбежно простаивать.
Использование простаивающих блоков позволяет повысить производительность процессора без дополнительного увеличения тактовой частоты. Именно такой подход использует компания Intel в некоторых из своих мощных микропроцессорах. Технология. позволяющая разбивать выполняемые команды на несколько параллельно выполняющихся потоков получила название Hyper-Threading.
Современные операционные системы и приложения видят один процессор, поддерживающий технологию Hyper-Threading, как два виртуальных процессора. D результате, процессор может одновременно выполнять два набора задач, использовать ресурсы, которые в ином случае оставались бы невостребованными, и, в конечном счете, выполнять больше работы за то же самое время. Технология HT использует преимущества многопоточности, представленные в Windows XP и многих других современных приложениях и операционных системах. Многопоточные приложения разделяют свою рабочую нагрузку на процессы, которые могут обрабатываться и выполняться независимо друг от друга. В многопроцессорных системах эти потоки выполняются на различных процессорах. При использовании Hyper-Threading один физический процессору может выступать в качестве двух логических процессоров, каждый из которых выполняет собственный поток инструкций.
В серверах и высокопроизводительных рабочих станциях технология Hyper-Threading позволяет использовать параллелизм на уровне потоков (TLP), дублируя архитектурное состояние каждого процессора. При распределении потоков операционная система рассматривает два архитектурных состояния как отдельные логические процессоры, что позволяет многопоточным приложениям использовать в два раза больше логических процессоров. Хотя технология Hyper-Threading не обеспечивает такого же прироста производительности, как в случае наличия второго физического процессора, прирост производительности приложений может достигать 30% по сравнению с аналогичным компьютером, не использующим Hyper-Threading. Наилучшие результаты при этом достигаются в приложениях, оптимизированных под данную технологию.
Изначально технология Hyper-Threading была реализована только в серверных микропроцессорах Xeon. В процессорах Pentium 4 для настольных компьютеров многопоточность появилась в конце 2002 года. Первоначально эта технология была задействована только в наиболее мощным на тот момент процессоре с тактовой частотой 3,06 ГГц. Однако в течение 2003 года Intel выпустила целую серию процессоров с Hyper-Threading, работающих на частотах от 2,4 ГГц и выше. Осенью 2003 года поддержка Hyper-Threading появилась в модификациях Pentium 4 для портативных компьютеров. А в представленных в начале 2004 года новых процессорах на ядре Prescott технология Hyper-Treading была заметно усовершенствована. Наконец, Hyper-Threading используется и в процессоре Pentium 4 Extreme Edition, предназначенном для геймеров и других категорий пользователей, предъявляющих повышенные требования к вычислительным ресурсам.
В Intel подчеркивают, что технология HT - это первый шаг к реализации идеи параллелизма на уровне потоков (TLP), позволяющего повысить производительность и снизить энергопотребление процессора. Исследователи Intel работают над реализацией TLP в явной форме, на уровне компилятора и трансляции в двоичный код, чтобы создать условия для использования преимуществ этой технологии в современных и будущих микропроцессорах. Узнать подробнее о технических аспектах технологии Hyper-Threading, а также ознакомиться с советами по оптимизации приложений, техническими спецификациями и полной документацией можно став участником программы Intel Developer Services.