Хиппер-процессор
Архив...многое из того, что вызывало у молодых "совков" смешанное чувство восхищения, желания приобщиться и одновременно - "запретного плода". Именно в этом понимании новый процессор Intel Pentium 4 с технологией Hyper-Threading получился очень "хипповый".
Вот интересно: понятие «хиппи» по эту сторону «железного занавеса», отполированного в свое время до блеска, ассоциировалось в умах «причесанной властью» советской молодежи не столько с неряшливыми длинноволосыми бездомными скитальцами-нигилистами, доведшими своим протестом идеи «буржуазной свободы» до логического абсурда и в конце концов потонувшими в собственных иллюзиях, сколько с прогрессивным (или продвинутым, как теперь выражаются) молодым поколением, несущим с собой не только концепцию свободной любви и потрясающий драйв новых музыкальных идей, плодами которых питались несколько последующих поколений музыкантов, но и особый независимый стиль жизни, модные «прикиды», свои тусовки (именно тогда стало зарождаться это понятие) и сленг, - короче, многое из того, что вызывало у молодых «совков» смешанное чувство восхищения, желания приобщиться и одновременно - «запретного плода». Именно в этом («советском») понимании новый процессор Intel Pentium 4 с технологией Hyper-Threading получился очень «хипповый».
То, что произошло в индустрии персональных компьютеров 14 ноября 2002 года, можно назвать очередной микрореволюцией от Intel, сравнимой по значению с такими событиями прошлого, как появление новых микроархитектур процессоров 386/387, Pentium или Pentium Pro. И хотя формально выход очередной новинки от Intel - процессора Pentium 4 с частотой 3,06 ГГц - не является представлением принципиально новых технологий и тем более - целой микроархитектуры, мы стали свидетелями эпохального события. А именно - пришествия мультипроцессорности в широкие массы пользователей ПК.
Действительно, раньше двух- (и более) процессорные компьютеры были уделом профессионалов (где эти системы назывались уже не ПК, а серверами или рабочими станциями) и редких энтузиастов (например, у меня уже много лет живет «тачила» на легендарной маме ABIT BP6, которая поначалу приютила два 550-мегагерцовых Селерона, а затем была переделана под сладкую парочку более резвых Pentium III). Появившиеся чуть более года назад двухпроцессорные ПК на AMD Athlon XP (пардон - MP) также вызвали массу положительных эмоций у любителей быстрой и мягкой (!) езды - ведь для «бытовых» применений двухпроцессорные машины отличаются от однопроцессорных прежде всего именно более «мягкой» реакцией на действия пользователя, особенно если в системе одновременно запущено несколько задач, хотя прирост производительности системы для отдельной задачи с добавлением второго процессора редко бывает стопроцентным.
Между тем многолетнее победоносное шествие по планете мультизадачных операционных систем семейства Microsoft Windows привело к тому, что сейчас большинство персональных компьютеров работает в существенно мультизадачных условиях. Даже простейшие офисные машинки должны позволять одновременно редактировать несколько документов в текстовом редакторе, оперировать с таблицами и локальными базами данных (например, MS Excel и Access), распечатывать документы на принтере, получать и принимать почту, просматривать web-контент и пр. Причем бешеный ритм современного бизнеса диктует необходимость совмещать эти задачи с наибольшей эффективностью, без лишних задержек и простоев. Дома компьютеру добавляется еще целый класс ресурсоемких мультимедийных задач: воспроизведение, запись и кодирование видео и музыки, запись телепередач (с одновременным кодированием в сжатый формат), редактирование фотографий и многое другое. Опять же - те редкие часы, что современный занятой человек проводит дома, он должен тратить с максимальным комфортом, совмещая фоновые и сиюминутные задачи, и не расходовать попусту нервы, глядя на песочные часики на экране монитора или сожалея о некачественно записанном фильме. О многочисленных инженерных или дизайнерских приложениях, стоящих перед армией ПК в профессиональной работе, я уже и не говорю - здесь любая задержка, связанная с «раздумьями» железного друга, выливается в нехилую копеечку.
Поэтому сейчас, как никогда прежде, актуальна способность персональных компьютеров к более эффективной работе в мультизадачной среде. Именно для этого предназначены новейшие процессоры Intel Pentium 4 с частотой 3,06 ГГц и технологией Hyper-Threading, о которых мы и поговорим.
Технология Hyper-Threading впервые появилась в процессорах Intel в начале этого года, причем только в дорогих профессиональных процессорах Intel Xeon, предназначенных для серверов и рабочих станций (см. статью «Искусство серверовки» в «КТ» #436). Строго говоря, все необходимые аппаратные блоки, обеспечивающие работу Hyper-Threading, содержались не только в ядре Northwood процессоров Intel Pentium 4 с самого начала их выпуска в январе 2002 года (см. «КТ» #426), но и в предыдущем 0,18-микронном ядре Willamette. Однако на тот момент корпорация посчитала рынок персональных компьютеров не готовым к принятию новой технологии, и в результате почти весь год Hyper-Threading существовала только в процессорах Intel Xeon (основанных, кстати, на том же самом ядре Northwood). И вот 14 ноября Hyper-Threading пришла в «настольные» массы, перестав быть уделом только профессионалов, хотя первое время процессоры Pentium 4 с частотой 3,06 ГГц будут по карману не всем, ведь их «стартовая» цена - более 600 долларов США. Учитывая, что процессоры Xeon на ядре Northwood сейчас практически догнали настольных собратьев (Pentium 4) по тактовой частоте ядра и системной шины, единственным принципиальным отличием между ними после 14 ноября останется лишь возможность работы Xeon в двухпроцессорных конфигурациях (в Pentium 4 она «отключена» на уровне процессорного разъема). Таким образом, мы становимся свидетелями еще одной интересной тенденции в микропроцессорной индустрии - сближения настольных и серверных процессоров.
Суть технологии Hyper-Threading (кратко мы ее уже описывали в «КТ» #436 и #462) заключается в том, что в кристалл процессора добавлено несколько небольших блоков, позволяющих одному физическому процессору (с одним конвейером и общей кэш-памятью второго уровня) распознаваться и работать в системе как двум логическим процессорам (подобно обычной системе на двух физически разных процессорах). Таким образом, основная часть ресурсов ЦП используется совместно, но некоторые - продублированы и разделены (каждый используется строго для одной из задач). В результате кристалл будет одновременно обрабатывать две задачи, распределяя вычислительные ресурсы между ними более эффективно, нежели при прохождении одной задачи (некоторые детали работы Hyper-Threading см. на иллюстрациях). Дело в том, что любое из приложений (задач для процессора) написано (откомпилировано) таким образом, что в каждый момент времени часть ресурсов ЦП задействована, а часть простаивает. Чем лучше исполняемый код приложения оптимизирован под конкретный процессор (в данном случае - Pentium 4), тем меньше ресурсов ЦП остается без работы. Технология Hyper-Threading помогает сократить время простоя процессора путем задействования ресурсов, не занятых первой задачей, исполнением инструкций второй задачи (виртуальная двухпроцессорность или двухпотоковость), например, в случае:
-
доступа к памяти (обработка/редактирование цифровых фотографий и т. п.);
-
цепей взаимозависимых инструкций с большими задержками (видеокодирование/перекодирование);
-
ошибок предсказания ветвлений (например, отслеживание лучей в 3D-графике);
-
одновременных вычислений с целыми числами и с плавающей запятой.
В результате пропускная способность основных ресурсов процессора возрастает, а суммарное время выполнения двух задач сокращается (см. рисунки).
Эффективность совместного использования ресурсов процессора двумя параллельными задачами в технологии Hyper-Threading во многом зависит от характера программного обеспечения, например, от непопаданий в кэш-память, ошибок предсказания ветвлений, параллелизма на уровне команд, состава инструкций и т. д. Чем хуже приложения оптимизированы для данной микроархитектуры, тем больше может быть выигрыш от использования Hyper-Threading. Например, на графике собраны результаты исследования (проведенного Intel) эффективности применения Hyper-Threading в огромном множестве современных приложений. По оси ординат отложена производительность системы при использовании Hyper-Threading по отношению к системе без нее, а по оси абсцисс - использование ресурсов ЦП. Отсюда, в частности, видно, что большинство современных приложений позволяет получить 20-30% прироста быстродействия при задействовании Hyper-Threading, причем часть из них дают даже до 60-70% прироста, но некоторые могут и замедлить работу системы с Hyper-Threading. Средняя линия тренда показывает, что чем лучше приложение оптимизировано (чем больше ресурсов ЦП оно может задействовать), тем меньше (в среднем) выигрыш от Hyper-Threading, и наоборот. С другой стороны, рост производительности Hyper-Threading заметнее на высоких тактовых частотах, поскольку в то время, когда одно приложение ожидает прихода данных из памяти, другое может задействовать ресурсы ЦП.
Таким образом, применение технологии Hyper-Threading в процессорах Intel Pentium 4 позволяет уже сегодня получить немедленный выигрыш в производительности во многих многопоточных приложениях, улучшить быстроту реакции системы при работе с существующими приложениями в многозадачной среде и в перспективе позволит повысить быстродействие системы при работе с многопоточными приложениями следующего поколения. Кроме того, Hyper-Threading может ускорить даже обработку аварийных ситуаций с программным обеспечением.
Новые блоки, ответственные за Hyper-Threading, показаны на фотографии кристалла Pentium 4 красными стрелками (синие прямоугольники). Они занимают менее 1% площади кристалла. Тем не менее, эта мизерная добавка способна обеспечить впечатляющий прирост производительности системы, даже больший, чем двукратное увеличение объема кэш-памяти второго уровня, требующее около 30% увеличения площади кристалла. В частности, в тестах нового процессора в нашей лаборатории, о которых подробно можно почитать на сайте www.ferra.ru, мы наблюдали примерно пятипроцентный прирост производительности в комплексном многозадачном тесте SYSmark 2002 (имитирующем типичную работу пользователя ПК), что составляет примерно столько же, сколько мы получили от двукратного увеличения объема кэш-памяти при переходе с ядра Willamette на ядро Northwood (см. «КТ» #426). В отдельных приложениях дизайнерского и мультимедийного характера (Adobe Photoshop, кодирование MPEG4, 3Dsmax и др.) прирост производительности может составить до 15-25%. Однако главный конек нового процессора Intel все же не в этом, а в параллельном исполнении нескольких задач. Тут при одновременном выполнении двух активных приложений выигрыш системы с Hyper-Threading составляет от 10-25% в среднем до полутора раз в некоторых отдельных случаях. Более того, в ряде ситуаций наблюдается принципиальное качественное отличие систем с Hyper-Threading от систем без оной: например, при оцифровке внешнего видеосигнала (с платы видеозахвата) с одновременно идущей активной задачей другого плана (расчет трехмерной модели, кодирование MPEG4 или игра в 3D-шутер) плавный, без пропуска кадров, видеоролик удается получить только на системе с Hyper-Threading.
Для успешного применения новых процессоров Intel необходимо учитывать четыре основных требования:
-
Системная плата должна использовать набор микросхем Intel с поддержкой технологии Hyper-Threading. Это все наборы для системной шины 533 МГц: 850E, 845PE, 845GE, 845GV, 845E (с обновлением BIOS) и 845G новой ревизии (степпинг В). Валидировать чипсеты других компаний для использования Hyper-Threading корпорация не намерена, хотя лицензия на HT бесплатна.
-
Системная плата и ее компоненты должны отвечать новым требованиям Intel к питанию (спецификация Intel FMB2) и тепловому режиму. Поскольку новый процессор имеет повышенное питание (VID = 1,55 В) и тепловыделение (TDP= 81,8 Вт), но более низкую предельную рабочую температуру (69 °C), эти требования должны жестко соблюдаться. В частности, многие платы на чипсетах 850E и 845E, выпущенные летом этого года, не смогут поддерживать новый процессор Intel из-за этих ограничений. А с новым процессором Intel начинает поставлять новый же боксовый кулер, обладающей улучшенным теплоотводом. Его обзор можно почитать на www.ferra.ru/online/system/21615.
-
Плата должна иметь обновленный BIOS (где, в частности, есть пункт отключения Hyper-Threading) и оснащаться соответствующими драйверами.
-
Наконец, система должна управляться современной операционной системой, оптимизированной для использования Hyper-Threading. В настоящее время это Microsoft Windows XP (Pro и HE) и Linux 2.4.x. В частности, Windows 2000 пока имеет некоторые проблемы при использовании Hyper-Threading, замедляя выполнение ряда задач.
Более подробно ознакомится с этими и другими деталями применения нового процессора Intel Pentium 4 с частотой 3,06 ГГц и технологией Hyper-Threading, а также посмотреть на его детальные испытания в нашей лаборатории вы можете в обзорах на сайте www.ferra.ru. В заключение отметим, что, взяв новый «эпохальный» рубеж тактовой частоты перед Новым годом и открывая широким массам пользователей ПК новую профессиональную технологию Hyper-Threading, корпорация Intel имеет все шансы получить своеобразный Hyper-Trading (сверхпродажи) новой модели процессора, которая станет, по всей видимости, последней на 0,13-микронном ядре Northwood, а в будущем году нас ждут новые горизонты скорости на 0,09-микронном ядре Prescott.