Альфа 21264 - Alpha 21264

Микроархитектура Alpha 21264.

В Альфа 21264 это Корпорация цифрового оборудования RISC микропроцессор представленный в октябре 1996 года. 21264 реализовал Альфа архитектура набора команд (ЭТО).

Описание

Alpha 21264 или Alpha 7 для краткости - это четыре проблемы. суперскалярный микропроцессор с внеочередное исполнение и спекулятивное исполнение. Он имеет пиковую скорость выполнения шести инструкций за цикл и может поддерживать четыре инструкции за цикл. Имеет семиступенчатую конвейер команд.

Неисправное исполнение

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

Декодированные инструкции хранятся в очередях инструкций и выдаются, когда их операнды доступны. Целочисленная очередь содержала 20 записей, а очередь с плавающей запятой - 15. Каждая очередь могла выдавать столько инструкций, сколько было конвейеров.

Ebox

Ebox выполняет целочисленные инструкции, инструкции загрузки и сохранения. Он имеет две целочисленные единицы, две единицы хранения загрузки и две целочисленные единицы. зарегистрировать файлы. Каждый файл целочисленных регистров содержал 80 записей, из которых 32 - архитектурные регистры, 40 - регистры переименования и 8 - теневые регистры PAL. Для регистра R31 не было записи, потому что в архитектуре Alpha R31 жестко привязан к нулю и доступен только для чтения.

Каждый регистровый файл обслуживает целочисленную единицу и загрузочную единицу хранения, а регистровый файл и две его единицы называются «кластером». Два кластера были обозначены как U0 и U1. Эта схема использовалась, поскольку она уменьшала количество портов записи и чтения, необходимых для обслуживания операндов и приема результатов, тем самым уменьшая физический размер файла регистров, позволяя микропроцессору работать на более высоких тактовых частотах. Таким образом, записи в любой из файлов регистров должны быть синхронизированы, что потребовало тактового цикла для завершения, что отрицательно сказалось на производительности на один процент. Снижение производительности в результате синхронизации компенсировалось двумя способами. Во-первых, достижимая более высокая тактовая частота компенсирует потери. Во-вторых, логика, отвечающая за выдачу инструкций, избегала создания ситуаций, когда регистровый файл должен был быть синхронизирован, путем выдачи инструкций, которые не зависели от данных, хранящихся в другом регистровом файле, где это возможно.

Кластеры почти идентичны, за исключением двух различий: U1 имеет конвейерный умножитель с семью циклами, а U0 имеет конвейер с тремя циклами для выполнения инструкций видео движения (MVI), расширение к архитектуре Alpha, определяющее инструкции с одной инструкцией и несколькими данными (SIMD). для мультимедиа.

Единицы загрузки магазина просты арифметико-логические устройства используется для расчета виртуальные адреса для доступа к памяти. Они также способны выполнять простые арифметические и логические инструкции. Логика выдачи инструкций Alpha 21264 использовала эту возможность, отдавая инструкции этим блокам, когда они были доступны для использования (не выполняя адресную арифметику).

Таким образом, Ebox имеет четыре 64-битных сумматоры, четыре логических блока, два баррель шифтеры, логика манипулирования байтами, два набора логики условного перехода, поровну разделенные между U1 и U0.

Fbox

Fbox отвечает за выполнение плавающая точка инструкции. Он состоит из двух конвейеров с плавающей запятой и файла регистров с плавающей запятой. Конвейеры не идентичны, один выполняет большинство инструкций, а другой только умножает инструкции. К конвейеру сумматора подключены два неконвейерных модуля: модуль деления и модуль квадратного корня. Сложение, умножение и большинство других инструкций имеют задержку в 4 цикла, деление с двойной точностью имеет задержку в 16 циклов, а квадратный корень с двойной точностью имеет задержку в 33 цикла. Файл регистров с плавающей запятой содержит 72 записи, из которых 32 - регистры архитектуры, а 40 - регистры переименования.

Кеш

Alpha 21264 имеет два уровня тайник, первичный кеш и вторичный кеш. Кэш третьего уровня (L3, или "жертва") Альфа 21164 не использовался из-за проблем с пропускной способностью.

Первичные кеши

Основной кеш разделен на отдельные кеши для инструкций и данных ("модифицированная архитектура Гарварда "), I-cache и D-cache, соответственно. Оба кэша имеют емкость 64 КБ. D-кэш имеет двойной порт, передавая данные как по переднему, так и по заднему фронту тактового сигнала. Этот метод двойного -porting включал любую комбинацию операций чтения или записи в кэш за каждый цикл процессора. Он также избегал дублирования кеша, поэтому их было два, как в Alpha 21164. Дублирование кеша ограничивало емкость кеша, так как требовалось больше транзисторов для обеспечения такой же объем мощности, что в свою очередь увеличило требуемую площадь и потребляемую мощность.

B-кеш

Вторичный кэш, называемый B-кешем, представляет собой внешний кеш емкостью от 1 до 16 МБ. Управляется микропроцессором и реализуется синхронным статическая оперативная память (SSRAM), которые работают на двух третях, половине, одной трети или одной четвертой внутренней тактовой частоты или от 133 до 333 МГц при 500 МГц. Доступ к B-кешу осуществлялся через выделенную 128-битную шину, которая работает с той же тактовой частотой, что и SSRAM, или с удвоенной тактовой частотой, если двойная скорость передачи данных Используется SSRAM. B-кэш имеет прямое отображение.[1]

Прогноз ветвления

Прогноз ветвления выполняется алгоритмом предсказания ветвления турнира. Алгоритм был разработан Скоттом МакФарлингом из Западной исследовательской лаборатории Digital (WRL) и описан в статье 1993 года. Этот предсказатель использовался, так как Alpha 21264 имеет минимальный штраф за неверное предсказание перехода в семь циклов. Из-за задержки двух циклов кэша инструкций и очередей инструкций средний штраф за неправильное предсказание перехода составляет 11 циклов. Алгоритм поддерживает две таблицы хронологии, локальную и глобальную, а таблица, используемая для прогнозирования результата перехода, определяется предиктором выбора.

Локальный предиктор представляет собой двухуровневую таблицу, в которой записывается история отдельных ветвей. Он состоит из 1024 записей по 10-битной таблице истории переходов. Использовалась двухуровневая таблица, поскольку точность прогнозирования аналогична точности более крупной одноуровневой таблицы, но требует меньшего количества битов памяти. Он имеет таблицу прогнозирования переходов с 1024 записями. Каждая запись представляет собой 3-битный счетчик насыщения. Значение счетчика определяет, будет ли текущая ветвь взята или нет.

Глобальный предсказатель представляет собой одноуровневую таблицу истории переходов с 4096 записями. Каждая запись представляет собой 2-битный счетчик насыщения; значение этого счетчика определяет, будет ли текущая ветвь взята или нет.

Предиктор выбора записывает историю локальных и глобальных предикторов, чтобы определить, какой предиктор является лучшим для конкретной ветви. Он имеет таблицу истории ветвей с 4096 записями. Каждая запись представляет собой 2-битный счетчик насыщения. Значение счетчика определяет, используется ли локальный или глобальный предиктор.

Внешний интерфейс

Внешний интерфейс состоял из двунаправленного 64-битного двойная скорость передачи данных (ГДР) шина данных и два 15-битных однонаправленных с временным мультиплексированием адрес и контроль шины, одна для сигналов, исходящих от Alpha 21264, и одна для сигналов, исходящих от системы. Digital предоставила автобусу лицензию на Продвинутые Микроустройства (AMD), и впоследствии он был использован в их Athlon микропроцессоры, где это было известно как шина EV6.

Адресация памяти

ЦП Alpha 21264 поддерживает 48-битный или 43-битный виртуальный адрес (виртуальное адресное пространство 256 или 8 ТиБ повторно), выбираемый под управлением IPR (с использованием регистра управления VA_CTL). Alpha 21264 поддерживает 44-битный физический адрес (до 16 ТиБ физической памяти). Это увеличение по сравнению с предыдущими процессорами Alpha (43-битные виртуальные и 40-битные физические для Альфа 21164, а также 43-битный виртуальный и 34-битный физический для Альфа 21064 ).[2]

Изготовление

Alpha 21264 содержит 15,2 миллиона транзисторов. Логика состояла примерно из шести миллионов транзисторов, остальные содержались в кэшах и таблицах истории переходов. Размер матрицы составляет 16,7 мм на 18,8 мм (313,96 мм²).[3] Он был изготовлен в диаметре 0,35 мкм. комплементарный металл – оксид – полупроводник (CMOS) процесс с шестью уровнями межсоединения.

Упаковка

Alpha 21264 был упакован в керамический промежуточный корпус с 587 выводами. матрица сетки выводов (IPGA).

Позднее Alpha Processor, Inc. продала Alpha 21264 в корпусе Slot B, содержащем микропроцессор, установленный на печатной плате с B-кешем и регуляторами напряжения. Дизайн был разработан с учетом успеха микропроцессоров на базе слотов от Intel и AMD. Изначально слот B был разработан для использования AMD Athlon, чтобы API мог получать материалы для слота B по товарным ценам, чтобы снизить стоимость Alpha 21264 и получить более широкую долю рынка. Этого так и не произошло, поскольку AMD решила использовать слот A для своих Athlons со слотами.

Производные

Альфа 21264A

В Альфа 21264A, под кодовым названием EV67 была уменьшенной версией Alpha 21264, представленной в конце 1999 года. Было шесть версий: 600, 667, 700, 733, 750, 833 МГц. EV67 был первым микропроцессором Alpha, в котором реализовано расширение счетчика (CIX), которое расширило набор инструкций инструкциями для выполнения подсчет населения. Он был изготовлен Samsung Electronics с использованием КМОП-технологии 0,25 мкм с транзисторами 0,25 мкм, но с металлическими слоями 0,35 мкм. Матрица имела площадь 210 мм². EV68 использовал источник питания 2,0 В. Он рассеивал максимум 73 Вт на 600 МГц, 80 Вт на 667 МГц, 85 Вт на 700 МГц, 88 Вт на 733 МГц и 90 Вт на 750 МГц.

Альфа 21264B

В Альфа 21264B является дальнейшим развитием для увеличенных тактовых частот. Было две модели, одна из которых изготовлена ​​IBM под кодовым названием. EV68Cи один от Samsung под кодовым названием EV68A.

EV68A был изготовлен по технологии CMOS 0,18 мкм с алюминиевые межкомпонентные соединения. Он имел размер кристалла 125 мм², что на треть меньше, чем у Alpha 21264A, и использовал источник питания 1,7 В. Он был доступен в 2001 году на тактовых частотах 750, 833, 875 и 940 МГц. EV68A рассеивает максимум 60 Вт на 750 МГц, 67 Вт на 833 МГц, 70 Вт на 875 МГц и 75 Вт на 940 МГц.[4]

EV68C был изготовлен по технологии CMOS 0,18 мкм с медными межсоединениями. Он был выбран в начале 2000 года и достиг максимальной тактовой частоты 1,25 ГГц.

В сентябре 1998 года Samsung объявила, что изготовит вариант Alpha 21264B с полностью обедненным слоем 0,18 мкм. кремний на изоляторе (SOI) процесс с медные межсоединения это было способно достичь тактовой частоты 1,5 ГГц. Эта версия так и не была реализована.

Альфа 21264C

В Альфа 21264C, под кодовым названием EV68CB был производным от Alpha 21264. Он был доступен с тактовыми частотами 1,0, 1,25 и 1,33 ГГц. EV68CB содержит 15,5 миллионов транзисторов и имеет размер 120 мм². Он был изготовлен IBM по технологии CMOS 0,18 мкм с семью уровнями медных межсоединений и низкий-K диэлектрик. Он был упакован в блокнот по 675 штук. флип-чип керамическая сетка (CLGA) размером 49,53 на 49,53 мм. EV68CB использовал источник питания 1,7 В, рассеивая максимум 64 Вт на 1,0 ГГц, 75 Вт на 1,25 ГГц и 80 Вт на 1,33 ГГц.[5]

Альфа 21264D

В Альфа 21264D, под кодовым названием EV68CD это более быстрая производная, созданная IBM.

Альфа 21264E

В Альфа 21264E, под кодовым названием EV68E, был отмененным производным, разработанным Samsung, впервые анонсированным 10 октября 2000 года на Microprocessor Forum 2000 и намеченным к выпуску примерно в середине 2001 года. Улучшения включали более высокую рабочую частоту 1,25 ГГц и добавление встроенного вторичного кэша объемом 1,85 МБ. Он должен был быть изготовлен по технологии CMOS 0,18 мкм с медными межсоединениями.

Чипсеты

Цифровые и Продвинутые Микроустройства (AMD) оба разработали чипсеты для Alpha 21264.

21272/21274

Цифровой 21272, также известный как Цунами, и 21274, также известный как Тайфун, были первым набором микросхем для Alpha 21264. Набор микросхем 21272 поддерживал одно- или двустороннюю многопроцессорность и до 8 ГБ памяти, тогда как 21274 поддерживал одно-, двух-, трех- или четырехпроцессорную многопроцессорность, до 64 ГБ память, и оба поддерживают один или два 64-битных 33 МГц PCI автобусов. У них была шина памяти от 128 до 512 бит, которая работала на частоте 83 МГц, что давало максимальную пропускную способность 5312 МБ / с. Чипсет поддерживает зарегистрированную ECC SDRAM с частотой 100 МГц.

Чипсет состоял из трех устройств: C-чипа, D-чипа и P-чипа. Количество устройств, составляющих набор микросхем, варьировалось в зависимости от конфигурации набора микросхем. C-chip - это управляющая микросхема, содержащая контроллер памяти. Для каждого микропроцессора требовался один C-чип.

P-chip - это контроллер PCI, реализующий шину PCI 33 МГц. 21272 может иметь один или два P-чипа.

D-chip - это контроллер DRAM, обеспечивающий доступ к ЦП и из них, а также к P-чипу и из него. 21272 может иметь два или четыре D-чипа, а 21274 может иметь два, четыре или восемь D-чипов.

21272 и 21274 широко использовались компаниями Digital, Compaq и Hewlett Packard в их серверах AlphaServers начального и среднего уровня и во всех моделях AlphaStation. Он также использовался в продуктах сторонних производителей Alpha Processor, Inc. (позже известных как API NetWorks), таких как их материнские платы UP2000 +.

Железные ворота

AMD разработала два набора микросхем, совместимых с Alpha 21264: Железные ворота, также известный как AMD-751, и его преемник, Иронгейт-2, также известный как AMD-761. Эти наборы микросхем были разработаны для микропроцессоров Athlon, но из-за лицензирования AMD шины EV6, используемой в Alpha от Digital, Athlon и Alpha 21264 были совместимы с точки зрения протокола шины. Irongate использовался Samsung в своих материнских платах UP1000 и UP1100. Irongate-2 использовался Samsung в своей материнской плате UP1500.

Примечания

  1. ^ Архитектура микропроцессора Alpha 21264, стр. 5.
  2. ^ "Спецификация микропроцессора Alpha 21264" (PDF). Compaq Computer Corporation. Получено 2020-06-03.
  3. ^ Гроновски, "Конструкция высокопроизводительного микропроцессора", стр. 676.
  4. ^ Compaq, "Справочное руководство по аппаратному обеспечению микропроцессора 21264 / EV68A".
  5. ^ Compaq, "Справочное руководство по аппаратному обеспечению 21264 / EV68CB и 21264 / EV68DC".

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

  • Compaq Computer Corporation (Июль 1999 г.). Справочное руководство по аппаратному обеспечению микропроцессора Alpha 21264.
  • Compaq Computer Corporation (Июнь 2001 г.). Справочное руководство по аппаратному обеспечению 21264 / EV68CB и 21264 / EV68DC.
  • Compaq Computer Corporation (Март 2002 г.). Справочное руководство по микропроцессору 21264 / EV67.
  • Compaq Computer Corporation (Март 2002 г.). Справочное руководство по аппаратному обеспечению микропроцессора 21264 / EV68A.
  • Gronowski, Paul E. et al. (1998). «Дизайн высокопроизводительного микропроцессора». Журнал IEEE по твердотельным схемам, Volume 33, Number 5, pp. 676–686.
  • Гвеннап, Линли (28 октября 1996 г.). «Digital 21264 устанавливает новый стандарт». Отчет микропроцессора, Том 10, номер 14. Ресурсы MicroDesign.
  • Kessler, R.E .; Маклеллан, Э. Дж. И Уэбб, Д. А. (1998) "Архитектура микропроцессора Alpha 21264". Материалы международной конференции по компьютерному дизайну: СБИС в компьютерах и процессорах. С. 90–95.
  • Кесслер, Р. Э. (1999). «Микропроцессор Alpha 21264». IEEE Micro, Март – апрель 1999. С. 24–36.
  • Лейбхольц, Даниэль и Раздан, Рахул (1997). «Alpha 21264: микропроцессор для работы вне очереди, 500 МГц». Материалы Compcon '97. С. 28–36.
  • Matson, M. et al. "Реализация схемы суперскалярного RISC микропроцессора 600 МГц". Материалы международной конференции по компьютерному дизайну: СБИС в компьютерах и процессорах. С. 104–110.

дальнейшее чтение

Смотрите также