Указанная разница в производительности даже привела к подаче нескольких групповых исков. Этим летом групповые иски были поданы против Intel, Gateway и Hewlett-Packard. В иск были включены все граждане США, которые когда-либо покупали или арендовали компьютер с Pentium 4. Потенциально в роли истца могут оказаться сотни тысяч людей. Однако сегодня Intel утверждает, что включение HT позволяет работать архитектуре с длинным конвейером в полную силу. Является ли HT троянским конем Intel, который сможет кардинально повысить производительность Pentium 4?

Два потока лучше, чем один

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

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



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

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

Конвейер

Как радостно отмечает Intel, каждая ступень 20-ступенчатого конвейера Pentium 4 имеет достаточную длину для одновременной репликации и использования своих ресурсов при обработке более чем одного потока.

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



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

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

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

История параллелизма

Параллелизм и многопоточные вычисления, на основе которых и строится технология HyperThreading, конечно же, не являются чем-то новым. Фактически, технология HyperThreading уже была включена при выпуске серверного процессора Intel Xeon чуть раньше в этом году. Параллелизм на уровне потоков сегодня используется в процессорах Intel, Sun, IBM и Compaq.

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

Copyright @ by Lehach, 2009