stringtranslate.com

Альфа 21264

Микроархитектура Альфа 21264.

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

Описание

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

Исполнение вне очереди

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

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

Электронная коробка

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

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

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

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

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

Фбокс

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

Кэш

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

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

Первичный кэш разделен на отдельные кэши для инструкций и данных (« модифицированная Гарвардская архитектура »), I-кэш и D-кэш соответственно. Оба кэша имеют объем 64 КБ. D-кэш является двухпортовым и передает данные как по нарастающему, так и по спадающему фронту тактового сигнала. Этот метод двойного портирования позволял выполнять любую комбинацию операций чтения и записи в кэш в каждом цикле процессора. Также удалось избежать дублирования кэша, поэтому их два, как в 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-битной шины данных с двойной скоростью передачи данных (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 ). [2]

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

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

Упаковка

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

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

Производные

Альфа 21264А

Альфа 21264А

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

Альфа 21264B

Alpha 21264B представляет собой дальнейшую разработку с увеличенной тактовой частотой. Было две модели: одна произведена IBM под кодовым названием EV68C , а другая — Samsung под кодовым названием EV68A .

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

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

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

Альфа 21264C

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

Альфа 21264D

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

Альфа 21264E

Alpha 21264E под кодовым названием EV68E был отмененной производной версией, разработанной Samsung, о которой впервые было объявлено 10 октября 2000 года на Microprocessor Forum 2000, представление которой запланировано примерно на середину 2001 года. Улучшения заключались в увеличении рабочей частоты до 1,25 ГГц и добавлении встроенного вторичного кэша объемом 1,85 МБ. Он должен был быть изготовлен по технологии КМОП 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-чип — это управляющий чип, содержащий контроллер памяти. Для каждого микропроцессора требовался один C-чип.

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

D-чип — это контроллер DRAM, осуществляющий доступ к/из процессоров, а также к/из P-чипа. У 21272 могло быть два или четыре D-чипа, а у 21274 — два, четыре или восемь D-чипов.

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

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

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

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

Примечания

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

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

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