MPF’2002

В ходе октябрьского Микропроцессорного форума 2002 представители компании IBM наконец-то позволили себе рассеять облака слухов, в течение года витавших вокруг “облегченной версии” процессора POWER4. Нельзя сказать, что все связанные с этой новинкой надежды оправдались, но официальный анонс чипа обещает очень многое.

Новое детище IBM получило имя PowerPC 970 (PPC 970). Как и POWER4, он является 64-разрядным, но в отличие от своего старшего брата, применяемого в серверах стоимостью более 12 000 долл., предназначается для использования в мощных рабочих станциях и серверах начального уровня. Как следствие, PPC 970 унаследовал далеко не все характерные черты предшественника. Главная его особенность - наличие всего одного процессорного ядра на чипе, тогда как у POWER4 - их два, работающих в режиме SMP. Вопрос о том, получат ли дальние потомки процессоров PPC 970 несколько процессорных ядер на чипе (как это до сих пор предсказывается некоторыми аналитиками), пока не находит ответа.

Так выглядит POWER4. Хорошо видны два процессорных ядра и три

блока кэш-памяти. Достигнет ли PPC 970 таких высот архитектуры?

Но вернемся к сухому языку цифр. PPC 970 снабжен раздельным кэшем первого уровня объемом 32 Кб для данных и 64 Кб для команд и встроенным кэшем второго уровня размером 512 Кб. Всего в процессоре по тридцать два 64-разрядных регистра общего назначения и 64-разрядных регистра арифметики с плавающей точкой и столько же 128-битных регистров SIMD.

Процессор состоит из 52 млн. транзисторов и будет выпускаться по 0,13-мкм процессу с использованием технологии SOI; при этих условиях площадь чипа составит 118 мм^2 (для сравнения: у Pentium 4 Northwood 55 млн. транзисторов на 146 мм^2). Тактовая частота первого варианта PPC 970 ожидается на уровне 1,4-1,8 ГГц, а энерговыделение при работе на частоте 1,8 ГГц составит 42 Вт (у 2,8 ГГц Pentium 4 - 68 Вт). Кроме 1,3-вольтовой версии процессора ожидается и более экономичная, 1,1-вольтовая, рассеивающая при работе на тактовой частоте 1,2 ГГц всего 19 Вт. Первые экземпляры PPC 970 появятся во II квартале 2003 г., массовые поставки начнутся ближе к концу года.

В PPC 970 используется новая производительная шина, связывающая процессор с “чипом-компаньоном”. Она реализована в виде пары однонаправленных 32-разрядных 450 МГц DDR-магистралей (если быть точным, то эти магистрали работают на частоте, вчетверо меньшей тактовой частоты процессора). Чистая производительность этой шины впечатляет - 6,4 Гб/с (именно такая цифра остается после вычета из теоретических 7,2 Гб/c всех “накладных расходов”). Напомним, что теоретическая производительность шины последних моделей Pentium 4 - всего 4,2 Гб/с.

На базе PPC 970 можно будет создавать многопроцессорные SMP-системы с числом процессоров до 16, при этом для поддержки когерентности кэш-памяти дополнительного оборудования, помимо средств самого процессора и “чипа-компаньона”, не потребуется.

Нужны ли 64 разряда?

Нельзя сказать, чтобы PPC 970 был первым из 64-разрядных процессоров, ориентированным на использование в настольных компьютерах, однако никогда еще стратегия повсеместного отказа от 32-разрядных процессоров и перехода на 64-разрядные на компьютерах всех классов не была обозначена столь ясно.

Спор о том, насколько необходима такая высокая разрядность в настольных компьютерах, остается открытым. Производители процессоров придерживаются в этом вопросе порой диаметрально противоположных мнений. Так, компания Intel четко разделяет 32-разрядные процессоры семейства Pentium 4 (предназначенные для рабочих станций и серверов начального уровня) и 64-разрядные Itanium (созданные для мощных серверов и сверхмощных рабочих станций), причем в отношении каждого из семейств имеются долговременные планы. А в AMD, напротив, пытаются провести плавную миграцию всех своих процессоров на 64-разрядную архитектуру Hammer, позволяющую достаточно эффективно исполнять как старые 32-разрядные приложения, так и новые 64-разрядные.

Противники 64-разрядных “настольных” процессоров утверждают, что адресного пространства в 4 Гб, обеспечиваемого обычными 32-разрядными процессорами, вполне хватает для всех “настольных” приложений, а их защитники возражают, что уже сегодня настольные компьютеры с 2 Гб ОЗУ не являются такой уж редкостью, и памяти все равно не хватает. Последние считают, что многие программы получат заметный прирост производительности, если смогут обрабатывать данные вдвое более емкими 64-разрядными “словами”.

Быть может, главным вопросом в этом споре “тупоконечников” и “остроконечников” станет возможность эффективного исполнения на 64-разрядных процессорах старых 32-разрядных приложений. Процессоры Itanium изначально создавались как 64-разрядные, так что их производительность в режиме совместимости со старыми 32-разрядными приложениями оставляет желать много лучшего.

В процессорах архитектуры Hammer (настольные “Athlon 64” и серверные Opteron) для идентификации “старых” и “новых” команд вводится специальный префикс (подобно тому, как это было сделано при переходе от 16-разрядных команд к 32-разрядным), причем в зависимости от его наличия функционирование регистров и механизмов адресации памяти будет различным. В результате мы имеем два множества команд и две почти независимые подсистемы их анализа и исполнения, хотя обе они оказываются довольно производительными.

Подход, примененный в PPC 970, предусматривает наличие специального флажка в статусном регистре, значение которого определяет, в каком (32- или 64-разрядном) режиме в данный момент работает процессор. Если установлен 32-разрядный режим, старшие разряды регистров и адресов просто игнорируются. В результате процессор функционирует совершенно одинаково (в том числе и с точки зрения эффективности исполнения программ!) и на 32-, и на 64-разрядных задачах. Единственная программа, требующая небольших изменений для ее переноса на 64-разрядный процессор, - это операционная система, поскольку она должна корректно переключать контексты задач (ставшие 64-разрядными) и управлять значением измененного статусного регистра.

Цель - мультимедиа

Интересной чертой PPC 970 является наличие в нем модуля SIMD, совместимого по системе команд и структуре регистров с модулем AltiVec процессоров PowerPC G4 компании Motorola. Поскольку модуль AltiVec - собственная разработка этой фирмы (выполненная без привлечения остальных участников альянса Apple - IBM - Motorola, AIM), его название защищено торговой маркой, так что для SIMD-модуля PPC 970 пришлось придумать новое имя - VMX. Кстати, подобная история происходит уже второй раз: компания Apple при ссылках на все тот же модуль SIMD процессоров PowerPC G4 предпочитает именовать его Velocity Engine.

Интересно, что, несмотря на все усилия Apple (которая кровно заинтересована в повсеместном применении технологии AltiVec), мы так и не увидели поддерживающих AltiVec 32-разрядных процессоров производства IBM. Можно предположить, что только на этих условиях Motorola согласилась предоставить свою SIMD-технологию (IBM получила эту лицензию около двух лет назад).

По некоторым слухам “POWER4-lite” будет снабжен двумя модулями AltiVec. Судя по количеству 128-разрядных регистров в PPC 970, в нем по-прежнему имеется лишь один такой модуль, хотя возможно, что была проведена серьезная работа по изменению дизайна с целью увеличения SIMD-производительности. Но пока блок-схема процессора не опубликована, так что мы можем только гадать...

Игрок высшей лиги

По словам Питера Сэндона, главного архитектора PowerPC в IBM, “сдержанные оценки” производительности 1,8 ГГц-версии PPC 970 таковы: 937 SPECint2000, 1051 SPECfp2000, 5220 Dhrystone. По всей видимости, PPC 970 способен за один такт исполнить до четырех операций плюс один переход и до 16 операций при помощи модуля SIMD (если только модуль VMX не отличается по структуре от AtliVec процессоров PowerPC G4).

Как видно из приведенной таблицы, с точки зрения производительности PPC 970 - вполне достойный конкурент для всех современных процессоров.Так что если бы IBM действительно удалось выдержать заявленные показатели процессора и при этом удержать его в ценовом диапазоне, характерном для рабочих станций, то успех ему был бы обеспечен, появись этот процессор сегодня или хотя бы в течение ближайшего полугода. В момент начала массовых поставок PPC 970 в конце 2003 г. ему придется столкнуться с процессорами новых поколений, и детище IBM может оказаться на их фоне менее привлекательным.

Вместе с тем не может не радовать, что PPC 970, в отличие от “настольных” процессоров Intel и AMD, показывает высокую производительность при относительно небольшой тактовой частоте. Это позволяет надеяться на значительный “разгонный” потенциал новой архитектуры, такие надежды подтверждаются и некоторыми заявлениями представителей IBM.

Сравнение производительности различных процессоров

Нет никаких сомнений, что основным потребителем данных процессоров будет Apple, хотя ее официальные представители и уклонились от комментариев по этому поводу. Сегодняшний кризис в развитии процессоров PowerPC G4 компании Motorola создал для Apple достаточно неприятную ситуацию, одним из следствий которой стал перевод всей профессиональной настольной линейки компьютеров Макинтош на двухпроцессорные конфигурации. Единственной альтернативой процессорам PowerPC производства Motorola мог бы стать переход на аналогичные процессоры IBM. Однако в последних отсутствует SIMD-блок, активно используемый во многих программах для Mac OS X и позволяющий достичь заметного прироста производительности. С выходом PowerPC 970 в Apple смогут наконец вздохнуть спокойно. Хотя этот процессор и не выведет будущие Макинтоши в абсолютные лидеры по части производительности, но зияющая пропасть в тактовых частотах между современными Power Mac’ами и рабочими станциями на базе старших процессоров x86 исчезнет.

По некоторым данным, также ведутся активные работы по введению поддержки AltiVec в Red Hat Linux, так что можно ожидать и появления Linux-серверов на базе PPC 970.