Первый процессор из семейства Alpha получил название
21064 ("21"
указывал, что Alpha — это архитектура XXI века, "0" — процессорное
поколение, "64" — разрядность в битах) и кодовое наименование
EV4
("EV" является [предположительно] аббревиатурой "Extended VAX", а "4" —
поколением технологического процесса, CMOS4; в свою очередь, CMOS есть
аббревиатура Complementary Metal Oxide Semiconductor). Стоит отметить, что
прототип EV4 был готов ещё в 1991, хотя и на основе менее детализированного
CMOS3 техпроцесса, а поэтому с уменьшенными кэшами и без блока вычислений с
плавающей запятой. Тем не менее, он сыграл свою роль в отладке архитектуры и
программного обеспечения. EV4 был представлен в ноябре 1992 на COMDEX в
Лас-Вегасе (Невада, США) и поступил в производство на собственном 3-слойном
0,75µ техпроцессе (впоследствии производство было переведено на оптическую
модификацию CMOS4 — 0,675µ CMOS4S). Состоял из 1,68 млн.
транзисторов, обладал площадью ядра в 233мм² и был рассчитан на напряжение
питания в 3,3В. Выпускался с тактовыми частотами от
150МГц до 200МГц (ТDP
от 21Вт до 27Вт). Поддерживал работу в многопроцессорном режиме как один из
ключевых моментов архитектуры. Форм-фактор: PGA-431 (Pin Grid Array).
Кэш-память L1 была интегрирована: 8Кб для команд (I-cache, instruction
cache), с прямым отображением (direct-mapped), а также 8Кб для данных
(D-cache, data cache), с прямым отображением и сквозной записью
(write-through). Задержки при чтении из D-cache составляли 3 такта. Каждая
строка I-cache состояла из 32 байт команд, 21-битного тэга, 8-битного поля
истории переходов и нескольких вспомогательных полей. Каждая строка D-cache
состояла из 32 байт данных и 21-битного тэга. Кэш-память L2 (B-cache, back-up
cache) был рекомендуемой опцией, набирался на микросхемах синхронной или
асинхронной статической памяти, работал в режиме обратной записи (write-back)
с прямым отображением и упреждающим чтением (read-ahead), мог иметь размер до
16Мб (обычно от 512Кб до 2Мб). Каждая строка B-cache состояла из 32 байт
данных или команд с 1-битным long-word parity или 7-битным long-word ECC,
максимум 17-битного тэга с 1 битом чётности и 3 битов состояния с 1 битом
четности. Скорость чтения/записи B-cache программировалась в тактах
процессора. Системная шина данных была шириной в 64 или 128 бит
(программируемо, с 1-битным long-word parity или 7-битным long-word ECC) и
мультиплексировалась с шиной данных к B-cache, так что физические линии
переключались при необходимости между этими логическими шинами. Ширина
системной шины адреса составляла 34 бита. Организационно B-cache был
включающим (inclusive) D-cache, то есть поддерживал полную копию содержимого
последнего. Операции чтения/записи в B-cache являлись прерогативой исключительно
процессора, но системной логикe было разрешено чтение файла тэгов (B-tag), что
было удобно для обеспечения согласованности (cache coherence) B-cache. Другими
словами, системная логика могла проверять содержимое B-cache во время так
называемых отслеживающих операций (snoop operations) без вмешательства
процессора.
EV4 имел
один целочисленный конвейер (E-box, 7 стадий) и
один
вещественный конвейер (F-box, 10 стадий). Декодер и планировщик инструкций
(I-box) был в состоянии подавать 2 команды за такт в порядке очереди (in-order)
на исполняющие устройства, то есть на E-box, F-box и блок загрузки/сохранения
(A-box). Контроллер кэш-памяти и системной шины (C-box) работал в тесном
взаимодействии с A-box и управлял как интегрированными I-cache и D-cache, так и
внешним B-cache. Расчёт виртуальных адресов входил в компетенцию E-box. Также
присутствовал блок предсказания переходов (branch prediction unit) с таблицей
переходов на 4096 записей (branch history table) по 2 бита каждая. I-TLB
(Instruction TLB) обладал 8 записями для 8Кб страниц и 4 записями для 4Мб
страниц, а D-TLB (Data TLB) — 32 записями для страниц размером от 8Кб до
4Мб. Оба TLB были полностью ассоциативны (fully-associative).
|
|
|
|
(кликнуть для увеличения, 59Кб)
|
(кликнуть для увеличения, 134Кб)
|
Первая рабочая станция архитектуры Alpha от DEC была выпущена в ноябре
1992, DEC 3000 Model 500 AXP (кодовое имя Flamingo), с 150МГц 21064, 512Кб
B-cache, 32Мб оперативной памяти, интегрированным 8-битным видеоконтроллером с
2Мб VRAM, SCSI HDD на 1Гб, SCSI CD-ROM, встроенным контроллером Ethernet
10Мбит (толстый коаксиал и витая пара), встроенным звуковым и ISDN
контроллером, а также с 19-дюймовым монитором (1280х1024x72Гц). Вся периферия
обслуживалась шиной TURBOchannel собственной разработки. Цена была впечатляющей:
39 тыс. USD, хотя предлагалась и более дешёвая DEC 3000 Model 400 AXP
(с 133МГц 21064), но всё же была необходимость в более доступном решении.
DEC пыталась создать персональный компьютер на основе 21064 и периферийной
шины EISA или ISA начиная с февраля 1991. Было успешно спроектировано и выпущено
35 систем в рамках проекта Бета (the Beta project), каждая из которых обладала
100МГц прототипом EV4, набором системной логики Intel 82380 с поддержкой шины
ISA, а также многим другим аппаратным обеспечением как собственного
производства, так и доступного на рынке. Последующий проект Тета (the Theta
project) постигла неудача из-за ошибок при проектировке материнской платы на
основе набора системной логики Intel 82350DT с поддержкой шины EISA. Тем не
менее, две команды разработчиков из Мэйнарда (Массачусетс, США) и Эйра
(Шотландия, Великобритания) сумели устранить неполадки и выпустили DECpc AXP 150
(кодовое имя Jensen) в августе 1992. Эта машина располагала 150МГц EV4, 512Кб
B-cache, материнской платой формата AT, стандартными 72-контактными FPM parity
SIMMs и EISA периферией. Хотя DECpc AXP 150 работал с DEC OSF/1 и OpenVMS, но
его будущее всё же связывалось с Windows NT. Он был представлен 28 октября
1992 в Нью-Йорке (Нью-Йорк, США) на презентации Windows on Wall Street, когда
Билл Гэйтс впервые продемонстрировал общественности свою новую ОС.
Также имелось три семейства серверов на основе 21064: 2-процессорные DEC
4000, 6-процессорные DEC 7000 (с 182МГц процессорами) и DEC 10000 (с 200МГц
процессорами). DEC 7000 и DEC 10000 были модульными машинами, которые
располагали по 4Мб B-cache на каждый процессор и до 14Гб оперативной памяти (с
7 установленными 2Гб модулями). В то время как DEC 4000 был рассчитан на работу
с периферийной шиной FutureBus+, DEC 7000 и DEC 10000 также могли быть
сконфигурированы для работы с периферийной шиной XMI (при установке
соответствующего модуля или даже нескольких). DEC 7000 и DEC 10000 под
названиями VAX 7000 и VAX 10000 предлагались с процессорами NVAX+
(переконфигурация была возможна путём простой замены процессорных модулей).
Несмотря на отличную производительность, 21064 был довольно дорог для
значительной части потенциальных покупателей, а поэтому в сентябре 1993 был
анонсирован его бюджетный собрат,
21066 (
LCA4 или LCA4S).
Этот процессор был основан на ядре 21064, но с дополнительно
интегрированными контроллерами оперативной памяти и шины PCI, а также
некоторыми второстепенными функциональными блоками. Однако, разрядность
системной шины данных была урезана до 64 бит, что негативно сказалось на
производительности. LCA4 производился по 0,675µ CMOS4S техпроцессу и его
площадь оказалась ещё меньше, чем у оригинального EV4 (209мм² по сравнению
с 233мм²), а тактовые частоты были занижены (от
100МГц до 166МГц), в
значительной мере из-за потенциальной угрозы перегрева в плохо вентилируемых
настольных системных блоках того времени, а также чтобы не создавать
дополнительной конкуренции EV4. Количество транзисторов в ядре составило
1,75 млн., a напряжение питания — 3,3В. Дизайн этого процессора был
лицензирован Mitsubishi, которая также производила LCA4, включая и
200МГц
версию.
В октябре 1993 на Microprocessor Forum был анонсирован
21064А
(
EV45) — обновлённая версия EV4, производимая по собственному
4-слойному 0,5µ CMOS5 техпроцессу. В ноябре 1994 на COMDEX был
представлен
21066А (
LCA45), почти аналогично модифицированная
версия LCA4. Стоит отметить, что манера маркетологов DEC добавлять букву к
модели процессора при перепланировке ядра под новый техпроцесс сохранилась и
в будущем. Собственно состав процессорных ядер изменился незначительно. EV45
теперь обладал удвоенным размером кэш-памяти L1 (16Кб I-cache + 16Кб D-cache),
к полям данных и тэгам I-cache и D-cache было добавлено по биту чётности, поля
истории переходов I-cache были расширены до 16 бит, ассоциативность D-cache
была увеличена до 2 каналов (2-way set associative), а к режимам контроля над
системной шиной данных был добавлен 1-битный byte parity. Также в EV45 и LCA45
был незначительно модифицирован F-box (оптимизация деления: в EV4 одна
операция требовала 34 такта для операндов одинарной точности и 63 такта для
операндов двойной точности вне зависимости от значений операндов; в EV45 она
уже требовала от 19 до 34 тактов для операндов одинарной точности и от 29 до 63
тактов для операндов двойной точности в зависимости от значений операндов).
LCA45 производился также и на мощностях Mitsubishi. Площади ядер уменьшились:
до 164мм² у EV45 и до 161мм² у LCA45. Количество транзисторов в ядре
EV45 возросло до 2,85 млн., а в ядре LCA45 осталось неизменным —
1,75 млн. В конечном результате, энергопотребление обоих процессоров в
расчёте на единицу частоты сократилось, хотя напряжение питания осталось
неизменным — 3,3В. Тактовые частоты 21064A составляли от
200МГц до
300МГц (TDP от 24Вт до 36Вт), а 21066A — от
166 до 233МГц.
21066 и 21066A, в основном, нашли своё применение в персональных компьютерах
DEC UDB (Universal Desktop Box; кодовое имя Multia), хотя машины с этим
названием также оснащались процессорами Intel Pentium. Помимо этого, 21066 и
21066A использовались в Tadpole ALPHAbook 1, первом (и единственном?)
Alpha-ноутбуке.
Так как DEC участвовала в разработках оборудования под заказ Министерства
обороны США, то в 1994 были спроектированы процессоры
21068
(
66МГц) и
21068А (
100МГц), являвшиеся вариантами LCA4
и LCA45, адаптированными под военные нужды (пассивное охлаждение, переносимость
к вибрации и жёстким температурным условиям, пр.). Например, к военному
обородованию могли предъявляться требования по сохранению работоспособности в
температурном режиме от -54 °C до +70 °C при 30-минутном
допуске в +85 °C (взято из
MIL-E-5400T, General Specification for
Electronic Equipment, Aerospace от мая 1990). В 1986 DEC заключила
соглашение с Raytheon Company о ведении совместных разработок для Министерства
обороны, тогда ещё на основе архитектуры VAX (доработка VAX 6200).
Проектирование DEC AXPvme 64 было завершено к 1994. В основе системы лежал 66МГц
21068 со стандартной для военного оборудования периферийной шиной VME64, а также
некоторой PCI и ISA периферией, включая DEC 21040 Ethernet-контроллер. Этот
модуль продавался как Raytheon Model 910.
В июле 1994 были анонсированы первые рабочие станции на основе 21064A: DEC
3000 Model 900 AXP и Model 700 AXP (кодовые имена Flamingo45 и Sandpiper45
соответственно). Первая оснащалась 275МГц процессором, а вторая —
225МГц. Обе рабочие станции обладали 2Мб B-cache, 128Мб оперативной памяти,
24-битной видеокартой семейства ZLX, периферией FastSCSI и тем же сетевым,
звуковым и ISDN аппаратным обеспечением, что и Model 500 AXP. Первая рабочая
станция предлагалась по цене в 43,4 тыс. USD, вторая — в
27,7 тыс. USD.
Первые наборы системной логики для архитектуры Alpha использовали
периферийные шины TURBOchannel, FutureBus+ и XMI. В частности, безымянный набор
для DEC 3000 состоял из 6 микросхем: 1 ADDR ASIC, 1 TC (TURBOchannel)
ASIC, и 4 SLICE ASICs; последние обслуживали 128-битный канал данных системной
шины, 256-битный канал данных шины памяти и 32-битный канал данных к TC ASIC.
Хотя эта и другие реализации были весьма скоростными для своего времени (около
100Мб/с на шину), они не получили широкого распространения, а количество
доступной периферии было небольшим. Поэтому DEC обратила внимание на новую
перспективную шину PCI. В начале 1994 был представлен набор системной логики
DEC Apecs в двух исполнениях: с 64-битной системной шиной данных
(
21071) и 128-битной (
21072). Вся разница между ними состояла в
том, что 21071 состоял из 4 микросхем (1 универсальный контроллер —
COMANCHE, 2 микросхемы data slice — DECADE, 1 контроллер шины PCI —
EPIC), а 21072 — из 6 (дополнительно ещё 2 DECADE). Поддерживал частоту
системной шины в 33МГц, до 16Мб B-cache, до 4Гб памяти FPM parity со временем
доступа от 100 до 50нс (8 банков) и до 16Мб двухпортовой VRAM (1 банк) для
поддержки опционального буфера видеокадра. Поддержка шины ISA или EISA могла
быть реализована посредством стандартного моста, такого как Intel 82378IB (ISA)
или 82378EB (EISA). Использовался в материнских платах EB64+ и AlphaPC 64
(кодовое имя Cabriolet).