Alpha 21264

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

Alpha 21264 - это Digital Equipment Corporation RISC микропроцессор, представленный в октябре 1996 года. В 21264 реализована Alpha архитектура набора команд (ISA).

Содержание
  • 1 Описание
    • 1.1 Выполнение вне очереди
    • 1.2 Ebox
    • 1.3 Fbox
    • 1.4 Кэш
      • 1.4.1 Первичные кеши
      • 1.4.2 B-cache
    • 1.5 Прогнозирование переходов
    • 1.6 Внешний интерфейс
  • 2 Адресация памяти
  • 3 Изготовление
  • 4 Упаковка
  • 5 Производные
    • 5.1 Alpha 21264A
    • 5.2 Alpha 21264B
    • 5.3 Alpha 21264C
    • 5.4 Alpha 21264D
    • 5.5 Alpha 21264E
  • 6 Наборы микросхем
    • 6.1 21272/21274
    • 6.2 Irongate
  • 7 Примечания
  • 8 Ссылки
  • 9 Дополнительная литература
  • 10 См. также
Описание

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

Выполнение вне очереди

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

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

Ebox

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

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

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

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

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

Fbox

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

Кэш

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

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

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

B-cache

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

Предсказание переходов

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

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

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

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

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

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

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

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

Fabrication

Alpha 21264 содержал 15,2 миллиона транзисторов. Логика состояла примерно из шести миллионов транзисторов, остальные содержались в кэшах и таблицах истории переходов. Размер кристалла составлял 16,7 мм на 18,8 мм (313,96 мм²). Он был изготовлен в 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 для своих Athlon на базе слотов.

Производные

Alpha 21264A

Alpha 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 МГц.

Alpha 21264B

Alpha 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 МГц.

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

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

Alpha 21264C

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

Alpha 21264D

Alpha 21264D с кодовым названием EV68CD - это более быстрый производный продукт, изготовленный IBM.

Alpha 21264E

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

Наборы микросхем

Digital и Advanced Micro Devices (AMD) разработали наборы микросхем для Alpha 21264.

21272/21274

Digital 21272, также известный как Tsunami, и 21274, также известный как Typhoon, были первым набором микросхем для 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-чип - это контроллер DRAM, реализующий доступ к / от CPU и к / от P-chip. 21272 может иметь два или четыре D-чипа, а 21274 может иметь два, четыре или восемь D-чипов.

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

Irongate

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

Примечания
Ссылки
  • 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 Journal of Solid-State Circuits, 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. pp. 28–36.
  • Matson, M. et al. "Реализация схемы суперскалярного RISC микропроцессора 600 МГц". Труды Международной конференции по компьютерному дизайну: СБИС в компьютерах и процессорах. pp. 104–110.
Дополнительная литература
См. Также
  • : полный системный эмулятор DEC Alpha, работающий в Windows или Linux. Он содержит высокопроизводительный эмулятор процессора Alpha.
  • Clustered Multi-threading
  • Alpha 21464
Последняя правка сделана 2021-06-11 02:00:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте