Alasir Enterprises
Main Page >  Articles >  Alpha: история в фактах и комментариях  

 
Main Page
 
 
Reviews
 
Articles
 
Software
 
Reference
 
Motley
 
 
About Us
 
 
Alpha: история в фактах и комментариях
Alpha Powered Dig my grave both long and narrow
Make my coffin neat and strong 

(из старой американской песни)

Павел Болотов
 
Дата публикации: 14 апреля 2005
Дата последнего изменения: 22 апреля 2007

Содержание:
in English

 
Проект PRISM

В начале 1980-х DEC была на вершине финансового могущества, в значительной мере благодаря стабильно растущим объёмам продаж VAX'ов и программного обеспечения к ним. Тем не менее, ничто не вечно и было очевидно, что в своё время и VAX придётся уйти с рынка в пользу какой-нибудь более сложной и гибкой архитектуры, как это уже происходило с PDP-11. В то время многие компании начали обращать внимание на перспективные разработки в среде RISC, да и DEC явно не желала остаться в стороне. С 1982 по 1985 в составе компании активно работали несколько команд, занимавшихся исследованиями в области RISC:
  • Titan, высокоскоростная разработка Западной исследовательской лаборатории (Western Research Laboratory; DECwest) в Пало-Альто (Калифорния, США), под руководством Фореста Бэскетта (Forest Baskett), с 1982;
     
  • SAFE (Streamline Architecture for Fast Execution), под руководством Алана Котока (Alan Kotok) и Дэвида Орбица (David Orbits), с 1983;
     
  • HR-32 (Hudson RISC 32-bit), при полупроводниковой фабрике DEC в Хадсоне (Массачусетс, США), под руководством Ричарда Витека (Richard Witek) и Дэниела Добберпуля (Daniel Dobberpuhl), с 1984;
     
  • CASCADE Дэвида Катлера (David Cutler) в Сиэтле (Вашингтон, США), с 1984.

В 1985, с подачи Катлера касаемо создания так называемого корпоративного RISC-плана, все 4 проекта были объединены в один под названием PRISM (PaRallel Instruction Set Machine), и совместными усилиями к августу 1985 была подготовлена первая спецификация на новый RISC-процессор. Стоит упомянуть, что к тому времени DEC уже принималa активное участие в разработке процессора MIPS R3000 и даже инициировала создание консорциума Advanced Computing Environment для продвижения архитектуры MIPS на рынке.
 
Нет ничего удивительного в том, что разрабатываемый процессор унаследовал много черт, присущих архитектуре MIPS, но в то же время и отличия были очевидны. Все команды имели фиксированную длину в 32 бита, из них верхние 6 и нижние 5 были собственно кодом команды, а остальные 21 предназначались для непосредственно данных либо их адресации. Были определены 64 основных 32-битных целочисленных регистрa (MIPS определяла 32), а также 16 дополнительных 64-битных векторных регистра и 3 контрольных регистра для векторных операций: два 7-битных (vector length и vector count) и один 64-битный (vector mask). Регистр состояния процессора отсутствовал, поэтому результат сравнения двух скалярных операндов помещался в целочисленный регистр, а результат сравнения двух векторных операндов — в vector mask. Встроенный блок вычислений с плавающей запятой не предусматривался. Также присутствовал набор специальных инструкций под названием Epicode (Еxtended processor instruction code), реализованных программно (посредством загружаемого микрокода) и предназначавшихся для облегчения решения специальных задач, присущих определённой среде или операционной системе и не предусмотренных стандартным набором команд. Впоследствии эта функция была реализована в архитектуре Alpha под названием PALcode (Privileged Architecture Library code).
 
К 1988 проект был всё ещё в стадии разработки, когда высший менеджмент DEC закрыл его, посчитав дальнейшую поддержку нецелесообразной. Протестуя против этого решения, Катлер уволился и ушёл в Microsoft, где возглавил подразделение по разработке Windows NT (в то время называвшейся OS/2 3.0).
 
В начале 1989 DEC представила свои первые рабочие станции с RISC-процессорами, DECstation 3100 на основе 32-битного MIPS R2000 с частотой в 16МГц и DECstation 2100 на основе того же процессора, но с частотой в 12МГц. Обе машины работали под ОС Ultrix и стоили довольно умеренно, например, около 8000 USD (1990) за DECstation 2100 в стандартной конфигурации.

 
Проект Alpha

В 1989 морально стареющая архитектура VAX уже с трудом могла конкурировать с RISC-архитектурами 2-го поколения, такими как MIPS и SPARC, и было вполне очевидно, что следующее поколение RISC оставит VAX немного шансов на выживание. В середине 1989 перед инженерами DEC была поставлена задача по созданию конкурентноспособной RISC-архитектуры с перспективным потенциалом, в то же время минимально несовместимой с VAX, чтобы облегчить перенос на неё VAX/VMS и всей сопутствующей программной базы. Также было определено, что новая архитектура должна изначально быть 64-битной, так как конкуренты уже были в процессе перехода на 64-битные решения. Была создана рабочая группа, в которой главными архитекторами были Ричард Витек и Ричард Сайтс (Richard Sites).
 
Первое официальное упоминание об архитектуре Alpha датируется 25 февраля 1992 на конференции в Токио. Одновременно в небольшом обзоре для USENET-конференции comp.arch были перечислены ключевые моменты новой архитектуры. Там же было оговорено, что "Alpha" является кодовым именем нового процессора, а рыночное название будет представлено позже. Процессор обладал "чистой" 64-битной RISC-архитектурой с инструкциями фиксированной длины по 32 бита каждая, 32 64-битными целочисленными регистрами, а также работал с 43-битным виртуальным адресным пространством, которое могло быть расширено вплоть до 64-битного в будущих представителях архитектуры. Как и в VAX, использовался little-endian порядок следования байт (то есть, когда младший байт регистра занимает при записи младший адрес в памяти; поддерживался Intel в противовес к big-endian, изначально внедрённому Motorola и используемому большинством процессорных архитектур того времени, когда старший байт регистра занимает при записи младший адрес в памяти). Математический сопроцессор был изначально интегрирован в ядро вместе с 32 64-битными вещественными регистрами. Кстати, использовался произвольный доступ к ним в отличие от примитивного стэкового, практикуемого сопроцессорами Intel x87. Срок службы новой архитектуры был определен, как минимум, в 25 лет.
 
Поддерживаемый набор команд был упрощён с целью максимального облегчения конвейеризации и состоял из 5 групп:
  • команды для целочисленных вычислений;
  • команды для вещественных (с плавающей запятой) вычислений;
  • команды обработки переходов и операций сравнения;
  • команды загрузки и сохранения данных;
  • команды PALcode.

Стоит отметить, что команды целочисленного деления аппаратно отсутствовали, так как являлись наиболее сложными в расчётном плане и плохо поддавались конвейеризации, а поэтому просто эмулировались. Это было вполне приемлемо, так как на практике необходимость в командах этого типа появлялась относительно редко, особенно учитывая возможность использования команд сдвигов (shifts) для многих целочисленных операций деления и умножения.
 
Архитектура Alpha была настоящей RISC, в отличие от микроархитектур x86 прошлого и настоящего начиная с NexGen 586, Intel P6 и AMD K6. Фактически, их можно считать RISC только на уровне функциональных устройств процессоров. Концептуально разница между RISC (Reduced Instruction Set Computing) и CISC (Complex Instruction Set Computing) состояла (и до сих пор состоит) в нескольких моментах:
 
Характеристика CISC RISC
Длина команды Произвольная,
в зависимости от
характера инструкции
Фиксированная,
вне зависимости от
характера инструкции
Набор команд Большой,
адаптированный для
удобства программиста
Средний,
адаптированный для
удобства выполнения
процессором
Доступ к памяти Разрешён
для инструкций
разного рода
Разрешён
только для инструкций
загрузки/сохранения

Примечание: Данная таблица относится только к процессорам общего назначения, поскольку цифровые сигнальные процессоры (DSP) и прочие встраиваемые процессоры значительно от них отличаются. К слову, их наборы команд типично малы из-за высокого уровня специализации решений.
 
Процессор предполагалось запустить в производство на очень высокой для того времени тактовой частоте — 150МГц, которую планировалось довести до 200МГц при тех же конструкторских нормах. Это оказалось возможным как благодаря удачной архитектуре, так и благодаря отказу разработчиков от использования систем автоматического проектирования и выполнению всех работ по схемотехнике исключительно вручную. Проект вступил в производственную стадию и вскоре был реорганизован в регулярное подразделение DEC.
 
Трудами отдела маркетинга DEC новая архитектура получила название AXP (или Alpha AXP), хотя до сих пор неизвестно, аббревиатурой чего было это недоразумение. Вполне возможно, что и ничего. В прошлом DEC имела проблемы с торговой маркой VAX, на которую претендовала компания по производству пылесосов, и тогда дело дошло до суда. Также мотивировалось, что рекламный слоган этой компании ("Nothing sucks like a Vax!" — "Ничто не сосёт так, как Vax!") дискредитирует продукцию DEC. Так что вскоре в компьютерном мире появилась шутка, что AXP означает это "Almost eXactly PRISM", то есть "почти точно PRISM".
 
<< Предыдущая страница Следующая страница >>

Copyright (c) Болотов Павел Владимирович, 2005-07. Все права сохранены.
Полная или частичная перепечатка без разрешения автора запрещена.
 
Designed and maintained by Alasir Enterprises, 1999-2007
rhett from alasir.com, walter from alasir.com