Alpha (первоначальное название Alpha AXP ) — это архитектура набора команд (ISA) 64-битного компьютера с сокращенным набором команд ( RISC ), разработанная Digital Equipment Corporation (DEC). Alpha была разработана для замены 32-битных компьютеров с комплексным набором команд VAX (CISC) и стала высококонкурентным RISC-процессором для рабочих станций Unix и аналогичных рынков.
Alpha была реализована в серии микропроцессоров , изначально разработанных и изготовленных DEC. Эти микропроцессоры наиболее часто использовались в различных рабочих станциях и серверах DEC, которые в конечном итоге легли в основу почти всей их линейки среднего и высшего уровня. Несколько сторонних поставщиков также производили системы Alpha, включая материнские платы форм-фактора ПК .
Операционные системы , поддерживающие Alpha, включают OpenVMS (ранее называвшийся OpenVMS AXP), Tru64 UNIX (ранее называвшийся DEC OSF/1 AXP и Digital UNIX), Windows NT (прекращена после NT 4.0 и предварительной версии Windows 2000 RC2 ), [2] Linux ( Debian , SUSE , [3] Gentoo и Red Hat ), BSD UNIX ( NetBSD , OpenBSD и FreeBSD до версии 6.x), Plan 9 от Bell Labs и ядро L4Ka::Pistachio . Портирование Ultrix на Alpha было выполнено во время первоначальной разработки архитектуры Alpha, но так и не было выпущено как продукт. [4]
Архитектура Alpha была продана вместе с большинством частей DEC компании Compaq в 1998 году. [5] Compaq, уже являвшаяся клиентом Intel x86, объявила, что она постепенно откажется от Alpha в пользу будущей архитектуры Hewlett-Packard /Intel Itanium , и продала всю интеллектуальную собственность Alpha компании Intel в 2001 году, [6] фактически убив продукт. Hewlett-Packard приобрела Compaq в 2002 году, продолжив разработку существующей линейки продуктов до 2004 года и продавая системы на базе Alpha, в основном существующей клиентской базе, до апреля 2007 года. [7]
Alpha возникла из более раннего проекта RISC под названием Parallel Reduced Instruction Set Machine ( PRISM ), который сам по себе был продуктом нескольких более ранних проектов. PRISM должен был стать гибкой конструкцией, поддерживающей приложения типа Unix и существующее программное обеспечение VAX/VMS от Digital после незначительной конверсии. Новая операционная система под названием MICA будет поддерживать интерфейсы ULTRIX и VAX/VMS на общем ядре , что позволит легко переносить программное обеспечение для обеих платформ на архитектуру PRISM. [8]
Начатый в 1985 году, дизайн PRISM постоянно менялся в ходе разработки в ответ на изменения на компьютерном рынке, что привело к длительным задержкам в его внедрении. Только летом 1987 года было решено, что это будет 64-битный дизайн, один из самых ранних таких дизайнов в формате микропроцессора . В октябре 1987 года Sun Microsystems представила Sun-4 , свою первую рабочую станцию, использующую свой новый процессор SPARC . Sun-4 работает примерно в три-четыре раза быстрее, чем их последние дизайны Sun-3 , использующие Motorola 68020 , и любое предложение Unix от DEC. Планы снова изменились; PRISM снова был перестроен как 32-битная часть и нацелен непосредственно на рынок Unix. Это еще больше задержало проектирование. [9]
Наблюдая за тем, как дата поставки PRISM продолжает откладываться, и столкнувшись с возможностью дальнейших задержек, команда в офисе в Пало-Альто решила разработать собственную рабочую станцию с использованием другого процессора RISC. После комплексной проверки они выбрали MIPS R2000 и построили рабочую станцию с Ultrix в течение 90 дней. [10] Это вызвало ожесточенные дебаты внутри компании, которые достигли апогея на собрании руководства в июле 1988 года. PRISM, казалось, был быстрее R2000, но машины R2000 могли появиться на рынке к январю 1989 года, на год раньше PRISM. Когда это предложение было принято, одна из двух первоначальных ролей PRISM исчезла. Решение о создании VMS PRISM к этому моменту уже было принято, поэтому не осталось ни одной роли. PRISM был отменен на собрании. [11]
Когда встреча закончилась, к Бобу Супнику обратился Кен Олсен , который заявил, что чипы RISC, по всей видимости, представляют собой будущую угрозу для их линейки VAX. Он попросил Супника подумать о том, что можно сделать с VAX, чтобы сохранить его конкурентоспособность с будущими системами RISC. [9]
Это привело к формированию команды "RISCy VAX". Изначально они рассматривали три концепции. Одна из них представляла собой урезанную версию архитектуры набора инструкций VAX (ISA), которая работала бы на RISC-подобной системе и оставляла бы более сложные инструкции VAX системным подпрограммам. Другая концепция представляла собой чистую RISC-систему, которая бы транслировала существующий код VAX в свой собственный ISA на лету и сохраняла бы его в кэше ЦП . Наконец, все еще оставалась возможность гораздо более быстрого процессора CISC, работающего над полной VAX ISA. К сожалению, все эти подходы приводили к накладным расходам и не могли бы конкурировать с чистой RISC-машиной, работающей на собственном RISC-коде. [12]
Затем группа рассмотрела гибридные системы, которые объединяли одно из их существующих одночиповых решений VAX и чип RISC в качестве сопроцессора, используемого для высокопроизводительных нужд. Эти исследования показали, что система неизбежно будет ограничена частью с более низкой производительностью и не даст убедительного преимущества. Именно в этот момент Нэнси Кроненберг указала, что люди запускали VMS, а не VAX, и что у VMS было только несколько аппаратных зависимостей, основанных на ее моделировании прерываний и подкачки памяти. Казалось, не было никаких убедительных причин, по которым VMS не могла быть перенесена на чип RISC, пока эти небольшие части модели были сохранены. Дальнейшая работа над этой концепцией показала, что это был работающий подход. [12]
Supnik представил полученный отчет в Strategy Task Force в феврале 1989 года. Было поднято два вопроса: может ли полученный RISC-дизайн также стать лидером по производительности на рынке Unix, и должна ли машина быть открытым стандартом? И с этим было принято решение принять архитектуру PRISM с соответствующими модификациями. Это стало концепцией «EVAX», продолжением успешной реализации CMOS CVAX . Когда руководство приняло выводы, они решили дать проекту более нейтральное название, убрав «VAX», в конечном итоге остановившись на Alpha. [13] Название было навеяно использованием «Omega» в качестве кодового названия модели VAX 4000 на базе NVAX ; «Alpha» должно было обозначать начало новой линейки (со ссылкой на Alpha и Omega ). [14] Вскоре после этого началась работа по переносу VMS на новую архитектуру . [15]
Новый дизайн использует большинство базовых концепций PRISM, но был перенастроен, чтобы позволить VMS и программам VMS работать на разумной скорости без каких-либо преобразований. Основными архитекторами набора инструкций Alpha были Ричард Л. Сайтс и Ричард Т. Витек. [16] Epicode PRISM был преобразован в PALcode Alpha , предоставляя абстрактный интерфейс для функций, специфичных для платформы и реализации процессора.
Главный вклад Alpha в микропроцессорную промышленность и главная причина ее производительности — это не столько архитектура, сколько ее реализация. [17] В то время (как и сейчас) в микропроцессорной промышленности доминировали автоматизированные инструменты проектирования и компоновки. Разработчики микросхем в Digital продолжали заниматься сложным ручным проектированием схем, чтобы иметь дело со сложной архитектурой VAX. Микросхемы Alpha показывают, что ручное проектирование схем, примененное к более простой и чистой архитектуре, позволяет достичь гораздо более высоких рабочих частот, чем те, которые возможны с более автоматизированными системами проектирования. Эти микросхемы вызвали возрождение индивидуального проектирования схем в сообществе разработчиков микропроцессоров.
Первоначально процессоры Alpha были обозначены как серия DECchip 21x64 , [18] с заменой «DECchip» в середине 1990-х на «Alpha». Первые две цифры, «21», обозначают 21-й век, а последние две цифры, «64», обозначают 64 бита. [18] Alpha изначально разрабатывалась как 64-битная, и 32-битной версии не существует. Средняя цифра соответствует поколению архитектуры Alpha. Внутри процессоры Alpha также идентифицировались по номерам EV , EV официально означает «Extended VAX», но имеет альтернативное юмористическое значение «Electric Vlasic », отдавая дань уважения эксперименту Electric Pickle в Western Research Lab. [19]
В мае 1997 года DEC подала в суд на Intel за предполагаемое нарушение ее патентов Alpha при проектировании оригинальных чипов Pentium , Pentium Pro и Pentium II . [20] В рамках урегулирования большая часть бизнеса DEC по проектированию и производству чипов была продана Intel. Это включало реализацию StrongARM от DEC компьютерной архитектуры ARM , которую Intel продавала как процессоры XScale, обычно используемые в карманных ПК . Ядро Digital Semiconductor, группа микропроцессоров Alpha, осталось за DEC, в то время как связанные с ней офисные здания перешли к Intel как часть фабрики в Хадсоне. [21]
Первые несколько поколений чипов Alpha были одними из самых инновационных для своего времени.
Постоянный отчет, приписываемый инсайдерам DEC, предполагает, что выбор тега AXP для процессора был сделан юридическим отделом DEC, который все еще страдал от фиаско с торговой маркой VAX . [26] После длительного поиска было обнаружено, что тег «AXP» совершенно не обременен. В компьютерной индустрии появилась шутка, что аббревиатура AXP означает «Почти точно PRISM». [27]
Архитектура Alpha была задумана как высокопроизводительная конструкция. Digital намеревалась, чтобы архитектура поддерживала тысячекратное увеличение производительности за двадцать пять лет. Чтобы обеспечить это, были удалены все архитектурные особенности, которые препятствовали выпуску нескольких инструкций, тактовой частоте или многопроцессорности. В результате Alpha не имеет:
Alpha не имеет кодов условий для целочисленных инструкций [30] для устранения потенциального узкого места в регистре состояния условий. Инструкции, приводящие к переполнению, такие как сложение двух чисел, результат которых не помещается в 64 бита, записывают 32 или 64 младших бита в целевой регистр. Перенос генерируется путем выполнения беззнакового сравнения результата с любым из операндов, чтобы увидеть, меньше ли результат любого из операндов. Если тест был истинным, значение один записывается в младший бит целевого регистра для указания условия.
Архитектура определяет набор из 32 целочисленных регистров и набор из 32 регистров с плавающей точкой в дополнение к счетчику программ , двум регистрам блокировки и регистру управления с плавающей точкой (FPCR). Она также определяет регистры, которые были необязательными, реализованными только в том случае, если реализация требовала их. Наконец, определены регистры для PALcode .
Целочисленные регистры обозначены как R0 - R31, а регистры с плавающей точкой обозначены как F0 - F31. Регистры R31 и F31 жестко привязаны к нулю, и записи в эти регистры инструкциями игнорируются. Digital рассматривала возможность использования объединенного регистрового файла, но было определено, что лучше использовать разделенный регистровый файл, так как он позволяет реализациям с двумя чипами иметь регистровый файл, расположенный на каждом чипе, а реализациям только с целыми числами - опускать файл регистра с плавающей точкой, содержащий регистры с плавающей точкой. Разделенный регистровый файл также был определен как более подходящий для выпуска нескольких инструкций из-за уменьшенного количества портов чтения и записи. Также рассматривалось количество регистров на регистровый файл, причем претендентами были 32 и 64. Digital пришла к выводу, что 32 регистра более подходят, так как требуют меньше места на кристалле , что улучшает тактовые частоты. Такое количество регистров не считалось серьезной проблемой с точки зрения производительности и будущего роста, так как тридцать два регистра могли поддерживать выпуск инструкций по крайней мере из восьми путей.
Счетчик программ — это 64-битный регистр, который содержит выровненный по длинному слову виртуальный байтовый адрес, то есть нижние два бита счетчика программ всегда равны нулю. PC увеличивается на четыре до адреса следующей инструкции, когда инструкция декодируется. Флаг блокировки и заблокированный физический адресный регистр используются инструкциями с блокировкой загрузки и условием сохранения для поддержки многопроцессорной обработки. Регистр управления с плавающей точкой (FPCR) — это 64-битный регистр, определенный архитектурой, предназначенной для использования реализациями Alpha с оборудованием с плавающей точкой, совместимым с IEEE 754 .
В архитектуре Alpha байт определяется как 8-битные данные (октет), слово — как 16-битные данные, длинное слово — как 32-битные данные, четверное слово — как 64-битные данные и октаслово — как 128-битные данные.
Архитектура Alpha изначально определяла шесть типов данных:
Для поддержания уровня совместимости с VAX , 32-разрядной архитектурой, предшествовавшей Alpha, включены два других типа данных с плавающей точкой:
VAX H-floating point (четырехкратная точность, 128 бит) не поддерживалась, [31] но другая 128-битная опция с плавающей точкой, X-floating point, доступна на Alpha, но не на VAX. [32]
H и X были описаны как похожие, но не идентичные. Программная эмуляция для H-floating доступна от DEC, как и конвертер уровня исходного кода под названием DECmigrate.
Alpha имеет 64-битное линейное виртуальное адресное пространство без сегментации памяти. Реализации могут реализовать меньшее виртуальное адресное пространство с минимальным размером 43 бита. Хотя неиспользуемые биты не были реализованы в оборудовании, таком как TLB , архитектура требовала от реализаций проверки того, равны ли они нулю, чтобы обеспечить совместимость программного обеспечения с реализациями с большим (или полным) виртуальным адресным пространством.
Alpha ISA имеет фиксированную длину инструкции 32 бита. Имеет шесть форматов инструкций.
Формат целочисленной операции используется целочисленными инструкциями. Он содержит 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 . Формат сохраняет поле opcode, но заменяет другие на 26-битное поле функции, которое содержит целое число, указывающее подпрограмму PAL.
Инструкции управления состоят из условных и безусловных переходов и переходов. Инструкции условного и безусловного перехода используют формат инструкций перехода, тогда как инструкции перехода используют формат инструкций памяти.
Условные переходы проверяют, установлен или очищен младший бит регистра, или сравнивают регистр как знаковое четверное слово с нулем и выполняют переход, если указанное условие истинно. Условия, доступные для сравнения регистра с нулем, — это равенство, неравенство, меньше, меньше или равно, больше или равно и больше. Новый адрес вычисляется путем выравнивания длинного слова и знакового расширения 21-битного смещения и добавления его к адресу инструкции, следующей за условным переходом.
Безусловные переходы обновляют счетчик программ новым адресом, вычисленным так же, как и условные переходы. Они также сохраняют адрес инструкции, следующей за безусловным переходом, в регистре. Существует две такие инструкции, и они отличаются только подсказками, предоставляемыми для аппаратного обеспечения предсказания переходов.
Существует четыре инструкции перехода. Все они выполняют одну и ту же операцию, сохраняя адрес инструкции, следующей за переходом, и предоставляя счетчику программ новый адрес из регистра. Они различаются подсказками, предоставляемыми оборудованию предсказания ветвлений. Для этой цели используется неиспользуемое поле смещения.
Целочисленные арифметические инструкции выполняют сложение, умножение и вычитание длинных и четверных слов, а также сравнение четверных слов. Инструкций для деления нет, поскольку архитекторы посчитали, что реализация деления на аппаратном уровне неблагоприятна для простоты. В дополнение к стандартным инструкциям сложения и вычитания существуют масштабированные версии. Эти версии сдвигают второй операнд влево на два или три бита перед сложением или вычитанием. Инструкции умножения длинных слов и умножения четверных слов записывают младшие 32 или 64 бита 64- или 128-битного результата в регистр назначения соответственно. Поскольку полезно получать старшую половину, предусмотрена инструкция беззнакового умножения четверных слов старшего разряда (UMULH). UMULH используется для реализации арифметических операций и алгоритмов деления с множественной точностью. Концепция отдельной инструкции для умножения, которая возвращает старшую половину результата, была взята из PRISM .
Инструкции, работающие с длинными словами, игнорируют старшую половину регистра, а 32-битный результат дополняется знаком перед записью в целевой регистр. По умолчанию инструкции сложения, умножения и вычитания, за исключением UMULH и масштабированных версий сложения и вычитания, не перехватывают переполнение. Когда требуется такая функциональность, предоставляются версии этих инструкций, которые выполняют обнаружение переполнения и перехватывают переполнение.
Инструкции сравнения сравнивают два регистра или регистр и литерал и записывают «1» в регистр назначения, если указанное условие истинно, или «0» в противном случае. Условиями являются равенство, неравенство, меньше или равно и меньше. За исключением инструкций, которые определяют первые два условия, существуют версии, которые выполняют знаковые и беззнаковые сравнения.
Целочисленные арифметические инструкции используют форматы инструкций целочисленных операций.
Логические инструкции состоят из инструкций для выполнения побитовых логических операций и условных перемещений на целочисленных регистрах. Побитовые логические инструкции выполняют AND , NAND , NOR , OR , XNOR и XOR между двумя регистрами или регистром и литералом. Инструкции условного перемещения проверяют регистр как знаковое четверное слово на ноль и перемещают, если указанное условие истинно. Указанные условия — это равенство, неравенство, меньше или равно, меньше, больше или равно и больше. Инструкции сдвига выполняют арифметический сдвиг вправо и логические сдвиги влево и вправо . Величина сдвига задается регистром или литералом. Логические и сдвиговые инструкции используют форматы инструкций целочисленной операции.
Более поздние версии Alpha включают расширения байт-слово, набор инструкций для манипулирования 8-битными и 16-битными типами данных. Эти инструкции были впервые введены в микропроцессоре 21164A (EV56) и присутствуют во всех последующих реализациях. Эти инструкции выполняют операции, которые ранее требовали нескольких инструкций для реализации, что повышает плотность кода и производительность определенных приложений. BWX также упрощает эмуляцию машинного кода x86 и написание драйверов устройств . [33]
Motion Video Instructions (MVI) — это расширение набора инструкций для Alpha ISA, которое добавило инструкции для операций с одной инструкцией и несколькими данными (SIMD). [34] Реализации Alpha, реализующие MVI, в хронологическом порядке: Alpha 21164PC (PCA56 и PCA57), Alpha 21264 (EV6) и Alpha 21364 (EV7). В отличие от большинства других наборов инструкций SIMD того же периода, таких как MIPS ' MDMX или SPARC 's Visual Instruction Set , но подобно расширениям Multimedia Acceleration eXtensions (MAX-1, MAX-2) PA-RISC , MVI был простым набором инструкций, состоящим из нескольких инструкций, которые работают с целочисленными типами данных, хранящимися в существующих целочисленных регистрах.
Простота MVI обусловлена двумя причинами. Во-первых, Digital определила, что Alpha 21164 уже способна выполнять декодирование DVD через программное обеспечение, поэтому не требует аппаратных средств для этой цели, но неэффективна при кодировании MPEG-2 . Вторая причина — необходимость сохранения быстрого времени цикла реализаций. Добавление большого количества инструкций усложнило бы и увеличило бы логику декодирования инструкций, снизив тактовую частоту реализации.
MVI состоит из 13 инструкций:
Расширения с плавающей точкой (FIX) являются расширением архитектуры Alpha. Оно вводит девять инструкций для вычисления квадратного корня с плавающей точкой и для передачи данных в целочисленные регистры и регистры с плавающей точкой и из них. Alpha 21264 (EV6) является первым микропроцессором, реализующим эти инструкции.
Count Extensions (CIX) — это расширение архитектуры, которое вводит три инструкции для подсчета битов. Эти инструкции относятся к категории инструкций целочисленной арифметики. Впервые они были реализованы на Alpha 21264A (EV67).
На момент своего анонса Alpha была объявлена архитектурой на следующие 25 лет. Хотя этому не суждено было случиться, Alpha, тем не менее, просуществовала довольно долго. Первая версия, Alpha 21064 (иначе называемая EV4 ), была представлена в ноябре 1992 года и работала на частоте до 192 МГц; небольшое уменьшение кристалла ( EV4S , уменьшенное с 0,75 мкм до 0,675 мкм) несколько месяцев спустя работало на частоте 200 МГц. 64-битный процессор имел суперконвейерную и суперскалярную конструкцию, как и другие RISC-проекты, но тем не менее превзошел их все, и DEC рекламировала его как самый быстрый процессор в мире. Тщательное внимание к проектированию схем, отличительная черта команды разработчиков Hudson, как и огромная централизованная тактовая схема, позволило им запускать ЦП на более высоких скоростях, хотя микроархитектура была довольно похожа на другие RISC-чипы. Для сравнения, менее дорогой процессор Intel Pentium, выпущенный следующей весной, работал на частоте 66 МГц.
Alpha 21164 или EV5 стал доступен в 1995 году с частотой процессора до 333 МГц. В июле 1996 года скорость линейки была увеличена до 500 МГц, в марте 1998 года до 666 МГц. Также в 1998 году был выпущен Alpha 21264 ( EV6 ) с частотой 450 МГц, в конечном итоге достигнув (в 2001 году с 21264C / EV68CB ) 1,25 ГГц. В 2003 году был выпущен Alpha 21364 или EV7 Marvel , по сути, ядро EV68 с четырьмя 1,6 ГБ/с [a] межпроцессорными коммуникационными каналами для улучшения производительности многопроцессорной системы, работающий на частоте 1 или 1,15 ГГц.
В 1996 году производство чипов Alpha было лицензировано компанией Samsung Electronics Company . После покупки Digital компанией Compaq большинство продуктов Alpha были размещены в API NetWorks, Inc. (ранее Alpha Processor Inc.), частной компании, финансируемой Samsung и Compaq. В октябре 2001 года Microway стала эксклюзивным поставщиком продаж и услуг для линейки продуктов API NetWorks на базе Alpha.
25 июня 2001 года Compaq объявила, что Alpha будет снята с производства к 2004 году в пользу Itanium от Intel , отменила запланированный чип EV8 и продала всю интеллектуальную собственность Alpha компании Intel . [6] Hewlett-Packard объединилась с Compaq в 2002 году; HP объявила, что разработка серии Alpha будет продолжаться еще несколько лет, включая выпуск варианта EV7 с частотой 1,3 ГГц, названного EV7z . Это будет последняя итерация Alpha, 0,13 мкм EV79 также был отменен.
Alpha также реализована в Piranha , исследовательском прототипе, разработанном группами Compaq Corporate Research и Nonstop Hardware Development в Western Research Laboratory и Systems Research Center. Piranha — это многоядерная конструкция для рабочих нагрузок обработки транзакций , которая содержит восемь простых ядер. Она была описана на 27-м ежегодном международном симпозиуме по архитектуре компьютеров в июне 2000 года. [35]
Утверждается, что ранние версии архитектуры Sunway были основаны на Alpha, однако, начиная с SW26010 , Sunway использует новую архитектуру набора инструкций, не связанную с Alpha. [36] [37]
Для иллюстрации сравнительной производительности систем на базе Alpha ниже приведены некоторые показатели производительности Standard Performance Evaluation Corporation (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 . Системы DEC 3000 AXP используют ту же шину TURBOchannel , что и предыдущие модели DECstation на базе MIPS , тогда как 4000 основана на Futurebus +, а 7000/10000 разделяют архитектуру с соответствующими моделями VAX .
DEC также выпустила персональный компьютер (ПК) конфигурации Alpha рабочей станции с шиной Extended Industry Standard Architecture (EISA), DECpc AXP 150 (кодовое название Jensen , также называемое DEC 2000 AXP). Это первая система Alpha, поддерживающая Windows NT . Позднее DEC выпустила Alpha версии своих линеек Celebris XL и Digital Personal Workstation PC с 21164 процессорами.
Digital также производила одноплатные компьютеры на базе 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.
Компания DEC выпустила ряд материнских плат OEM , например, AXPpci 33 "NoName" на базе 21066 и 21068, которая была частью масштабного продвижения компании на рынок OEM, [39] 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 в различных сетевых системах хранения данных, а процессоры 21064 и 21164 использовались компанией Cray в ее массивно-параллельных суперкомпьютерах T3D и T3E .
Самый быстрый суперкомпьютер на базе процессоров Alpha был ASCI Q в Лос-Аламосской национальной лаборатории. Машина была построена как кластер HP AlphaServer SC45/GS. Он имел 4096 процессоров Alpha (21264 EV-68, 1,25 ГГц) и достигал R max в 7,727 TFLOPS . [40]
PRISM (Parallel Reduced Instruction Set Machine) ... первый черновик архитектуры PRISM в августе 1985 года; DEC отменяет проект в 1988 году в пользу основанной на MIPS ...
Первые процессоры семейства Alpha были обозначены как серия DECchip 21064 («21» означает 21-й век)
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )большой, на кристалле, кэш второго уровня с обратной записью
21364 ... первый высокопроизводительный процессор со встроенным контроллером памяти.
... законно, если бы DEC использовала VAX в США до этого ..... "разумный человек" не испытывает затруднений в различении этих двух видов использования
Работа с невыровненной памятью на Alpha AXP очень раздражает
Инструкции, которые включают расширение BWX, ...
DEC Alpha ... , нет целочисленного кода условия.[ постоянная мертвая ссылка ]
Плавающие типы данных H недоступны в Alpha