Alpha 21064 микропроцессор, разработанный и изготовленный Digital Equipment Corporation, в котором реализована Alpha (представленная как Alpha AXP) архитектура набора команд (ISA). Он был представлен как DECchip 21064 до того, как был переименован в 1994 году. 21064 также известен под своим кодовым названием EV4 . Он был объявлен в феврале 1992 года, а массовый выпуск - в сентябре 1992 года. 21064 был первой коммерческой реализацией Alpha ISA и первым микропроцессором от Digital, который стал коммерчески доступным. На смену ему в октябре 1993 г. пришла его производная, Alpha 21064A.
Первым процессором Alpha был тестовый чип с кодовым названием EV3 . Этот тестовый чип был изготовлен с использованием технологии Digital CMOS-3 1,0- микрометров (мкм). В тестовой микросхеме отсутствовал блок с плавающей запятой, а имелся только 1 KB кэш. Тестовый чип использовался для подтверждения работы агрессивных методов схемотехники. Тестовая микросхема вместе с симуляторами и эмуляторами также использовалась для установки прошивки и различных операционных систем, которые поддерживала компания.
Промышленная микросхема под кодовым названием EV4 была изготовлена с использованием технологии Digital CMOS-4 0,75 мкм. Дирк Мейер и Эдвард Маклеллан были микроархитекторами. Эд разработал логику задачи, а Дирк разработал другие основные блоки. Джим Монтанаро руководил реализацией схемы. EV3 использовался в Alpha Development Unit (ADU), компьютере, на котором Digital разрабатывала программное обеспечение для платформы Alpha до появления частей EV4.
21064 был представлен на 39-й Международной конференции по твердотельным схемам (ISSCC) в середине февраля 1992 года. Об этом было объявлено 25 февраля 1992 года, а образец 150 МГц был представлен на в тот же день. Он был оценен в 3375 долларов в количестве 100, 1650 долларов в количестве от 100 до 1000 и 1560 долларов в количестве более 1000. Массовые поставки начались в сентябре 1992 года.
В начале февраля 1993 года цена версии на 150 МГц была снижена до 1096 долларов с 1559 долларов в количествах, превышающих 1000.
25 февраля 1993 года был представлен 200 МГц с доступными наборами образцов по цене 3495 долларов. В натуральном выражении он был оценен в 1231 доллар за единицу при количестве более 10 000. Объемные заказы были приняты в июне 1993 года, поставки - в августе 1993 года. В ответ цена на версию 150 МГц была снижена. Стоимость этого набора была уменьшена до 1 690 долларов с 3 375 долларов с апреля 1993 года; и по объему он был снижен до 853 долларов с 1355 долларов за единицу в количестве более 10 000, начиная с июля 1993 года.
С выпуском Alpha 21066 и Alpha 21068 10 сентября 1993 года Digital скорректировала позиционирование существующих 21064 и представила версию на 166 МГц по цене 499 долларов за единицу в количестве 5000 штук. Цена версии на 150 МГц снижена до 455 долларов за единицу в количестве 5000 штук.
6 июня 1994 года цена версии на 200 МГц была снижена на 31% до 544 долларов, чтобы сопоставить ее с Pentium 60 МГц; и версию 166 МГц - на 19% до 404 долларов за единицу в количестве 5000, начиная с 3 июля 1994 года.
Alpha 21064 производился на предприятиях Digital's Хадсон, Массачусетс и Юг. Квинсферри, Шотландия объекты.
21064 в основном использовался в высокопроизводительных компьютерах, таких как рабочие станции и серверы. Пользователи включали:
21064 был самым производительным микропроцессором с момента его появления до 1993 года, после International Business Machines (IBM) представила мультичип POWER2. Впоследствии он стал самым производительным однокристальным микропроцессором и занимал эту позицию до тех пор, пока в октябре 1993 года не был представлен 275 МГц 21064A.
Alpha 21064 - это суперпайплайновый двойной суперскалярный микропроцессор, который выполняет инструкции в порядке. Он способен выдавать до двух инструкций за каждый такт для четырех функциональных блоков: целочисленного блока, блока с плавающей запятой (FPU), блока адреса и блока ветвления.. Целочисленный конвейер имеет длину семь этапов, а конвейер с плавающей запятой - десять этапов. Первые четыре стадии обоих конвейеров идентичны и реализуются I-Box.
I-box - это блок управления ; он выбирает, декодирует, выдает инструкции и управляет конвейером. На первом этапе из I-cache извлекаются две инструкции. Прогнозирование перехода выполняется логикой в I-блоке на втором этапе. Используется либо статическое прогнозирование, либо динамическое прогнозирование. Статическое предсказание исследовало знаковый бит поля смещения инструкции ветвления , предсказало ветвление как взятое, если знаковый бит указал обратное ветвление (если знаковый бит содержал 1). Динамическое прогнозирование исследовало запись в таблице истории переходов, состоящую из 2048 записей, по 1 разряду. Если запись содержит 1, ветвь считается принятой. Если использовалось динамическое предсказание, предсказание ветвления для большинства программ имеет точность примерно 80%. Штраф за неправильное предсказание перехода составляет четыре цикла.
Эти инструкции декодируются на третьем этапе. Затем I-box проверяет, доступны ли ресурсы, необходимые для двух инструкций, на четвертом этапе. Если да, выдаются инструкции при условии, что они могут быть сопряжены. Какие инструкции могут быть объединены в пары, определялось количеством портов чтения и записи в целочисленном регистровом файле. 21064 может выдавать: целое число работает с операцией с плавающей запятой, любая инструкция загрузки / сохранения с любой инструкцией операции, целое число работает с целочисленной ветвью или операция с плавающей запятой работает с ветвью с плавающей запятой. Две комбинации не разрешались: операция с целым числом и хранилище с плавающей запятой, а также операция с плавающей запятой и хранилище целых чисел. Если одна из двух инструкций не может быть выполнена вместе, первые четыре этапа останавливаются до тех пор, пока не будет выдана оставшаяся инструкция. Первые четыре этапа также останавливаются в том случае, если никакая инструкция не может быть выдана из-за недоступности ресурсов, зависимостей или аналогичных условий.
I-box содержит два дополнительных буфера преобразования (TLB) для преобразования виртуальных адресов в физических адресов. Эти TLB называются буферами трансляции инструкций (ITB). Кэш ITB недавно использовал записи таблицы страниц для потока инструкций. ITB с восемью записями используется для страниц размером 8 КБ, а ITB с четырьмя записями - для страниц размером 4 МБ. Оба ITB являются полностью ассоциативными и используют не последний использованный алгоритм замены.
Выполнение начинается на пятом этапе для всех инструкций. Регистровые файлы считываются на четвертом этапе. Трубопроводы, начинающиеся на пятом этапе, не могут быть остановлены.
Целочисленный блок отвечает за выполнение целочисленных инструкций. Он состоит из целочисленного регистрового файла (IRF) и электронного блока. IRF содержит тридцать два 64-битных регистра и четыре порта чтения и два порта записи, которые поровну разделены между целочисленным блоком и блоком ветвления. Электронный блок содержит сумматор , логический блок, сдвигатель и множитель. За исключением команд умножения, сдвига и манипулирования байтами, большинство целочисленных инструкций завершаются к концу пятого этапа и, таким образом, имеют задержку в один цикл. Цилиндрический сдвигатель является конвейерным, но инструкции сдвига и манипулирования байтами не завершаются к концу шестого этапа и, таким образом, имеют задержку в два цикла. Множитель не был обработан конвейером для экономии площади кристалла; таким образом, команды умножения имеют переменную задержку от 19 до 23 циклов в зависимости от операндов. На седьмом этапе целочисленные инструкции записывают свои результаты в IRF.
Блок адреса, также известный как «A-box», выполнял инструкции загрузки и сохранения. Чтобы блок адреса и целочисленный блок могли работать параллельно, блок адреса имеет собственное смещение сумматор, которое он использует для вычисления виртуальных адресов вместо использования сумматора в целых числах. Блок. Полностью ассоциативный буфер резервного преобразования с 32 записями (TLB) используется для преобразования виртуальных адресов в физических адресов. Этот TLB называется буфером трансляции данных (DTB). 21064 реализовал 43-битный виртуальный адрес и 34-битный физический адрес и, следовательно, способен адресовать 8 ТБ виртуальной памяти и 16 ГБ физической памяти.
Инструкции Store приводят к данные помещаются в буфер записи с 4 записями по 32 байта. Буфер записи улучшил производительность за счет уменьшения количества операций записи на системную шину за счет объединения данных из соседних хранилищ и временной задержки хранилищ, что позволило быстрее обслуживать нагрузки, поскольку системная шина используется не так часто.
Модуль с плавающей запятой состоит из файла регистров с плавающей запятой (FRF) и F-блока. FRF содержит тридцать два 64-битных регистра и три порта чтения и два порта записи. F-блок содержал конвейер с плавающей запятой и неконвейерный блок деления, который удалял один бит за цикл.
Файл регистров с плавающей запятой считывается, и на четвертом этапе данные форматируются в дробь, экспоненту и знак. При выполнении инструкций сложения сумматор вычисляет разность экспонент и запускается прогнозирующий детектор ведущей единицы или нуля с использованием входных операндов для нормализации результата. При выполнении команд умножения создается множимое 3 X .
На пятом и шестом этапах для сложения и вычитания выполняются выравнивание или нормализационный сдвиг и вычисления липких битов. Команды умножения умножаются в конвейерный массив с двусторонним чередованием, который использует алгоритм Radix-8 Booth. На восьмом этапе окончательное сложение выполняется параллельно с округлением. Команды с плавающей запятой записывают свои результаты в FRF на этапе 10.
Инструкции, выполняемые в конвейере, имеют задержку в шесть циклов. Деления с одинарной точностью (32 бита) и двойной точности (64 бита), которые выполняются в неконвейерном блоке деления, имеют задержку 31 и 61 цикл соответственно.
21064 имеет два основных кэша на кристалле: кэш данных 8 КБ (известный как D-кэш) с использованием политики записи со сквозной записью и кэш команд 8 КБ (известный как I-кеш). Оба кэша имеют прямое отображение для одноциклового доступа и имеют размер строки 32 байта. Кэш-память состоит из ячеек статической оперативной памяти (SRAM) с шестью транзисторами , которые имеют площадь 98 мкм. Кеши имеют размер 1024 ячейки в ширину и 66 ячеек в высоту, при этом две верхние строки используются для резервирования.
Поддерживается дополнительный внешний вторичный кэш, известный как B-cache, емкостью от 128 КБ до 16 МБ. Кэш работал на частоте от одной трети до одной шестнадцатой внутренней тактовой частоты, или от 12,5 до 66,67 МГц при 200 МГц. B-кэш имеет прямое отображение и по умолчанию имеет размер строки 128 байт, который можно настроить для использования большего количества. Доступ к B-кешу осуществляется через системную шину.
Внешний интерфейс представляет собой 128-битную шину данных, которая работает на частоте от половины до одной восьмой внутренней тактовой частоты или от 25 до 100 МГц при 200 МГц. МГц. Ширина шины была настраиваемой, системы, использующие 21064, могли иметь 64-битный внешний интерфейс. Внешний интерфейс также состоял из 34-битной адресной шины.
21064 содержал 1,68 миллиона транзисторов. Оригинальный EV4 был изготовлен Digital по технологии CMOS-4, которая имеет размер элемента 0,75 мкм и три уровня алюминиевого межсоединения. EV4 имеет размеры 13,9 мм на 16,8 мм и площадь 233,52 мм. Более поздний EV4S был изготовлен из CMOS-4S, 10% оптической усадки CMOS-4 с размером элемента 0,675 мкм. Эта версия имела размеры 12,4 мм на 15,0 мм для площади 186 мм.
21064 использовал источник питания 3,3- В (В). EV4 рассеивает максимум 30 Вт на частоте 200 МГц. EV4S рассеивает максимум 21,0 Вт на 150 МГц, 22,5 Вт на 166 МГц и 27,0 Вт на 200 МГц.
21064 поставляется в корпусе 431- Пин алюмо-керамический матрица пинов (PGA) размером 61,72 мм на 61,72 мм. Из 431 контакта 291 были для сигналов, а 140 - для питания и земли. Радиатор прикреплен непосредственно к корпусу и закреплен гайками, прикрепленными к двум шпилькам, выступающим из вольфрамового теплоотвода.
Alpha 21064A, представленный как DECchip 21064A, с кодовым названием EV45, является дальнейшим развитием Alpha 21064, представленного в Октябрь 1993 г. Он работал на тактовых частотах 200, 225, 233, 275 и 300 МГц. 6 июля 1994 года модель с частотой 225 МГц была заменена моделью с частотой 233 МГц, которая на момент выпуска была оценена в 788 долларов США в количестве 5000, что на 10% меньше, чем модель с частотой 225 МГц, которую она заменила. В тот же день цены на 275 МГц также были снижены на 25% до 1083 долларов США в количестве 5000 штук. Модель 300 МГц была анонсирована и опробована 2 октября 1995 г. и была поставлена в декабре 1995 г. Была также одна модель, 21064A-275-PC, которая была ограничена работой под управлением Windows NT или операционные системы, использующие модель управления памятью Windows NT.
21064A пришла на смену оригинальному 21064 как высокопроизводительный микропроцессор Alpha. Впоследствии он нашел наибольшее применение в высокопроизводительных системах. Пользователи включали:
21064A имела ряд улучшений микроархитектуры по сравнению с 21064. первичные кэши были улучшены двумя способами: емкость I-кэша и D-кеша была увеличена вдвое с 8 КБ до 16 КБ, а для тегов кэша и массивов данных кэша была добавлена защита четности. Деления с плавающей запятой имеют меньшую задержку из-за улучшенного делителя, который в среднем удаляет два бита за цикл. Прогнозирование ветвлений было улучшено за счет увеличения 4 096 записей на 2-битную BHT.
21064A содержит 2,8 миллиона транзисторов и имеет размеры 14,5 на 10,5 мм для площади 152,25 мм. Он был изготовлен Digital в их процессе КМОП пятого поколения, CMOS-5, процесс 0,5 мкм с четырьмя уровнями алюминиевого межсоединения.
Alpha 21066, представленный как DECchip 21066, под кодовым названием LCA4 (Low Cost Alpha), представляет собой недорогой вариант Alpha 21064. Образцы были представлены 10 сентября 1993 года с массовыми поставками в начале 1994 года. На момент выпуска Alpha 21066 166 МГц стоила 385 долларов США в количестве 5000 штук. Также существовала модель 100 МГц, предназначенная для встроенных систем. Отбор образцов начался в конце 1994 года, а массовые поставки - в третьем квартале 1995 года. В отчете о микропроцессорах Alpha 21066 отмечен как первый микропроцессор со встроенным контроллером PCI.
Alpha 21066 был предназначен для использования в недорогих приложениях, в частности персональных компьютерах под управлением Windows NT. Digital использовала различные модели Alpha 21066 в своих клиентах Multia, материнских платах AXPpci 33 производителя оригинального оборудования (OEM) и одноплатных компьютерах AXPvme . Помимо Digital, пользователи включали Aspen Systems в свою рабочую станцию Alpine, Carrera Computers в свою рабочую станцию Pantera I, NekoTech использовал модель 166 МГц в своем персональном компьютере Mach 1-166 и Parsys в своих суперкомпьютерах серии TransAlpha TA9000.
Благодаря сокращению процесса он смог включить функции, которые были желательны для чувствительных к стоимости встроенных систем. Эти функции включают встроенный B-кэш и контроллер памяти с поддержкой ECC, функционально ограниченный графический ускоритель , поддерживающий до 8 МБ VRAM. для реализации буфера кадра, контроллера PCI и тактового генератора цикла фазовой автоподстройки частоты (PLL) для умножения внешнего тактового сигнала 33 МГц на желаемую внутреннюю тактовую частоту.
Контроллер памяти поддерживает от 64 КБ до 2 МБ B-кеша и от 2 до 512 МБ памяти. Реализация ECC была способна обнаруживать 1-, 2- и 4-битные ошибки и исправлять 1-битные ошибки. Для снижения стоимости Alpha 21066 имеет 64-битную системную шину, которая уменьшила количество контактов и, следовательно, размер пакета. Уменьшение ширины системной шины также привело к снижению пропускной способности и, следовательно, производительности на 20%, что было сочтено приемлемым.
21066 содержал 1,75 миллиона транзисторов и имел размеры 17,0 на 12,3 мм для площади 209,1 мм. Он был изготовлен в CMOS-4S, процессе 0,675 мкм с тремя уровнями межсоединений. 21066 был упакован в 287-контактный CPGA размером 57,404 на 57,404 мм.
Alpha 21066A с кодовым названием LCA45 - это недорогой вариант Alpha 21064A. Об этом было объявлено 14 ноября 1994 года, и в тот же день были представлены образцы моделей 100 и 233 МГц. Обе модели были отгружены в марте 1995 года. На момент анонса модели на 100 и 233 МГц были оценены в 175 и 360 долларов, соответственно, в количестве 5000 штук. Позже стала доступна модель с частотой 266 МГц.
21066A был вторым поставщиком на Mitsubishi Electric как M36066A . Это был первый микропроцессор Alpha, изготовленный компанией. Компоненты на 100 и 233 МГц были объявлены в ноябре 1994 года. На момент объявления технические образцы были установлены на декабрь 1994 года, коммерческие образцы - на июль 1995 года, а массовые партии - на сентябрь 1995 года. Компонент на 233 МГц был оценен в 490 долларов США в количестве 1000 штук..
Хотя он был основан на 21064A, 21066A не имел кэша инструкций и данных 16 КБ. Особенностью 21066A было управление питанием - внутреннюю тактовую частоту микропроцессора можно было регулировать программно.
Digital использовала различные модели 21066A в своих продуктах, которые ранее использовали 21066. За пределами Digital, Tadpole Technology использовала модель 233 МГц в своем ноутбуке ALPHAbook 1 .
21066A содержит 1,8 миллиона транзисторов на кристалле размером 14,8 на 10,9 мм на площади 161,32 мм. Он был изготовлен по технологии КМОП пятого поколения компании Digital, CMOS-5, 0,5 мкм с тремя уровнями межсоединений. Компания Mitsubishi Electric изготовила M36066A по своей собственной трехуровневой металлической технологии толщиной 0,5 мкм.
Alpha 21068, представленный как DECchip 21068, является версией 21066, предназначенной для встраиваемых систем. Он был идентичен 21066, но имел более низкую тактовую частоту, чтобы уменьшить рассеиваемую мощность и стоимость. Образцы были представлены 10 сентября 1993 года, а массовые поставки начались в начале 1994 года. Он работал на частоте 66 МГц и имел максимальную рассеиваемую мощность 9 Вт. На момент выпуска 21068 стоила 221 доллар США за штуку в количестве 5000 штук. 6 июня 1994 года Digital объявила о снижении цены на 16% до 186 долларов США с 3 июля 1994 года.
Alpha 21068 использовалась Digital в своих материнских платах AXPpci 33 и AXPvme 64 и 64LC. одноплатные компьютеры.
Alpha 21068A, представленная как DECchip 21068A, является вариантом Alpha 21066A для встраиваемых систем. Он работал на тактовой частоте 100 МГц.
Изначально не было стандартного набора микросхем для 21064 и 21064A. В компьютерах Digital использовались специализированные специализированные интегральные схемы (ASIC) для сопряжения микропроцессора с системой. Поскольку это привело к увеличению затрат на разработку для третьих сторон, которые хотели разрабатывать продукты на базе Alpha, Digital разработала стандартный набор микросхем, DECchip 21070 (Apecs), для производителей оригинального оборудования (OEM).
Было две модели 21070: DECchip 21071 и DECchip 21072 . 21071 был предназначен для рабочих станций, тогда как 21072 был предназначен для рабочих станций высокого уровня или однопроцессорных серверов низкого уровня. Эти две модели различались функциями подсистемы памяти: 21071 имеет 64-битную шину памяти и поддерживает от 8 МБ до 2 ГБ памяти с защитой от четности, тогда как 21072 имеет 128-битную шина памяти и поддерживает от 16 МБ до 4 ГБ памяти, защищенной ECC.
Набор микросхем состоял из трех конструкций микросхем: COMANCHE B-cache и контроллер памяти, срез данных DECADE и контроллер EPIC PCI. Микросхемы DECADE реализовали тракты данных в виде 32-битных секторов, поэтому 21071 имеет два таких чипа, а 21072 - четыре. Чип EPIC имеет 32-битный путь к чипам DECADE.
Модель 21070 была представлена 10 января 1994 г., образцы доступны. Массовые поставки начались в середине 1994 года. При количестве 5000 штук 21071 стоила 90 долларов, а 21072 - 120 долларов.
21070 пользователей включали компьютеры Carrera Computers для своих рабочих станций Pantera и Digital в некоторые модели своих AlphaStation и однопроцессорных AlphaServers.