Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Микроархитектура Alpha 21264.

Альфа 21264 является Digital Equipment Corporation RISC микропроцессор введен в октябре 1996 года 21264 реализован Альфа набор команд архитектуры (ISA).

Описание [ править ]

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 или «жертва») Alpha 21164 не использовался из-за проблем с пропускной способностью.

Первичные кеши [ править ]

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

B-cache [ править ]

Вторичный кэш, называемый 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-битных двойных скорости передачи данных (DDR) шин данных и два 15-битого однонаправленные с временным мультиплексированием адреса и управляющие шинами, один для сигналов , исходящих из альфа - 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 ). [2]

Изготовление [ править ]

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

Упаковка [ править ]

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 [ править ]

Альфа 21264A , под кодовым названием EV67 был усадка Альфа 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 [ править ]

Альфа 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 ГГц. Эта версия так и не материализовалась.

Alpha 21264C [ править ]

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

Alpha 21264D [ править ]

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

Alpha 21264E [ править ]

Альфа 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-битные шины PCI 33 МГц . У них была шина памяти от 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 +.

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.

Заметки [ править ]

  1. ^ Архитектура микропроцессора Alpha 21264, стр. 5.
  2. ^ "Alpha 21264 Microprocessor Data Sheet" (PDF) . Compaq Computer Corporation . Проверено 3 июня 2020 .
  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 по твердотельным схемам , том 33, номер 5, стр. 676–686.
  • Гвеннап, Линли (28 октября 1996 г.). «Digital 21264 устанавливает новый стандарт». Отчет о микропроцессоре , том 10, номер 14. Ресурсы MicroDesign.
  • Кесслер, RE; Маклеллан, Э.Дж. и Уэбб, Д.А. (1998) "Архитектура микропроцессора Alpha 21264". Материалы международной конференции по компьютерному дизайну: СБИС в компьютерах и процессорах . С. 90–95.
  • Кесслер, RE (1999). «Микропроцессор Alpha 21264». IEEE Micro , март – апрель 1999 г., стр. 24–36.
  • Лейбхольц, Даниэль и Раздан, Рахул (1997). «Alpha 21264: микропроцессор для работы вне очереди, 500 МГц». Труды Compcon '97 . С. 28–36.
  • Matson, M. et al. "Реализация схемы суперскалярного RISC микропроцессора 600 МГц". Материалы международной конференции по компьютерному дизайну: СБИС в компьютерах и процессорах . С. 104–110.

Дальнейшее чтение [ править ]

  • Benschneider, BJ et al. (2000). «Микропроцессор Alpha 1 ГГц» . Сборник технических документов ISSCC , стр. 86–87.
  • Clouser, J. et al. (Июль 1999 г.). «Суперскалярный процессор с плавающей запятой на 600 МГц» . IEEE Journal of Solid-State Circuits 34 (7): pp. 1026–1029.
  • Фишер, Т .; Лейбхольц, Д. (1998). «Проектируйте компромиссы в схемах управления задержкой для очередей команд 600 МГц» . Сборник технических документов ISSCC, стр. 232–234, 444.
  • Gieseke, BA et al. (1997). «Суперскалярный RISC-микропроцессор 600 МГц с нестандартным исполнением». Сборник технических документов ISSCC , стр. 176–177, 451.
  • Gronowski, Paul E. et al. (Май 1998 г.). «Высокопроизводительный микропроцессорный дизайн». IEEE Journal of Solid-State Circuits 33 (5): pp. 676–686.
  • Hokinson, R. et al. (2001). «Проблемы проектирования и миграции микропроцессора Alpha для обработки меди 0,18 мкм» . Сборник технических документов ISSCC , стр. 320–321, 460.

См. Также [ править ]

  • AlphaVM : полноценный эмулятор системы DEC Alpha, работающий в Windows или Linux. Он содержит высокопроизводительный эмулятор процессора Alpha.
  • Кластерная многопоточность
  • Альфа 21464