stringtranslate.com

ПА-8000

Микропроцессор HP PA-8000.

PA -8000 (PCX-U) под кодовым названием Onyx — это микропроцессор , разработанный и изготовленный Hewlett-Packard (HP), в котором реализована архитектура набора команд PA-RISC 2.0 (ISA). [1] Это была совершенно новая конструкция, в которой не было схем, заимствованных из предыдущих микропроцессоров PA-RISC. PA-8000 был представлен 2 ноября 1995 года, когда начались поставки членам организации Precision RISC (PRO). [2] Он использовался исключительно участниками PRO и не продавался на торговом рынке. Все последующие процессоры PA-8x00 (от PA-8200 до PA-8900, описанные ниже) основаны на базовом процессорном ядре PA-8000.

PA-8000 использовался:

Описание

PA-8000 — это четырехпроцессорный суперскалярный микропроцессор, который выполняет инструкции вне очереди и спекулятивно . [1] [3] Эти функции не были обнаружены в предыдущих реализациях PA-RISC, что сделало PA-8000 первым процессором PA-RISC, нарушившим традицию использования простых микроархитектур и реализации с высокой тактовой частотой для достижения производительности. [4]

Блок получения инструкций

PA-8000 имеет четырехступенчатую входную систему. На первых двух этапах четыре инструкции извлекаются из кэша инструкций блоком выборки инструкций (IFU). [4] IFU содержит счетчик программ , таблицу истории ветвей (BHT), кэш целевых адресов ветвей (BTAC) и резервный буфер трансляции с четырьмя записями (TLB). [1] [4] TLB используется для преобразования виртуального адреса в физические адреса для доступа к кэшу инструкций. В случае пропуска TLB трансляция запрашивается из основного TLB. [1]

Прогнозирование ветвей

PA-8000 выполняет прогнозирование ветвей , используя статические или динамические методы. [1] Какой метод использовал PA-8000, выбирался битом в каждой записи TLB. Статическое прогнозирование считает большинство обратных ветвей выполненными, а прямые — невыполненными. Статическое предсказание также предсказывало результат ветвей, исследуя подсказки, закодированные компилятором в самих инструкциях. [1] [4]

Динамическое прогнозирование использует записанную историю ветки, чтобы решить, будет она принята или нет. Эта информация хранится в BHT на 256 записей. Каждая запись BHT представляет собой трехбитный сдвиговый регистр . В PA-8000 использовался алгоритм мажоритарного голосования: ветвь выбирается, если установлено большинство из трех битов, и не берется, если они пусты. [1] Неправильно предсказанная ветвь приводит к штрафу в пять циклов. [4] BHT обновляется, когда известен результат ветвления. Хотя PA-8000 может выполнять две инструкции ветвления за цикл, записывается только один из результатов, поскольку BHT не является двухпортовым, чтобы упростить его реализацию. [3]

PA-8000 имеет двухцикловый пузырь для правильно предсказанных ветвей, поскольку целевой адрес ветвления должен быть вычислен до его отправки в кэш инструкций. [4] Чтобы уменьшить возникновение этого пузыря, PA-8000 использует полностью ассоциативный BTAC с 32 входами. BTAC кэширует целевой адрес ветки. Когда встречается та же ветвь и прогнозируется, что она занята, адрес немедленно отправляется в кэш инструкций, что позволяет начать выборку без задержки. [1]

Чтобы максимизировать эффективность BTAC, кэшируются только целевые ветки из прогнозируемых ветвей. Если ветвь прогнозируется как не занятая, но ее целевой адрес кэшируется в BTAC, ее запись удаляется. В случае, если BTAC заполнен и необходимо записать новую запись, заменяемая запись выбирается с использованием политики циклической замены. [1]

Кэш инструкций

Кэш инструкций является внешним и поддерживает объем от 256 КБ до 4 МБ. Инструкции предварительно декодируются перед попаданием в кэш путем добавления пяти бит к каждой инструкции. Эти биты сокращают время, необходимое для декодирования инструкции на последующих этапах конвейера. Кэш инструкций отображается напрямую, чтобы избежать сложности наборов ассоциативных кешей, и доступ к нему осуществляется через 148-битную шину. Теги для кэша также являются внешними. Он построен на основе синхронных SRAM (SSRAM).

Декодирование и буфер переупорядочения инструкций

На третьем этапе происходит декодирование инструкций. На четвертом этапе они помещаются в буфер переупорядочения команд (IRB). Целью IRB является реализация переименования регистров , выполнение вне очереди, спекулятивное выполнение и предоставление временного места для хранения результатов до тех пор, пока инструкции не будут удалены. IRB определяет, какие инструкции выдаются на пятом этапе.

IRB состоит из двух буферов: один для целочисленных инструкций и инструкций с плавающей запятой, другой для инструкций загрузки и сохранения. Некоторые инструкции помещаются в оба буфера. Эти инструкции являются инструкциями ветвей и определенными системными инструкциями. Каждый буфер имеет 28 записей. Каждый буфер может принимать до четырех инструкций за такт и выдавать до двух за такт своим функциональным блокам.

Исполнение

Все инструкции начинают выполняться на шестом этапе в десяти функциональных блоках. Целочисленные инструкции, за исключением умножения, выполняются в двух арифметико-логических блоках (АЛУ) и двух блоках сдвига/слияния. Все инструкции, выполняемые в этих устройствах, имеют задержку в один цикл, а их результаты записываются в регистр назначения на седьмом этапе.

Инструкции с плавающей запятой и инструкции умножения целых чисел выполняются в двух модулях слитого умножения-накопления (FMAC) и двух модулях деления/извлечения квадратного корня. Устройства FMAC являются конвейерными и имеют задержку в три цикла. Умножение выполняется на шестом этапе, сложение на седьмом этапе, округление на восьмом этапе и обратная запись на девятом этапе. Между этапами умножения и накопления нет округления. Модули FMAC также выполняют отдельные инструкции умножения и сложения, которые также имеют задержку в три цикла как для вариантов с одинарной , так и с двойной точностью . Единицы деления/извлечения квадратного корня не являются конвейерными и имеют задержку в 17 циклов. Им может быть выдана одна инструкция за такт из-за ограничений порта регистрации, но они могут работать параллельно друг с другом и с модулями FMAC.

Инструкции загрузки и сохранения как целых чисел, так и чисел с плавающей запятой выполняются двумя выделенными сумматорами адресов.

Резервный буфер перевода

Резервный буфер трансляции (TLB) содержит 96 записей, является двухпортовым и полностью ассоциативным. Он может транслировать два виртуальных адреса за цикл. Этот TLB преобразует адреса как для инструкций, так и для данных. Когда TLB IFU отсутствует, этот TLB обеспечивает его перевод. Трансляция загрузок и сохранений имеет более высокий приоритет, чем трансляция инструкций. Каждую запись TLB можно сопоставить со страницей размером от 4 КБ до 16 МБ с шагом, равным степени четырех.

Кэш данных

PA-8000 имеет кэш данных емкостью до 4 МБ. Кэш данных является двухпортовым, поэтому в течение каждого цикла можно выполнять два чтения или записи. Он является двухпортовым за счет реализации двух банков кэша, поэтому на самом деле он не является двухпортовым, поскольку, если два чтения или записи ссылаются на один и тот же банк, возникает конфликт, и может быть выполнена только одна операция. Доступ к нему осуществляется по двум 64-битным шинам, по одной на каждый банк. Теги кэша являются внешними. Существует две копии тегов кэша для обеспечения независимого доступа в каждом банке. Кэш данных отображается напрямую по тем же причинам, что и кэш инструкций. Он построен на основе SSRAM.

Взлетно-посадочная полоса автобуса

Внешний интерфейс — это шина Runway , 64-битная шина с мультиплексированием адресов и данных. PA-8000 использует 40-битный физический адрес , поэтому он способен адресовать 1 ТБ физической памяти .

Физический

Микропроцессор HP PA-8000 (вид сверху и снизу)

PA-8000 имеет 3,8 миллиона транзисторов и имеет размеры 17,68 мм на 19,10 мм [5] при площади 337,69 мм 2 . Он был изготовлен HP по технологии CMOS-14C, что представляет собой сокращение на 10% по сравнению с процессом CMOS-14. [4] Процесс CMOS-14C представлял собой пятиуровневое алюминиевое межсоединение толщиной 0,5 мкм , комплементарный процесс металл-оксид-полупроводник (КМОП). На кристалле имеется 704 контакта для сигналов и 1200 для питания или заземления. Он упакован в решетчатую решетку из керамики из оксида алюминия с 1085 контактными площадками ( LGA). [6] PA-8000 использует источник питания 3,3 В.

ПА-8200

Микропроцессор HP PA-8200.

PA -8200 (PCX-U+) под кодовым названием Vulcan был дальнейшим развитием PA-8000. Первые системы, использующие PA-8200, стали доступны в июне 1997 года. PA-8200 работала на частоте от 200 до 240 МГц и в первую очередь конкурировала с Alpha 21164 . Были внесены улучшения в прогнозирование ветвей и TLB. [3] [7] Прогнозирование ветвей было улучшено за счет увеличения количества записей BHT в четыре раза до 1024, что потребовало использования двухбитного алгоритма для соответствия без перепроектирования окружающих схем; и за счет реализации очереди записи, которая позволяла BHT записывать два результата ветвления вместо одного. Количество записей TLB было увеличено до 120 с 96, что уменьшило количество промахов TLB. Тактовая частота также была улучшена за счет незначительной переработки схемы. Матрица PA-8200 по размеру была идентична PA-8000, поскольку в усовершенствованиях использовались пустые области матрицы. Он был изготовлен по технологии CMOS-14C.

ПА-8500

Микропроцессор HP PA-8500 (вид сверху и снизу)

PA-8500 (PCX-W) под кодовым названием Barracuda является дальнейшим развитием PA-8200. Его записали на пленку в начале 1998 года и начали использовать в системах в конце 1998 года. Серийные версии работали на частотах от 300 до 440 МГц, но они были разработаны и работают до 500 МГц. [8] Наиболее заметными улучшениями являются более высокие рабочие частоты и встроенная интеграция основных кэшей. [9] Более высокие рабочие частоты и интеграция основного кэша на одном кристалле с ядром стали возможны благодаря переходу на процесс 0,25 мкм. Сердечник PA-8500 в новом процессе имел размеры 10,8 на 11,4 мм (123,12 мм 2 ), что составляет менее половины площади сердечника PA-8200 толщиной 0,5 мкм. Это сделало доступной область, которую можно было использовать для интеграции кешей.

PA-8500 имеет кэш инструкций объемом 512 КБ и кэш данных объемом 1 МБ. Другие улучшения микроархитектуры включают более крупный BHT, содержащий 2048 записей, что вдвое превышает емкость PA-8200, и более крупный TLB, содержащий 160 записей. В PA-8500 используется новая версия автобуса Runway . Новая версия работает на частоте 125 МГц и передает данные как по нарастающему, так и по спадающему фронту тактового сигнала (двойная скорость передачи данных или DDR) и обеспечивает пропускную способность 240 МТ/с или 2 ГБ/с. Поскольку шина Runway используется для передачи адресов и данных, полезная пропускная способность составляет 80% от скорости 2 ГБ/с, или около 1,6 ГБ/с.

PA-8500 содержит 140 миллионов транзисторов и имеет размеры 21,3х22,0 мм (468,6 мм 2 ). [8] Он был изготовлен корпорацией Intel по технологии КМОП 0,25 мкм с пятью уровнями алюминиевых межсоединений. Он использует источник питания 2,0 В. HP не производила PA-8500 самостоятельно, поскольку они прекратили модернизировать свои фабрики для внедрения более нового процесса, чем CMOS-14C, который использовался для изготовления предыдущих микропроцессоров PA-RISC.

PA-8500 был упакован в меньший массив наземной сетки (LGA) с 544 контактами, поскольку интеграция основных кэшей на кристалле привела к удалению двух 128-битных шин, которые взаимодействовали с внешними кэшами и связанными с ними вводами/выводами. подушечки.

ПА-8600

Микропроцессор HP PA-8600.

PA-8600 (PCX-W+) под кодовым названием Landshark представляет собой дальнейшее развитие PA-8500, представленного в январе 2000 года. PA-8600 планировалось представить в середине 2000 года. [10] Это была модифицированная версия PA-8500, позволяющая достигать более высоких тактовых частот от 480 до 550 МГц. Микроархитектура была улучшена за счет использования политики квазинаименее недавно использованного (LRU) кэша инструкций. Его изготовила компания Intel.

ПА-8700

Микропроцессор HP PA-8700.

PA-8700 (PCX-W2) под кодовым названием Piranha является дальнейшим развитием PA-8600. Представленный в августе 2001 года, он работал на частотах от 625 до 750 МГц. Улучшения заключались в реализации предварительной выборки данных, политике замены квази-LRU для кэша данных и увеличении 44-битного физического адресного пространства для адресации 16 ТБ физической памяти. [11] PA-8700 также имеет больший кэш инструкций и данных, емкость которого увеличена на 50% до 0,75 МБ и 1,5 МБ соответственно. PA-8700 был изготовлен IBM Microelectronics [12] по КМОП-процессу «кремний на изоляторе » (SOI) толщиной 0,18 мкм с семью уровнями медных межсоединений и диэлектриком с низким κ .

ПА-8700+

PA-8700+ представлял собой дальнейшее развитие PA-8700, представленного в системах в середине 2002 года. Он работал на частоте 875 МГц. [12]

ПА-8800

Микропроцессор HP PA-8800.
Модуль ЦП PA-8000 с четырьмя ESRAM

PA-8800 под кодовым названием Mako является дальнейшим развитием PA-8700. [13] Он был представлен в 2004 году и использовался HP на рабочих станциях C8000 и серверах HP 9000 Superdome . Он был доступен на частотах 0,8, 0,9 и 1,0 ГГц. PA-8800 представлял собой двухъядерную конструкцию, состоящую из двух модифицированных микропроцессоров PA-8700+ на одном кристалле. Каждое ядро ​​имеет кэш инструкций объемом 768 КБ и кэш данных объемом 768 КБ. Первичные кэши меньше, чем в PA-8700, что позволяет обоим ядрам разместиться на одном кристалле.

Улучшения по сравнению с PA-8700 заключаются в улучшенном прогнозировании ветвлений и включении внешнего унифицированного вторичного кэша объемом 32 МБ. Вторичный кэш имеет пропускную способность 10 ГБ/с и задержку 40 циклов. Это четырехсторонний набор-ассоциативный файл, физически индексируемый и физически помеченный, размер строки которого составляет 128 байт. Ассоциативность set была выбрана для уменьшения количества контактов ввода-вывода. Кэш L2 реализован с использованием четырех микросхем Enhanced Memory Systems Enhanced SRAM (ESRAM) емкостью 72 Мбит (9 МБ), которые, несмотря на свое название, представляют собой реализацию 1T-SRAMдинамической оперативной памяти (DRAM) с SRAM-подобным интерфейсом. . Доступ к этому кэшу каждого ядра определяется встроенным контроллером, а 1 МБ тегов вторичного кэша также находится на кристалле как SRAM и защищен ECC. PA-8800 использовал ту же лицевую шину , что и микропроцессор McKinley Itanium , который обеспечивает пропускную способность 6,4 ГБ/с и совместим с чипсетами HP Itanium, такими как zx1 .

Он состоял из 300 миллионов транзисторов, из которых 25 миллионов были для логики, на кристалле размером 23,6 х 15,5 мм (365,8 мм 2 ). [13] Он был изготовлен IBM по технологии SOI 0,13 мкм с медными межсоединениями и диэлектриком с низким κ . PA-8800 упакован в решетчатую решетку из керамических шариков, установленную на печатной плате (PCB) с четырьмя модулями ESRAM, образующими модуль, аналогичный тем, которые использовались в ранних микропроцессорах Itanium.

ПА-8900

Микропроцессор HP PA-8900.
Модуль ЦП PA-8000 с четырьмя ESRAM

PA-8900 под кодовым названием Shortfin был производной от PA-8800. Это был последний разработанный микропроцессор PA-RISC, который был представлен 31 мая 2005 года, когда стали доступны системы, использующие этот микропроцессор. Он использовался в серверах HP 9000 и рабочей станции C8000. Он работал на частотах 0,8, 0,9, 1,0 и 1,1 ГГц. Это не усадка PA-8800, как сообщалось ранее. Емкость кэша L2 была увеличена вдвое до 64 МБ, имеет меньшую задержку и улучшенное обнаружение и исправление ошибок в кэшах. Он использует системную шину McKinley и совместим с наборами микросхем Itanium 2, такими как HP zx1. Никаких изменений в микроархитектуре не произошло, но блок операций с плавающей запятой и схема встроенного кэша были переработаны для снижения энергопотребления, и впоследствии каждое ядро ​​рассеивало примерно 35 Вт на частоте 1,0 ГГц.

Примечания

  1. ^ abcdefghi Хант 1995
  2. ^ «HP объявляет о выпуске PA-8000 для PRO-партнеров» .
  3. ^ abc Скотт 1997
  4. ^ abcdefg Гвеннап 1994
  5. ^ Гаддис 1996, с. 1697 г.
  6. ^ Кумар, «ЦП HP PA-8000 RISC»
  7. ^ Гвеннап 1996
  8. ^ аб Барнс 1999
  9. ^ Гвеннап 1997
  10. ^ Вермер, «Процессор HP PA-8600 поступит раньше, чем ожидалось».
  11. ^ Кревелл 2000
  12. ^ ab ComputerWire 2002
  13. ^ Аб Джонсон 2001, с. 1

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

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