DEC Alpha - DEC Alpha

Альфа
ДизайнерКорпорация цифрового оборудования
Биты64-битный
Введено1992; 28 лет назад (1992)
ДизайнRISC
ТипЗарегистрироваться-Зарегистрироваться
КодированиеФиксированный
Порядок байтовБи
РасширенияРасширение байтов / слов (BWX), расширение преобразования квадратного корня и с плавающей запятой (FIX), расширение счетчика (CIX), видеоинструкции движения (MVI)
Открытьда[1]
Регистры
Общее назначение31 плюс всегда-ноль R31
Плавающая точка31 плюс всегда -0,0 F31
Фотография матрицы микропроцессора DEC Alpha AXP 21064
Пакет для микропроцессора DEC Alpha AXP 21064
Голая матрица Alpha AXP 21064, установленная на визитке, со статистикой
Compaq Alpha 21264C

Альфа, первоначально известный как Альфа AXP, это 64-битный вычисление с сокращенным набором команд (RISC) архитектура набора команд (ISA) разработано Корпорация цифрового оборудования (DEC), призванные заменить их 32-битный VAX компьютер со сложной системой команд (CISC) ISA. Альфа была реализована в микропроцессоры первоначально разработан и сфабрикованный пользователя DEC. Эти микропроцессоры наиболее широко использовались в различных рабочих станциях и серверах DEC, которые в конечном итоге легли в основу почти всей линейки продуктов среднего и высшего класса. Несколько сторонних поставщиков также производили системы Alpha, в том числе Форм-фактор ПК материнские платы.

Операционные системы который поддерживает Альфа, включая OpenVMS (ранее известный как OpenVMS AXP), Tru64 UNIX (ранее известные как DEC OSF / 1 AXP и Digital UNIX), Windows NT (прекращено после NT 4.0; и предварительный выпуск Windows 2000 RC1 ),[2] Linux (Debian, SUSE,[3] Gentoo и Красная шляпа ), BSD UNIX (NetBSD, OpenBSD и FreeBSD до 6.x), План 9 от Bell Labs, так же хорошо как L4Ka :: Фисташка ядро. Архитектура Alpha была продана вместе с большей частью DEC компании Compaq в 1998 г.[4] Compaq, уже Intel заказчик отказался от Alpha в пользу предстоящего Hewlett Packard / Intel Itanium архитектуры и проданы все Альфы интеллектуальная собственность в Intel в 2001 году, фактически убив продукт. Компания Hewlett-Packard приобрела Compaq позже в том же году, продолжая развитие существующей линейки продуктов до 2004 года и продавая системы на базе Alpha, в основном существующей клиентской базе, до апреля 2007 года.[5]

История

ПРИЗМА

Alpha родилась из более раннего проекта RISC под названием Призма (ппараллельно рвыведен яинструкция Set Machine), который сам является продуктом нескольких более ранних проектов. PRISM задумывался как гибкий дизайн, поддерживающий как Unix-подобные приложения, так и существующие Digital VMS программы из VAX после незначительного преобразования. Новый Unix-подобный[6][7] Операционная система известный как Слюда будет запускать приложения изначально, одновременно поддерживая VMS в режиме эмуляции.

Во время разработки команда разработчиков Пало-Альто работала только над Unix-версией. рабочая станция который изначально включал ПРИЗМУ. Однако разработка рабочей станции значительно опережала PRISM, и инженеры предложили выпускать машины с использованием MIPS R2000 процессор вместо этого,[8] что перенесет дату его выпуска примерно на год. Когда это предложение было принято, одна из двух ролей PRISM исчезла. Руководство DEC усомнилось в необходимости создания новой компьютерной архитектуры для замены существующих линий VAX и в конечном итоге завершило проект PRISM в 1988 году.[9]

Альфа

К моменту отмены PRISM чипы RISC второго поколения, такие как более новые SPARC архитектура, предлагали намного лучше соотношение цена / качество чем линейка VAX. Sun Microsystems активно нацеливалась на бывших клиентов DEC Unix, предоставляя машины с производительностью, аналогичной высокопроизводительным устройствам DEC, но при этом их стоимость была намного ниже и они соответствовали настольному компьютеру. Было ясно, что третье поколение микросхем RISC полностью превзойдет VAX по всем параметрам, а не только по стоимости. В то время как на основе MIPS DECstation защищал их младшие классы, но ничего не делал для их дойной коровы VAX.

Для рассмотрения проблемы руководство сформировало новую инженерную рабочую группу, «RISCy VAX Task Force». Они начали разработку нового поколения ЦП VAX с использованием концепций дизайна, подобных RISC, для повышения скорости при одновременном расширении до полной 64-битный архитектура, чтобы сократить разрыв с системами RISC следующего поколения. Это стало концепцией EVAX, продолжением успешной CMOS. NVAX выполнение. После тщательного изучения они в конце концов пришли к выводу, что единственный путь в будущем - совершенно новый. архитектура набора команд основан на чистом дизайне RISC. EVAX теперь будет машиной VAX, использующей новый ЦП для эмуляции процессора VAX, чтобы обеспечить Обратная совместимость а также конкурентоспособность с новыми рабочими станциями UNIX на базе RISC. Когда руководство приняло выводы, они решили дать проекту более нейтральное название, в конечном итоге остановившись на Alpha.[10]

В новом дизайне использовалось большинство основных концепций PRISM, но он был изменен, чтобы программы VMS и VMS работали с разумной скоростью без какого-либо преобразования. Основными разработчиками набора инструкций Alpha были Ричард Л. Сайтс и Ричард Т. Витек.[11] Эпикод ПРИЗМЫ превратился в Альфа PALcode, предоставляя абстрактный интерфейс для функций, зависящих от реализации платформы и процессора.

Основным вкладом Alpha в производство микропроцессоров и основной причиной ее производительности была не столько архитектура, сколько ее реализация.[12] В то время (как и сейчас) в индустрии микрочипов доминировали инструменты автоматизированного проектирования и компоновки. Разработчики микросхем в Digital продолжали разрабатывать сложные схемы ручного проектирования, чтобы справиться с чрезмерно сложной архитектурой VAX. Микросхемы Alpha показали, что ручное проектирование схем, примененное к более простой и чистой архитектуре, позволило добиться гораздо более высоких рабочих частот, чем те, которые были возможны с более автоматизированными системами проектирования. Эти микросхемы вызвали возрождение нестандартных схем в сообществе разработчиков микропроцессоров.

Первоначально процессоры Alpha назывались DECchip 21x64 серии,[13] с заменой "DECchip" в середине 1990-х на "Альфа". Первые две цифры «21» обозначают 21 век, а последние две цифры «64» обозначают 64 бита.[13] Alpha с самого начала проектировалась как 64-битная, и 32-битной версии не существует. Средняя цифра соответствует поколению архитектуры Alpha. Внутри процессоры Alpha также были идентифицированы EV числа, EV официально означает "Extended VAX", но имеет альтернативное юмористическое значение "Electric Власич ", отдавая дань уважения эксперименту Electric Pickle в Западной исследовательской лаборатории.[14]

Улучшенные модели

Первые несколько поколений микросхем Alpha были одними из самых инновационных для своего времени.

  • Первая версия, Альфа 21064 или же EV4, был первым CMOS микропроцессор, рабочая частота которого может соперничать с более мощным ECL миникомпьютеры и мэйнфреймы.
  • Второй, 21164 или же EV5, был первым микропроцессором, который разместил на кристалле большой вторичный кэш. [15]
  • Третий, 21264 или же EV6, был первым микропроцессором, который сочетал в себе высокую рабочую частоту и более сложные внеочередное исполнение микроархитектура.
  • В 21364 или же EV7 был первым высокопроизводительным процессором, имеющим встроенный контроллер памяти.[16]
  • Непроизведенный 21464 или же EV8 был бы первым, кто включил одновременная многопоточность, но эта версия была отменена после продажи DEC компании Compaq. В Тарантул исследовательский проект, который, скорее всего, назвали бы EV9, был бы первым процессором Alpha с векторный блок.[17]

Настойчивый отчет, приписываемый инсайдерам DEC, предполагает выбор AXP бирка для процессора была сделана юридическим отделом DEC, который все еще страдал от Торговая марка VAX фиаско.[18] После долгих поисков тег «AXP» оказался совершенно необремененным. В компьютерной индустрии пошла шутка, что аббревиатура AXP означало "Почти в точности ПРИЗМА".

Принципы дизайна

Архитектура Alpha задумывалась как высокопроизводительный дизайн. Digital планировала, что архитектура будет поддерживать увеличение производительности в тысячу раз за двадцать пять лет. Чтобы гарантировать это, все архитектурные особенности, которые препятствовали выдаче нескольких инструкций, тактовой частоте или многопроцессорности, были удалены. В результате в Alpha нет:

  • Слоты задержки перехода
  • Подавленные инструкции
  • Инструкции по загрузке или сохранению байтов (позже добавлены с помощью расширений байтовых слов (BWX))[19][20]

Коды условий

Альфа не имеет коды состояния для целочисленных инструкций[21] для устранения потенциального узкого места в регистре состояния состояния. Инструкции, приводящие к переполнению, такие как сложение двух чисел, результат которых не помещается в 64 бита, запишите 32 или 64 младшие значащие биты в регистр назначения. Перенос генерируется путем беззнакового сравнения результата с любым операндом, чтобы увидеть, меньше ли результат, чем любой из операндов. Если проверка была истинной, значение единица записывается в младший бит регистра назначения, чтобы указать условие.

Регистры

Регистры DEC Alpha
63. . .47. . .31. . .15. . .0100(битовая позиция)
Регистры общего назначения
R0R0
R1R1
R2R2
 
 
 
R29R29
R30R30
           R31 (нуль)R31, всегда ноль
Регистры с плавающей точкой
F0F0
F1F1
F2F2
 
 
 
F29F29
F30F30
           F31 (нуль)F31, всегда ноль
Счетчик команд
         ПК00ппрограмма Cвстречный
Регистры управления
LR0Lок рegister 0
LR1Lок рegister 1
FPCRFP Cконтроль рнапарник

В архитектуре определен набор из 32 целых чисел. регистры и набор из 32 регистров с плавающей запятой в дополнение к счетчик команд, два регистра блокировки и регистр управления с плавающей запятой (FPCR). Он также определил регистры, которые были необязательными, реализованными только в том случае, если они требуются для реализации. Наконец, регистры для PALcode были определены.

Целочисленные регистры были обозначены от R0 до R31, а регистры с плавающей запятой были обозначены от F0 до F31. Регистры R31 и F31 были жестко привязаны к нулю, и записи в эти регистры с помощью инструкций игнорируются. Цифровой вариант рассматривался с использованием комбинированного регистрового файла, но разделенный регистровый файл был определен как лучший, поскольку он позволял двухчиповым реализациям иметь регистровый файл, расположенный на каждом чипе, а реализациям только для целых чисел исключать регистровый файл с плавающей запятой, содержащий плавающую запятую. точечные регистры. Разделенный регистровый файл также был определен как более подходящий для выдачи нескольких инструкций из-за уменьшенного количества портов чтения и записи. Также учитывалось количество регистров на регистровый файл: 32 и 64 претендовали. Digital пришла к выводу, что 32 регистра более подходят, поскольку требуют меньше умереть пространство, в котором улучшены тактовые частоты. Было сочтено, что такое количество регистров не является серьезной проблемой с точки зрения производительности и будущего роста, поскольку тридцать два регистра могут поддерживать, по крайней мере, восьмистороннюю выдачу инструкций.

В счетчик команд представляет собой 64-битный регистр, который содержит виртуальный байтовый адрес, выровненный по длинному слову, то есть два младших бита программного счетчика всегда равны нулю. PC увеличивается на четыре до адреса следующей инструкции, когда инструкция декодируется. Флаг блокировки и регистр заблокированного физического адреса используются командами с блокировкой нагрузки и условием сохранения для поддержки мультипроцессоров. Регистр управления с плавающей запятой (FPCR) - это 64-битный регистр, определенный архитектурой, предназначенной для использования реализациями Alpha с IEEE 754 -совместимое оборудование с плавающей запятой.

Типы данных

В архитектуре Alpha байт был определен как 8 бит датум (октет), а слово как 16 бит датум, а длинное слово как 32-битный датум, а четырехслово как 64-битный данные, и октаворд как 128 бит данные.

Архитектура Alpha изначально определяла шесть типов данных:

  • Quadword (64-битное) целое число
  • Длинное слово (32-битное) целое
  • IEEE T-с плавающей запятой (двойная точность, 64-бит)
  • IEEE S-с плавающей точкой (одинарная точность, 32 бита)

Чтобы поддерживать уровень совместимости с VAX, 32-битная архитектура, предшествовавшая Alpha, были включены два других типа данных с плавающей запятой:

  • VAX G с плавающей точкой (двойная точность, 64 бита)
  • VAX F с плавающей точкой (одинарная точность, 32 бита)
  • VAX H с плавающей запятой (четырехкратная точность, 128 бит) не поддерживался,[22] но другой вариант 128-битной с плавающей запятой, X-с плавающей запятой, был доступен в Alpha, но не VAX.[23]
    H и X были описаны как похожие, но не идентичные. Программная эмуляция H-с плавающей запятой доступна от DEC, как и преобразователь уровня исходного кода под названием DECmigrate.

объем памяти

Alpha имеет 64-битный линейный виртуальный адрес пространство без сегментации памяти. Реализации могут реализовать виртуальное адресное пространство меньшего размера с минимальным размером 43 бита. Хотя неиспользуемые биты не были реализованы в оборудовании, таком как TLB, архитектура требовала, чтобы реализации проверяли, равны ли они нулю, чтобы гарантировать совместимость программного обеспечения с реализациями с большим (или полным) виртуальным адресным пространством.

Форматы инструкций

Alpha ISA имеет фиксированную длину инструкции 32 бита. Он имеет шесть форматов инструкций.

313029282726252423222120191817161514131211109876543210Тип
Код операцииРаРуб.Неиспользованный0ФункцияRcЦелочисленная операция
Код операцииРаБуквальный1ФункцияRcЦелочисленная операция, буквальная
Код операцииРаРуб.ФункцияRcОперация с плавающей точкой
Код операцииРаРуб.СмещениеФормат памяти
Код операцииРаСмещениеФормат филиала
Код операцииФункцияCALL_PAL формат

Целочисленный формат операции используется целочисленными инструкциями. Он содержит 6-битное поле кода операции, за которым следует поле Ra, которое определяет регистр, содержащий первый операнд, и поле Rb, определяющее регистр, содержащий второй операнд. Далее идет 3-битное поле, которое не используется и зарезервировано. 1-битовое поле содержит «0», что отличает этот формат от формата целочисленного литерала. Далее следует 7-битное функциональное поле, которое используется вместе с кодом операции для определения операции. Последнее поле - это поле Rc, которое указывает регистр, в который должен быть записан результат вычисления. Поля регистров имеют длину 5 бит, требуемых для адресации 32 уникальных ячеек, 32 целочисленных регистров.

Формат целочисленного литерала используется целочисленными инструкциями, которые используют литерал в качестве одного из операндов. Формат такой же, как и формат целочисленной операции, за исключением замены 5-битного поля Rb и 3-х битов неиспользуемого пространства 8-битовым литеральным полем, которое расширяется нулями до 64-битного операнда.

Формат операций с плавающей запятой используется командами с плавающей запятой. Он аналогичен целочисленному формату операций, но имеет 11-битное функциональное поле, которое стало возможным благодаря использованию буквальных и неиспользуемых битов, которые зарезервированы в целочисленном формате операции.

Формат памяти в основном используется инструкциями загрузки и сохранения. Он имеет 6-битовое поле кода операции, 5-битное поле Ra, 5-битное поле Rb и 16-битовое поле смещения.

Инструкции перехода имеют 6-битное поле кода операции, 5-битное поле Ra и 21-битовое поле смещения. Поле Ra указывает регистр, который должен быть протестирован инструкцией условного перехода, и, если условие выполнено, счетчик программы обновляется путем добавления содержимого поля смещения с помощью счетчика программы. Поле смещения содержит целое число со знаком, и если значение целого числа положительное, если выполняется переход, то счетчик программы увеличивается. Если значение целого числа отрицательное, то счетчик программы уменьшается, если выполняется переход. Таким образом, диапазон ответвления составляет ± 1 Mi инструкции или ± 4 MiB. Архитектура Alpha была разработана с широким диапазоном, как часть перспективной цели архитектуры.

Формат CALL_PAL используется CALL_PAL инструкция, которая используется для вызова PALcode подпрограммы. Формат сохраняет поле кода операции, но заменяет остальные 26-битным полем функции, которое содержит целое число, определяющее подпрограмму PAL.

Набор инструкций

Инструкции по контролю

В контроль инструкции состоят из условных и безусловных переходов и переходов. Команды условного и безусловного перехода используют формат инструкции перехода, а инструкции перехода используют формат инструкции памяти.

Условные переходы проверяют, установлен или очищен младший бит регистра, или сравнивают регистр как четверное слово со знаком с нулем и переходят, если указанное условие истинно. Условия, доступные для сравнения регистра с нулем: равенство, неравенство, меньше, меньше или равно, больше или равно и больше. Новый адрес вычисляется путем выравнивания длинного слова и знака, расширяя 21-битное смещение и добавляя его к адресу инструкции, следующей за условным переходом.

Безусловные переходы обновляют счетчик программы новым адресом, вычисленным так же, как условные переходы. Они также сохраняют в регистре адрес инструкции, следующей за безусловным переходом. Таких инструкций две, и они отличаются только подсказками, предусмотренными для оборудования предсказания ветвлений.

Есть четыре инструкции перехода. Все они выполняют одну и ту же операцию, сохраняя адрес инструкции, следующей за переходом, и предоставляя счетчику программы новый адрес из регистра. Они различаются подсказками для оборудования прогнозирования ветвлений. Для этого используется неиспользуемое поле смещения.

Целочисленная арифметика

Команды целочисленной арифметики выполняют сложение, умножение и вычитание длинных и четверных слов; и сравнение по четверным словам. Нет никаких инструкций по разделению, поскольку архитекторы сочли реализацию разделения в аппаратных средствах противоречащей простоте. В дополнение к стандартным инструкциям сложения и вычитания есть масштабированный версии. Эти версии сдвигают второй операнд влево на два или три бита перед сложением или вычитанием. В Умножить длинное слово и Умножить четверное слово инструкции записывают младшие 32 или 64 бита 64- или 128-битного результата в регистр назначения соответственно. Поскольку полезно получить наиболее значительную половину, Беззнаковое умножение четырехслова в высоту (UMULH) инструкция предоставляется. UMULH используется для реализации алгоритмов арифметики с высокой точностью и деления. Концепция отдельной инструкции умножения, возвращающей старшую половину результата, была взята из ПРИЗМА.

Команды, которые работают с длинными словами, игнорируют старшую половину регистра, и 32-битный результат расширяется знаком перед записью в регистр назначения. По умолчанию команды сложения, умножения и вычитания, за исключением UMULH и масштабированных версий сложения и вычитания, не задерживаются при переполнении. Когда такая функциональность требуется, предоставляются версии этих инструкций, которые выполняют обнаружение переполнения и ловушку при переполнении.

Команды сравнения сравнивают два регистра или регистр и литерал и записывают «1» в регистр назначения, если указанное условие истинно, или «0», если нет. Условиями являются равенство, неравенство, меньше или равно и меньше чем. За исключением инструкций, которые определяют первые два условия, есть версии, которые выполняют сравнение со знаком и без знака.

Целочисленные арифметические команды используют форматы целочисленных команд операций.

Логика и сдвиг

Логические инструкции состоят из инструкций для выполнения побитовый логические операции и условные ходы на целочисленных регистрах. Поразрядные логические инструкции выполняют И, NAND, НИ, ИЛИ ЖЕ, XNOR, и XOR между двумя регистрами или регистром и литералом. Команды условного перемещения проверяют регистр как четверное слово со знаком на ноль и перемещаются, если заданное условие истинно. Указанные условия: равенство, неравенство, меньше или равно, меньше, больше или равно и больше чем. Инструкции сдвига выполняют арифметический сдвиг вправо, и логические сдвиги влево и вправо. Величина сдвига задается регистром или литералом. Логические инструкции и инструкции сдвига используют целочисленные форматы инструкций операций.

Расширения

Расширения байтовых слов (BWX)

Позже Alpha включила расширения байтовых слов, набор инструкций для управления 8-битными и 16-битными типами данных. Эти инструкции были впервые представлены в 21164A (EV56) микропроцессор и присутствуют во всех последующих реализациях. Эти инструкции выполняли операции, для реализации которых ранее требовалось несколько инструкций, что улучшало плотность кода и производительность некоторых приложений. BWX также выполнил эмуляцию машинного кода x86 и написал драйверы устройств Полегче.[24]

МнемоническийИнструкция
ЛДБУЗагрузить нулевой расширенный байт из памяти в регистр
LDWUЗагрузить слово с нулевым расширением из памяти в регистр
SEXTBЗнак расширения байта
SEXTWПодпишите расширение слова
STBСохранить байт из регистра в память
STWСохранение слова из регистра в память

Видеоинструкции по движению (MVI)

Видеоинструкции движения (MVI) были расширением набора инструкций для Alpha ISA, которое добавляло инструкции для одна инструкция, несколько данных (SIMD) операции.[25] Альфа-реализации, реализующие MVI, в хронологическом порядке: Альфа 21164PC (PCA56 и PCA57), Альфа 21264 (EV6) и Альфа 21364 (EV7). В отличие от большинства других наборов инструкций SIMD того же периода, таких как MIPS ' MDMX или же SPARC с Набор визуальных инструкций, но, как PA-RISC с Расширения мультимедийного ускорения (MAX-1, MAX-2), MVI представлял собой простой набор инструкций, состоящий из нескольких инструкций, которые работают с целыми типами данных, хранящимися в существующих целочисленных регистрах.

Простота MVI объяснялась двумя причинами. Во-первых, Digital установила, что Альфа 21164 уже был способен выполнять DVD декодирование с помощью программного обеспечения, поэтому не требовало аппаратных средств для этой цели, но было неэффективным в MPEG-2 кодирование. Вторая причина заключалась в том, чтобы сохранить короткие циклы внедрения. Добавление большого количества инструкций усложнило бы и увеличило бы логику декодирования инструкций, уменьшив тактовую частоту реализации.

МВИ состоял из 13 инструкций:

МнемоническийИнструкция
MAXSB8Максимальный байт со знаком
MAXSW4Максимальное количество слов со знаком
MAXUB8Максимальный байт без знака вектора
MAXUW4Максимум векторного беззнакового слова
MINSB8Минимум байта со знаком со знаком
MINSW4Вектор подписанное слово минимум
MINUB8Минимум вектора беззнакового байта
MINUW4Вектор беззнакового слова минимум
PERRОшибка пикселей
ПКЛБУпаковать длинные слова в байты
PKWBУпаковать слова в байты
УНПКБЛРаспаковать байты в длинные слова
UNPKBWРаспаковать байты в слова

Расширения с плавающей точкой (FIX)

Расширения с плавающей запятой (FIX) были расширением Alpha Architecture. Он представил девять инструкций для вычисления квадратного корня с плавающей запятой и для передачи данных в и из целочисленных регистров и регистров с плавающей запятой. В Альфа 21264 (EV6) был первым микропроцессором, реализовавшим эти инструкции.

МнемоническийИнструкция
FTOISПеремещение регистра с плавающей запятой в целочисленное, S_floating
FTOITПеремещение регистра с плавающей запятой в целочисленное, T_floating
ЭТО ОТПеремещение целого числа в регистр с плавающей запятой, F_floating
ITOFSПеремещение целого числа в регистр с плавающей запятой, S_floating
ITOFTПеремещение целого числа в регистр с плавающей запятой, T_floating
SQRTFКвадратный корень F_floating
SQRTGКвадратный корень G_floating
SQRTSКорень квадратный S_floating
SQRTTКорень квадратный T_floating

Подсчет расширений (CIX)

Count Extensions (CIX) был расширением архитектуры, в которой были введены три инструкции для подсчета битов. Эти инструкции были отнесены к целочисленным арифметическим инструкциям. Впервые они были реализованы на Альфа 21264A (EV67).

МнемоническийИнструкция
CTLZСчетчик ведущий ноль
CTPOPПодсчитать население
CTTZПодсчет завершающего нуля

Реализации

На момент анонса Alpha была объявлена ​​архитектурой на следующие 25 лет. Хотя этого и не должно было случиться, Alpha прожила достаточно долгую жизнь. Первая версия, Альфа 21064 (иначе известный как EV4) был представлен в ноябре 1992 года и работал на частоте до 192 МГц; небольшая усадка матрицы ( EV4S, уменьшился с 0,75 мкм до 0,675 мкм) несколько месяцев спустя работал на частоте 200 МГц. 64-битный процессор был сверхтрубопровод и суперскалярный дизайн, как и другие конструкции RISC, но, тем не менее, превзошел их все, и DEC рекламировал его как самый быстрый процессор в мире. Пристальное внимание к схемотехнике, отличительная черта команды разработчиков Hudson, такая как огромная централизованная схема синхронизации, позволяла им запускать ЦП на более высоких скоростях, даже несмотря на то, что микроархитектура была довольно похожа на другие чипы RISC. Для сравнения, менее дорогой Intel Pentium работал на частоте 66 МГц, когда был запущен следующей весной.

В Альфа 21164 или же EV5 стал доступен в 1995 году с частотой процессора до 333 МГц. В июле 1996 года скорость линии была увеличена до 500 МГц, в марте 1998 года - до 666 МГц. Также в 1998 г. Альфа 21264 (EV6) был выпущен на частоте 450 МГц, в конечном итоге достигнув (в 2001 г. 21264C/EV68CB) 1,25 ГГц. В 2003 г. Альфа 21364 или же EV7 Чудо был запущен, по сути, ядро ​​EV68 с четырьмя 1,6 ГБ / с[26] межпроцессорные каналы связи для улучшения мультипроцессор производительность системы, работающая на частоте 1 или 1,15 ГГц.

В 1996 году производство чипов Alpha было лицензировано для Компания Samsung Electronics. После покупки Digital компанией Compaq большинство продуктов Alpha были размещены с API NetWorks, Inc. (ранее Alpha Processor Inc.), частная компания, финансируемая Samsung и Compaq. В октябре 2001 г. Microway стала эксклюзивным поставщиком услуг и продаж продуктовой линейки API NetWorks на базе Alpha.

25 июня 2001 года Compaq объявила, что к 2004 году Alpha будет прекращена в пользу Intel с Itanium, отменил запланированный EV8 чип, и продал всю интеллектуальную собственность Alpha компании Intel.[27] HP, новый владелец Compaq в том же году, объявила, что разработка серии Alpha будет продолжаться еще несколько лет, включая выпуск варианта EV7 с тактовой частотой 1,3 ГГц, названного EV7z. Это будет последняя итерация Alpha, 0,13 мкм. EV79 также отменяется.

Альфа также была реализована в Пиранья, исследовательский прототип, разработанный подразделениями Compaq по корпоративным исследованиям и непрерывной разработке оборудования в Западной исследовательской лаборатории и Центре системных исследований. Пиранья был многоядерный дизайн для обработка транзакции рабочие нагрузки, содержащие восемь простых ядер. Он был описан на 27-м ежегодном международном симпозиуме по компьютерной архитектуре в июне 2000 года.[28]

История модели

МодельНомер моделиГодЧастота [МГц]Процесс [мкм]Транзисторы [миллионы]Размер матрицы [мм2]IO контактыМощность [Вт]НапряжениеDcache [КБ][29]Icache [КБ]ScacheBcacheЭТО
EV4210641992100–2000.751.68234290303.388128 КБ – 16 МБ 
EV4S210641993100–2000.6751.68186290273.388128 КБ – 16 МБ 
EV4521064A1994200–3000.52.85164333.31616256–16 МБ 
LCA4210661993100–1660.6751.75209213.388  
LCA4210681994660.6751.7520993.388  
LCA4521066A1994100–2660.51.8161233.388  
LCA4521068A19941000.51.81613.388  
EV5211641995266–5000.59.3299296563.3/2.58896 КБДо 64 МБр
EV5621164A1996366–666[1]0.359.66[1]20931–55[1]3.3/2.5[1]8896 КБДо 64 МБR, B
PCA5621164PC1997400–5330.353.514126426–353.3/2.5816512 КБ – 4 МБR, B, M
PCA5721164PC 600–6660.285.710128318–232.5/2.01632[1]512 КБ – 4 МБR, B, M
EV6212641998450–6000.3515.2314389732.064642–8 МБR, B, M, F
EV6721264A1999600–7500.2515.2210389 2.064642–8 МБR, B, M, F, C
EV68AL21264B2001800–8330.1815.2125  1.764642–8 МБR, B, M, F, C, T
EV68CB21264C20011000–12500.1815.2125 65–751.6564642–8 МБR, B, M, F, C, T
EV68CX21264D       1.6564642–8 МБR, B, M, F, C, T
EV72136420031000–11500.181303971251.564641,75 МБR, B, M, F, C, T
EV7z21364200413000.181303971251.564641,75 МБR, B, M, F, C, T
Отменено
EV78 / EV7921364AПланируется на 2004 год17000.131523001201.264641,75 МБR, B, M, F, C, T
EV821464Планируется на 2003 год1200–20000.1252504201800??1.264643 МБR, B, M, F, C, T
МодельНомер моделиГодЧастота [МГц]Процесс [мкм]Транзисторы [миллионы]Размер матрицы [мм²]IO контактыМощность [Вт]НапряжениеDcache [КБ]Icache [КБ]ScacheBcacheЭТО
Расширения ISA
  • р - Аппаратная поддержка округления до бесконечности и отрицательной бесконечности.[30]
  • B - BWX, «Расширение байта / слова», добавляющее инструкции, разрешающие 8- и 16-битные операции из памяти и ввода-вывода
  • M - MVI, "мультимедийная" инструкция
  • F - FIX, инструкции для перемещения данных между целочисленными регистрами и регистрами с плавающей запятой и для квадратного корня
  • C - CIX, инструкции по подсчету и нахождению битов
  • Т - поддержка предварительной выборки с намерением изменения для повышения производительности первой попытки получить блокировку

Спектакль

Чтобы проиллюстрировать сравнительную производительность систем на базе Alpha, некоторые SPEC номера производительности (SPECint95, SPECfp95) перечислены ниже. Обратите внимание, что результаты SPEC утверждают, что сообщают измеренную производительность всей компьютерной системы (ЦП, шина, память, оптимизатор компилятора), а не только ЦП. Также обратите внимание, что эталонный тест и масштаб изменились с 1992 по 1995 год. Однако цифры дают приблизительное представление о производительности архитектуры Alpha (64-бит) по сравнению с современными предложениями HP (64-бит) и Intel ( 32-битный). Возможно, наиболее очевидная тенденция заключается в том, что, хотя Intel всегда могла быть достаточно близка к Alpha по производительности целых чисел, по производительности с плавающей запятой разница была значительной. С другой стороны, HP (PA-RISC ) также достаточно близок к Alpha, но эти процессоры работают на значительно более низких тактовых частотах (МГц). В таблицах отсутствуют два важных значения: энергопотребление и цена процессора.

Системы на основе альфа

Первое поколение систем на базе DEC Alpha включало DEC 3000 AXP серийные рабочие станции и серверы начального уровня, DEC 4000 AXP серверы среднего уровня серии, и DEC 7000 AXP и 10000 AXP серии high-end серверов. В системах DEC 3000 AXP использовались те же ТУРБОканал автобус как предыдущий MIPS на базе DECstation, тогда как модель 4000 была основана на FutureBus + и 7000/10000 разделяют архитектуру с соответствующими VAX модели.

DEC также выпустила ПК -подобная рабочая станция Alpha с EISA автобус, DECpc AXP 150 (кодовое имя «Дженсен», также известное как DEC 2000 AXP). Это была первая система Alpha, поддерживающая Windows NT. Позже DEC выпустила альфа-версии своих Celebris XL и Цифровая персональная рабочая станция Линия ПК с 21164 процессорами.

Цифровые также производятся одноплатные компьютеры на основе VMEbus для встроенного и промышленного использования. Первое поколение включало AXPvme 64 и AXPvme 64LC на базе 21068 и AXPvme 160 на базе 21066. Они были представлены 1 марта 1994 года. Более поздние модели, такие как AXPvme 100, AXPvme 166 и AXPvme 230, были основаны на процессоре 21066A. , тогда как Alpha VME 4/224 и Alpha VME 4/288 были основаны на процессоре 21064A. Последние модели Alpha VME 5/352 и Alpha VME 5/480 были основаны на процессоре 21164.

Микросхема 21066 использовалась в DEC Multia Компактная рабочая станция VX40 / 41/42 и ноутбук ALPHAbook 1 от Tadpole Technology.

В 1994 году DEC запустила новую линейку AlphaStation и AlphaServer системы. Они использовали процессоры 21064 или 21164 и представили PCI автобус VGA -совместимый кадровые буферы и PS / 2 клавиатуры и мыши в стиле. Серия AlphaServer 8000 заменила DEC 7000/10000 AXP, а также использовала шины XMI и FutureBus +.

AlphaStation XP1000 была первой рабочей станцией на базе процессора 21264. Более поздние модели AlphaServer / Station на основе 21264 были разделены на DS (ведомственный сервер), ES (корпоративный сервер) или GS (глобальный сервер) семей.

Последний чип 21364 использовался в моделях AlphaServer ES47, ES80 и GS1280 и AlphaStation ES47.

Номер OEM материнские платы были произведены DEC, такие как 21066 и 21068 на базе AXPpci 33 "NoName", которые были частью крупного продвижения компании на рынок OEM,[31] AlphaPC 164 и AlphaPC 164LX на базе 21164, AlphaPC 164SX и AlphaPC 164RX на базе 21164PC и AlphaPC 264DP на базе 21264. Некоторые сторонние компании, такие как Samsung и API, также производили материнские платы OEM, такие как API UP1000 и UP2000.

Чтобы помочь третьим сторонам в разработке аппаратного и программного обеспечения для платформы, DEC выпустила оценочные платы, такие как EB64 + и EB164 для микропроцессоров Alpha 21064A и 21164 соответственно.

Процессоры 21164 и 21264 использовались NetApp в различных Network Attached Storage системы, а процессоры 21064 и 21164 использовались Cray в их T3D и T3E массивно параллельный суперкомпьютеры.

Суперкомпьютеры

Самым быстрым суперкомпьютером на базе процессоров Alpha был ASCI Q в Лос-Аламосской национальной лаборатории. Машина была построена как кластер HP AlphaServer SC45 / GS. Он имел 4096 процессоров Alpha (21264 EV-68, 1,25 ГГц) и достиг RМаксимум из 7,727 TFLOPS.[32]

Рекомендации

  1. ^ а б c d е ж Пол В. Болотов (21 апреля 2007 г.). «Альфа: история в фактах и ​​комментариях». Архивировано из оригинал 3 декабря 2013 г.. Получено 22 ноя, 2008.
  2. ^ Аарон Сакович (2001). "Windows 2000?". Источник AlphaNT. Архивировано из оригинал на 2008-07-08. Получено 2007-01-01.
  3. ^ «SUSE Linux 7.0 Alpha Edition». SUSE. 2000 г.. Получено 2014-01-08.
  4. ^ «Призрак DEC Alpha - вот почему Windows - мусор при сжатии файлов». TheRegister.co.uk. 2 ноября 2016 г.
  5. ^ «Преобразование среды AlphaServer». HP. Архивировано из оригинал на 2007-02-08. Получено 2007-01-11.
  6. ^ Нил С. Рик. «Дэйв Катлер, PRISM, Mica, Emerald и т. Д.».
  7. ^ "Сколько UNIX есть в NT?". ARS technica.
  8. ^ Болотов, Павел V (2007-04-22). «Альфа: История в фактах и ​​комментариях». Получено 2019-09-09.
  9. ^ Марк Смотерман. "Эскиз DEC PRISM". PRISM (машина с параллельным сокращенным набором команд) ... первый проект архитектуры PRISM в августе 1985 г .; DEC отменяет проект в 1988 году в пользу MIPS на базе ...
  10. ^ Супник, Боб. http://research.compaq.com/wrl/DECarchives/DTJ/DTJ800/axp-foreword.txt. Отсутствует или пусто | название = (помощь)
  11. ^ Ричард Л. Сайты; Ричард Т. Витек (16 мая 2014 г.). Справочное руководство по архитектуре Alpha AXP - 2-е издание. ISBN  978-1-4831-8403-6.
  12. ^ Уорнер, У. (22 декабря 2004 г.). «Великие моменты в истории микропроцессоров». IBM.
  13. ^ а б "cpu-collection.de - DEC Alpha AXP". Первые процессоры семейства Alpha были обозначены как серия DECchip 21064 («21» означает 21 век).
  14. ^ Билл Гамбурген; Джефф Могул; Брайан Рид; Алан Юстас; Ричард Свон; Мэри Джо Доэрти; Джоэл Бартлетт (1989). "Техническое примечание WRL TN-13: Характеристики систем органического освещения" (PDF ). Корпорация цифрового оборудования. Получено 2007-10-04. Цитировать журнал требует | журнал = (помощь)
  15. ^ Джон Х. Эдмондсон; Пол И. Рубинфельд; Питер Дж. Бэннон; Брэдли Дж. Беншнайдер; Дебра Бернштейн; Рубен В. Кастелино; Элизабет М. Купер; Дэниел Э. Девер; Дейл Р. Дончин; Тимоти К. Фишер; Анил К. Джайн; Шекхар Мехта; Жанна Э. Мейер; Рональд П. Престон; Видья Раджагопалан; Чандрасекхара Соманатан; Скотт А. Тейлор; Гилберт М. Волрих (1995). «Внутренняя организация Alpha 21164, 64-битного четырехъядерного CMOS RISC микропроцессора с частотой 300 МГц». Цифровой технический журнал. 7 (1): 119–135. CiteSeerX  10.1.1.38.9551. большой встроенный кэш второго уровня с обратной записью
  16. ^ Обзоры, C.T.I (2016). Структурированная компьютерная организация. ISBN  978-1478426738. 21364 ... первый высокопроизводительный процессор с встроенным контроллером памяти.
  17. ^ Роджер Эспаса; Федерико Арданаз; Хулио Гаго; Роджер Грамунт; Исаак Эрнандес; Тони Хуан; Джоэл Эмер; Стивен Феликс; Джефф Лоуни; Мэтью Маттина; Андре Сезнец (2002). «Тарантул: векторное расширение к альфа-архитектуре». В Даниэль С. Мартин (ред.). Материалы: 29-й ежегодный международный симпозиум по компьютерной архитектуре (ISCA '02). 29-й ежегодный международный симпозиум по компьютерной архитектуре (ISCA '02). Джо Дейгл / Studio Productions. Лос-Аламитос, Калифорния: Компьютерное общество IEEE. С. Страницы: 281–292. Дои:10.1109 / ISCA.2002.1003586. ISBN  0-7695-1605-X.
  18. ^ "VAX Vacuum". ... с юридической точки зрения, если бы DEC использовала VAX в США до этого ... "разумный человек" без труда проведет различие между двумя видами использования
  19. ^ «Alpha AXP, часть 8: доступ к памяти, хранение байтов и слов». 16 августа 2017 года. Работа с невыровненной памятью на Alpha AXP очень раздражает
  20. ^ "Спецификация микропроцессора Alpha 21264" (PDF). Инструкции, составляющие расширение BWX, следующие ...
  21. ^ "Инструкции MIPS". DEC Alpha ..., без целочисленного кода условия.
  22. ^ «Альфа-биты - переход в будущее». DEC Professional. Август 1992 г. с. 62. H плавающие типы данных недоступны в Alpha
  23. ^ «Миграция приложения с OpenVMS VAX на OpenVMS Alpha».
  24. ^ Gronowski, P.E .; Bowhill, W. J .; Дончин, Д. Р .; Blake-Campos, R.P .; Карлсон, Д. А .; Equi, E. R .; Loughlin, B.J .; Mehta, S .; Mueller, R. O .; Олесин, А .; Noorlag, D. J. W .; Престон, Р. П. (1996). «Четырехпозиционный RISC-микропроцессор, 433 МГц, 64-бит». Журнал IEEE по твердотельным схемам. 31 (11): 1687–1696. Bibcode:1996IJSSC..31.1687G. Дои:10.1109 / JSSC.1996.542313.
  25. ^ Гвеннап, Линли (18 ноября 1996 г.). «Цифровой, MIPS Добавить мультимедийные расширения». Отчет микропроцессора.
  26. ^ В контексте передачи данных 1 ГБ означает 1 миллиард байт.
  27. ^ Попович, Кен (28.06.2001). «Альфа дорого обходится Compaq». www.zdnet.com. ZDNet. Получено 2016-03-02.
  28. ^ Луис Андре Баррозу; Курош Гарачорлоо; Роберт Макнамара; Андреас Новацик; Шаз Кадир; Бартон Сано; Скотт Смит; Роберт Стетс; Бен Вергезе (2000). Piranha: масштабируемая архитектура, основанная на одночиповой многопроцессорной обработке. 27-й ежегодный международный симпозиум по компьютерной архитектуре. Дои:10.1145/339647.339696.
  29. ^ В контексте кэш-памяти 1 КБ = 1024 байты; 1 МБ = 1024 КБ
  30. ^ Дэвид Мосбергер. «Обзор семейства Alpha». Получено 9 декабря, 2009.
  31. ^ Райнхардт Краузе. «DEC запускает запуск платы Alpha». Электронные новости, 4 апреля 1994 г.
  32. ^ Лос-Аламосские национальные лаборатории (2002). «Система ASCI Q: производительность 30 тераопераций в секунду в Национальной лаборатории Лос-Аламоса» (PDF). Архивировано из оригинал (PDF) на 2011-01-12. Получено 2010-06-06.

внешняя ссылка