DEC Alpha
История этой легендарной архитектуры, на протяжении 10 лет показывавшей наивысшую производительность как на целочисленных, так и на вещественных операциях, началась с 1982 г., когда в Западной исследовательской лаборатории Digital Equipment Corporation (DF.C) началась работа над RISC-проектом Titan. Несколько позже были начаты еще три независимых RISC-проекта в рамках компании, которые в 1985 г. были объединены в проект PRISM (Parallel Instruction Set Machine, машина с параллельным набором команд). В 1988 г. проект был неожиданно закрыт, хотя уже через год началась работа над другой архитектурой ЦП, которая унаследовала многие особенности PRISM. Эта 64-бит архитектура получила название Alpha, а первый ЦП на ее основе, представленный в ноябре 1992 г., назывался Alpha 21064 и имел кодовое наименование EV4. Стартовав на очень высоких по меркам того времени тактовых частотах (150-200 МГц), сбалансированная архитектура этого ЦП привлекла внимание. Однако многочисленные просчеты руководства компании в вопросах ценообразования и позиционирования на рынке привели к тому, что архитектура так и не получила широкого распространения. Ситуацию не исправили ни выпуск недорогой модели 21066 (LCA4, первый ЦП со встроенным контроллером оперативной памяти), ни переход на новый четырехслойный 0,5-мкм техпроцесс и рост тактовых частот: в 1993 г. были представлены модели 21064А (EV45) с тактовой частотой 300 МГц и 21066А (LCA45) с тактовой частотой 233 МГц. В 1994 г. появился ЦП следующего поколения — 21164 (EV5) с удвоенным количеством конвейеров ФУ и встроенным 96-Кбайт S-cachc. Так как проектные нормы остались прежними, тактовая частота EV5 увеличилась лишь до 333 МГц. EV5 также оказался довольно дорогим в производстве из-за большого количества транзисторов (9,3 млн.) и площади ядра (299 мм2). После перепроектировки доработанного EV5 под 0,35-мкм технологию в 1995 г. появилась модификация 21164А (EV56), достигшая тактовой частоты 667 МГц. В 1997 г. был выпущен упрощенный вариант (без S-cacho.) этого ЦП — 21164РС (РСА56), он позиционировался как массовый, но производительный ЦП.
В январе 1998 г. DEC, испытывавшая серьезные финансовые трудности, была куплена компанией Compaq, одним из ведущих сборщиков компьютерной техники с архитектурой х86. Сформировав альянс с Samsung, эта компания пыталась продвигать на рынке последнюю разработку DEC — процессор 21264 (EV6), который хотя и изготавливался по тем же проектным нормам, что и EV56, показывал почти вдвое более высокую производительность при равных тактовых частотах. Это оказалось возможным благодаря использованию нового ядра, в котором было реализовано внеочередное выполнение команд, новая схема подключения кэш-памяти и новая системная шина DDR. Именно эта системная шипа была позже лицензирована AMD и применялась в процессорах семейства Athlon.
Однако даже столь удачная архитектура и внедрение новых проектных норм, позволивших значительно поднять тактовые частоты и снизить себестоимость, были выпущены 21264А (250-нм, EV67) и 21264В (18-нм, EV68A и EV68C) с частотами до 1250 МГц — не помогли этим ЦП завоевать популярность. Compaq и Sam sung не сумели обеспечить эффективный сбыт, ограничив область применения серверами и дорогими рабочими станциями. В июне 2001 г. Compaq объявила о переводе всех своих серверных решений на архитектуру Itanium, одновременно остановив разработку 21464 (EV8). В январе 2002 г. уже под маркой HP (поглотившей в конце 2001 г. Compaq) был анонсирован последний процессор Alpha — 21364 (EV7). Поскольку компания HP в сотрудничестве с Intel работала над развитием Itanium-платформ и располагала собственной архитектурой РА-RISC, архитектура Alpha оказалась «третьим лишним». Формально она была «похоронена» в августе 2004 г., когда компания Hewlett-Packard объявила о своих стратегических планах на рынке серверов, однако ее развитие прекратилось задолго до этого. Продукция на основе архитектуры Alpha перестанет продаваться под торговой маркой HP в 2006 г.
Тем не менее представители двух последних поколений архитектуры Alpha доступны на рынке и сейчас. В основе ядра EV6 лежит четырехконвейерный Е-box и двухконвейерный F-box (длина всех шести конвейеров 7 стадий). Функции А-box по подсчету виртуальных адресов возложены на Е-box. Кроме стандартных целочисленных команд и BWX (Byte-Word Extension), E-box поддерживает набор векторных команд MVI (Motion Video Instructions), предназначенных для ускорения расчетов, связанных с обработкой видео- и аудиопотоков. Процессор имеет 80 физических целочисленных и 72 физических вещественных регистра, однако количество логических (т. е. адресуемых программно) регистров осталось тем же, что и в предыдущих поколениях архитектуры: 32 целочисленных и 32 вещественных. 64-Кбайт I-cache с двухканальной ассоциативностью позволяет считывать по четыре команды за такт. Двухпортовый D-cache имеет объем 64 Кбайт, деухканальную ассоциативность и обратную запись. Также предусмотрен B-cache с прямым отображением и обратной записью, объем которого до 16 Мбайт. Он состоит из высокоскоростных микросхем статической памяти (обычно с отложенной записью) и подключается к ядру по выделенной шине со 128-бит каналом данных. Частота работы B-cache программируется и может находиться в диапазоне от 1/8 до 2/3 частоты ядра ЦП. Как уже упоминалось, системная шина использует технологию DDR для передачи данных, ее разрядность 64 бита (с дополнительными 8 битами для ЕСС).
EV7 представляет собой модификацию EV6, в которой оставшееся без изменений ядро дополнено 1,75-Мбайт S-cache с семиканальной ассоциативностью и обратной записью (подключаемым по той же шине со 128-бит каналом данных), двумя пятиканальными контроллерами оперативной памяти стандарта Direct Rambus (четыре 16-бит канала данных и один 16-бит канал для избыточной отказоустойчивости), четырьмя контроллерами для связи с соседними ЦП (с пропускной способностью свыше 6 Гбайт/с на канал) и одним контроллером для связи с периферией. Все вышеперечисленные контроллеры EV7 работали на 2/3 частоты ядра ЦП.
EV6 и его модификации использовали звездообразную топологию системной шины, в то время как системы на процессорах EV7 и EV7z строились по NUMA-топологии, маршрутизация данных между ЦП осуществляется встроенными коммутаторами. На практике к одному набору микросхем (DEC Tsunami, он же Typhoon) подключалось не более четырех ЦП семейства EV6, поэтому для построения систем с большим количеством ЦП использовались коммутируемые решения (например, уже рассмотренный AlphaServer GS160). На базе ЦП семейства EV7 могут быть созданы многопроцессорные серверы с количеством процессоров до 128. Благодаря четырем встроенным контроллерам каждый ЦП этого семейства может быть подключен к четырем соседним ЦП по произвольным алгоритмам.
С момента выхода EV6 в 1998 г. никаких изменений в функциональную часть ядра ЦП не вносилось, кроме того, для создания серверов на этом ЦП применяется НМС Tsunami, разработанный еще инженерами DEC. Его характеристики не удовлетворяют современным требованиям — частота системной шины составляет 83 МГц, на этой же частоте работает и контроллер памяти SDRAM (ширина шины памяти 256 или 512 бит). Частично недостатки НМС компенсирует большой объем B-cache, но по уровню производительности серверы на базе EV6—EV7 уступают современным системам.
Hewlett-Packard PA-RISC
Архитектура PA-RISC, известная как HP/PA (PA, Precision Architecture, точная архитектура), была разработана компанией Hewlett-Packard в конце 80-х гг. прошлого века. Руководство компании приняло решение перевести выпускаемую компьютерную технику с CISC-архитектур, таких, как 32-бит Motorola 68K и 16-бит собственной разработки, на потенциально перспективную свою же RISC-архитектуру.
Прообразом архитектуры РА-RISC считается 32-бит архитектура FOCUS, впервые воплощенная в рабочей станции HP 9000/520, которую в августовском выпуске Hewlett-Packard Journal 1983 г. назвали «настольным мэйнфреймом для инженеров и ученых». Каждый из максимум трех 18-МГц ЦП этой рабочей станции состоял из пяти микросхем, изготавливаемых по технологическому процессу NMOS3. Примечательно, что эта рабочая станция комплектовалась HP-UX, многопользовательской UNIX-подобной ОС, которая дожила до наших дней.
Первая спецификация на новую архитектуру, PA-RISC 1.0, заложила ее основы:
длина любой команды ровно 4 байта,
только команды загрузки-сохранения имеют доступ к оперативной памяти,
поддерживается три режима адресации (long, short и indexed),
декларируется 32 32-бит целочисленных, 32 64-бит вещественных и семь вспомогательных «теневых» (для обработки прерываний) регистров.
Вещественные регистры также могли быть адресованы как 64 32-бит или 16 128-бит. Использовалась 48-бит схема виртуальной адресации, расширенная с выходом спецификации PA-RISC 2.0 до 64-бит. Первые серийно выпускаемые ЦП уже соответствовали спецификации PA-RISC 1.1, наиболее существенным отличием от первой версии было использование раздельных шин и кэшей для команд и данных.
Первым ЦП архитектуры PA-RISC стал РА-7000, анонсированный в 1989 г. Его тактовая частота достигала 66 МГц при двухслойном 1,0-мкм технологическом процессе. Он располагал только одним пятистадийным целочисленным конвейером в составе Е-box, на который были также возложены функции А-box. Был предусмотрен (факультативно) и внешний математический сопроцессор. Подключались внешние асинхронные I-cache и D-cache размером до 256 Кбайт каждый, причем ширина шины к I-cache составляла 32 бит, а к D-cache — 64 бит. Каждый кэш был оснащен TLB, емкость которого равнялась 96 записям. Работа в многопроцессорном режиме предусмотрена не была.
Выпущенный в 1992 г. РА-7100 был уже суперскалярным RISC-процессором, располагающим, помимо одного целочисленного конвейера, одним вещественным. Соответственно отпала необходимость во внешнем математическом сопроцессоре. Благодаря переходу на трехслойный 800-нм процесс удалось поднять тактовые частоты до 100 МГц. Был увеличен и размер кэшей: I-cache до 1 Мбайт, D-cache до 2 Мбайт (оба на микросхемах асинхронной SRAM), а шина к I-cache была расширена до 64 бит, предусмотрен единый TLB на 120 записей и двухпроцессорный режим. Вскоре была выпущена незначительная модификация этого ЦП, РА-7150 (добавлена совместимость с cache bypass, а также внесены некоторые изменения в функциональной части ядра), тактовая частота которой была увеличена до 125 МГц.