Alpha 21364 , кодовое название «Marvel», также известный как EV7 — микропроцессор , разработанный компанией Digital Equipment Corporation (DEC), позднее Compaq Computer Corporation , в котором реализована архитектура набора инструкций Alpha (ISA).
Alpha 21364 был представлен в октябре 1998 года компанией Compaq на 11-м ежегодном форуме по микропроцессорам, где он был описан как Alpha 21264 с 1,5 МБ 6-канальной ассоциативной вторичной кэш-памятью на кристалле, встроенным контроллером памяти Direct Rambus DRAM и встроенным сетевым контроллером для подключения к другим микропроцессорам. Изменения в ядре Alpha 21264 включали больший буфер жертвы , емкость которого была увеличена в четыре раза до 32 записей, 16 для Dcache и 16 для Scache. В отчете Microprocessor Report сообщалось , что Compaq рассматривала возможность внесения незначительных изменений в предиктор ветвлений для повышения точности предсказания ветвлений и удвоения емкости буфера промахов до 16 записей вместо 8 в Alpha 21264. [1]
Ожидалось, что он будет выпущен в конце 1999 года, образцы будут доступны в начале 2000 года, а массовые поставки — в конце 2000 года. Однако первоначальный график был отложен, и выпуск состоялся в апреле 2001 года вместо конца 1999 года. [2] Alpha 21364 был представлен 20 января 2002 года, когда дебютировали системы, использующие этот микропроцессор. Он работал на частоте 1,25 ГГц, но серийные модели AlphaServer ES47 , ES80 и GS1280 работали на частоте 1,0 ГГц или 1,15 ГГц. В отличие от предыдущих микропроцессоров Alpha, Alpha 21364 не продавался на открытом рынке. [ необходима цитата ]
Первоначально планировалось, что Alpha 21364 заменит Alpha 21464 под кодовым названием EV8, новую реализацию Alpha ISA с четырехсторонней одновременной многопоточностью (SMT). [3] Впервые она была представлена в октябре 1999 года на 12-м ежегодном форуме по микропроцессорам, [3] но была отменена 25 июня 2001 года на поздней стадии разработки. [4]
Разработка Alpha 21364 была в основном сосредоточена на функциях, которые улучшили бы производительность памяти и масштабируемость мультипроцессора. Фокус на производительности памяти стал результатом опубликованной в Microprocessor Report статьи под названием «It's the Memory, Stupid!», написанной Ричардом Л. Сайтсом, который был одним из руководителей определения архитектуры Alpha. [5] В статье сделан вывод о том, что «в течение ближайшего десятилетия проектирование подсистемы памяти будет единственной важной проблемой проектирования микропроцессоров».
Alpha 21364 представляла собой Alpha 21264 с 1,75 МБ встроенного вторичного кэша, двумя интегрированными контроллерами памяти и интегрированным сетевым контроллером.
Ядро Alpha 21364 основано на EV68CB, производной от Alpha 21264. Единственным изменением стал больший буфер жертвы, теперь вчетверо увеличенный до 32 записей. 32 записи буфера жертвы разделены поровну на 16 записей для Dcache и Scache. Хотя Alpha 21364 является реализацией архитектуры Alpha четвертого поколения, за исключением этой модификации, ядро в остальном идентично производной от Alpha 21264 EV68CB. [6]
Вторичный кэш (называемый «Scache») — это унифицированный кэш емкостью 1,75 МБ. Он является 7-канальным наборно-ассоциативным , использует размер строки 64 байта и имеет политику обратной записи. Кэш защищен кодом исправления ошибок (ECC) с однобитовым исправлением ошибок, двухбитовым обнаружением ошибок (SECDED). Он подключен к контроллеру кэша 128-битным путем передачи данных. Доступ к кэшу полностью конвейерный, что обеспечивает устойчивую пропускную способность 16 ГБ/с на частоте 1,0 ГГц.
Время, необходимое для запроса данных из кэша до того момента, когда они могут быть использованы, составляет 12 циклов. [7] Задержка в 12 циклов была сочтена наблюдателями, такими как Microprocessor Report , значительной. Задержка Scache не была уменьшена еще больше, поскольку это не улучшило бы производительность. Ядро Alpha 21264, на котором базировался Alpha 21364, было разработано для использования внешнего кэша, созданного из стандартной SRAM, которая имеет значительно более высокую задержку, чем встроенная Scache Alpha 21364. Таким образом, он мог принимать данные только с ограниченной скоростью. После того, как улучшение задержки не принесло дальнейших выгод, проектировщики сосредоточились на снижении потребляемой Scache мощности. [8] Compaq не захотела устранять этот недостаток, поскольку это потребовало бы значительной модификации ядра Alpha 21264. [9] Высокая задержка Scache позволяла сначала просматривать теги кэша, чтобы определить, содержит ли Scache запрошенные данные и в каком банке они находятся, прежде чем включать банк Scache и обращаться к нему. Это позволяло избегать непродуктивных обращений к Scache, снижая потребление энергии.
Хранилище тегов состояло из 5,75 миллионов транзисторов, а хранилище данных — из 108 миллионов транзисторов. [8]
Alpha 21364 имеет два интегрированных контроллера памяти , которые поддерживают Rambus DRAM (RDRAM), работающие на двух третях тактовой частоты микропроцессора, или 800 МГц при 1,2 ГГц. Compaq разработала специальные контроллеры памяти для Alpha 21364, предоставив им возможности, которых нет в стандартных контроллерах памяти RDRAM, такие как открытие всех 128 страниц, сокращение задержки доступа к этим страницам; и фирменные отказоустойчивые функции.
Каждый контроллер памяти обеспечивает пять каналов RDRAM, которые поддерживают модули встроенной памяти PC800 Rambus (RIMM). Четыре канала используются для предоставления памяти, а пятый используется для обеспечения избыточности типа RAID . [7] Каждый канал имеет ширину 16 бит, работает на частоте 400 МГц и передает данные как по восходящему, так и по нисходящему фронтам тактового сигнала ( двойная скорость передачи данных ) со скоростью передачи 800 МТ/с, что обеспечивает пропускную способность 1,6 ГБ/с. Общая пропускная способность памяти восьми каналов составляет 12,8 ГБ/с.
Когерентность кэша обеспечивается контроллерами памяти. Каждый контроллер памяти имеет механизм когерентности кэша. Alpha 21364 использует схему когерентности кэша каталога, где часть памяти используется для хранения данных когерентности Modified, Exclusive, Shared, Invalid (MESI).
R-box содержит сетевой маршрутизатор. Сетевой маршрутизатор соединял микропроцессор с другими микропроцессорами с помощью четырех портов, названных Север, Юг, Восток и Запад. Каждый порт состоял из двух 39-битных однонаправленных соединений, работающих на частоте 800 МГц. 32 бита предназначались для данных, а 7 бит — для ECC. Сетевой маршрутизатор также имел пятый порт, используемый для ввода-вывода. Этот порт подключался к специализированной интегральной схеме (ASIC) IO7, которая была мостом к каналу AGP 4x и двум шинам PCI-X . Порт ввода-вывода состоял из двух однонаправленных 32-битных соединений, работающих на частоте 200 МГц, что обеспечивало пиковую пропускную способность 3,2 ГБ/с. Связь порта ввода-вывода работала на четверти тактовой частоты для упрощения конструкции ASIC ввода-вывода.
Alpha 21364 может подключаться к 127 другим микропроцессорам, используя две сетевые топологии: shuffle и 2D torus. Топология shuffle имела более прямые пути к другим микропроцессорам, что уменьшало задержку и, следовательно, повышало производительность, но была ограничена подключением до восьми микропроцессоров в результате своей природы. Топология 2D torus позволяла сети включать до 128 микропроцессоров.
В многопроцессорных системах каждый микропроцессор является узлом со своей собственной памятью. Доступ к памяти других узлов возможен, но с задержкой. Задержка увеличивается с расстоянием, поэтому Alpha 21364 реализует многопроцессорную обработку с неравномерным доступом к памяти (NUMA). Ввод-вывод также распределяется идентичным образом. Микропроцессор Alpha 21364 в многопроцессорной системе не обязательно должен был заполнять свои слоты RIMM памятью или свой порт ввода-вывода заполнять устройствами. Он мог использовать память и ввод-вывод другого микропроцессора.
Alpha 21364 мог работать в режиме lock-step для отказоустойчивых компьютеров. [10] Эта функция стала результатом решения Compaq о переводе отказоустойчивых серверов Himalaya компании Tandem с архитектуры MIPS на Alpha. Однако эти машины никогда не использовали микропроцессор, поскольку решение о поэтапном отказе Alpha в пользу Itanium было принято до появления Alpha 21364.
Alpha 21364 содержал 152 миллиона транзисторов. Размеры кристалла составляли 21,1 мм на 18,8 мм при площади 397 мм2 . Он был изготовлен компанией International Business Machines (IBM) по их 0,18 мкм семиуровневому медному комплементарному металл-оксид-полупроводник (CMOS) процессу . Он был упакован в 1443-контактный перевернутый кристалл с решеткой земли (LGA). [2] Он использовал источник питания 1,65 В и внешний интерфейс 1,5 В для максимальной рассеиваемой мощности 155 Вт на частоте 1,25 ГГц.
Alpha 21364A , кодовое название EV79 , ранее EV78 , был дальнейшим развитием Alpha 21364. Он должен был стать последним разработанным микропроцессором Alpha. Планировавшийся к выпуску в 2004 году, он был отменен 23 октября 2003 года, и HP в качестве причин указала проблемы с производительностью и графиком. Замена, EV7z, была анонсирована в тот же день.
Прототип микропроцессора был представлен компанией Hewlett-Packard на Международной конференции по твердотельным схемам в феврале 2003 года. Он работал на частоте 1,45 ГГц, имел площадь кристалла 251 мм2 , использовал источник питания 1,2 В и рассеивал 100 Вт (оценочно). [11]
Alpha 21364A должен был улучшить Alpha 21364, предложив более высокие тактовые частоты в диапазоне от ~1,6 до ~1,7 ГГц и поддержку памяти RDRAM 1066 Мбит/с. Он должен был быть изготовлен IBM по их 0,13 мкм процессу кремний на изоляторе (SOI). В результате более продвинутого процесса были уменьшены размер кристалла, напряжение питания (1,2 В по сравнению с 1,65 В), а также энергопотребление и рассеивание мощности.
EV7z был дальнейшим развитием Alpha 21364. Это был последний разработанный и представленный микропроцессор Alpha. EV7z стал известен 23 октября 2003 года, когда HP объявила об отмене Alpha 21364A и замене его на EV7z. [12] EV7z был представлен 16 августа 2004 года, когда был представлен единственный компьютер, использующий этот микропроцессор, AlphaServer GS1280 . Он был снят с производства 27 апреля 2007 года, когда был снят с производства компьютер, в котором он использовался. Он работал на частоте 1,3 ГГц, поддерживал модули PC1066 RIMM и производился по тому же 0,18 мкм техпроцессу, что и Alpha 21364. По сравнению с Alpha 21364, EV7z был на 14–16 процентов быстрее, но все равно был медленнее, чем заменивший его Alpha 21364A, который, по оценкам, превосходил Alpha 21364 на 25 процентов на частоте 1,5 ГГц.