Обзор новейшего процессора Intel, позволяющего использовать преимущества многопроцессорной работы на обычном ПК. Вот интересно: понятие «хиппи» по эту сторону отполированного в те времена до блеска «железного занавеса» ассоциировалось в умах «причесанной властью» советской молодежи не столько с неряшливыми длинноволосыми бездомными скитальцами-нигилистами, доведшими своим протестом идеи «буржуазной свободы» до логического абсурда и потонувшими, в конце концов, в собственных иллюзиях, сколько с прогрессивным (или продвинутым, как теперь выражаются) молодым поколением, несущим с собой не только концепцию свободной любви и потрясающий драйв новых музыкальных идей, плодами которых питались несколько последующих генераций музыкантов, но и особый независимый стиль жизни, модные «прикиды», свои тусовки (именно тогда стало зарождаться это понятие) и слэнг, короче - многое из того, что вызывало у молодых «совков» (к которым и я сам когда-то принадлежал, хотя по возрасту не успел стать «советским» хиппи) смешанное чувство восхищения, желания приобщиться и одновременно - «запретного плода». Именно в этом («советском») понимании новый процессор 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 или www.ferra.ru/online/system/16700). Строго говоря, все необходимые аппаратные блоки, обеспечивающие работу Hyper-Threading, содержались не только в ядре Northwood процессоров Intel Pentium 4 с самого начала их выпуска в январе 2002 года (см. «КТ» #426 и www.ferra.ru/online/system/15067), но даже в предыдущем 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 по отношению к системе без 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% увеличения площади кристалла. В частности, в тестах нового процессора в нашей лаборатории, о которых подробно мы напишем в отдельной статье, мы наблюдали примерно пятипроцентный прирост производительности в комплексном многозадачном тесте SYSmark 2002 (имитирующем типичную работу пользователя ПК), что составляет примерно столько же, сколько мы получили от двукратного увеличения объема кэш-памяти при переходе с ядра Willamette на ядро Northwood (см. www.ferra.ru/online/system/15484). В отдельных приложениях дизайнерского и мультимедийного характера (Adobe Photoshop, кодирование MPEG4, 3Dsmax и др.) прирост производительности может составить до 15-25%. Однако главный конек нового процессора Intel все же не в этом, а в параллельном исполнении нескольких задач. Тут при одновременном выполнении двух активных приложений выигрыш системы с Hyper-Threading составляет от 10-25% в среднем до полутора раз в некоторых отдельных случаях. Более того, в ряде ситуаций наблюдается принципиальное качественное отличие систем с Hyper-Threading от систем без оной: например, при оцифровке внешнего видеосигнала (с платы видеозахвата) с одновременно идущей активной задачей другого плана (расчет трехмерной модели, кодирование MPEG4 или игра в 3D-шутер) плавный без пропуска кадров видеоролик удается получить только на системе с Hyper-Threading.Для успешного применения новых процессоров Intel необходимо учитывать 4 основные требования: Системная плата должна использовать набор микросхем Intel с поддержкой технологии Hyper-Threading. Это все наборы для системной шины 533МГц: 850E, 845PE, 845GE, 845GV, 845E (с обновлением BIOS) и 845G новой ревизии (степпинг В). Валидировать чипсеты других компаний для использования Hyper-Threading корпорация не намерена. Системная плата и ее компоненты должны отвечать новым требованиям 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.