ПА-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 использовался:
- HP в своих HP 9000 и HP 3000 [3] рабочие станции и серверы
- NEC в своем сервере TX7/P590
- Stratus Technologies в своих отказоустойчивых серверах Continuum
Описание
[ редактировать ]PA-8000 — это четырехпроцессорный суперскалярный микропроцессор, который выполняет инструкции вне очереди и спекулятивно . [1] [4] Эти функции не были обнаружены в предыдущих реализациях PA-RISC, что сделало PA-8000 первым процессором PA-RISC, нарушившим традицию использования простых микроархитектур и реализации с высокой тактовой частотой для достижения производительности. [5]
Блок получения инструкций
[ редактировать ]PA-8000 имеет четырехступенчатую входную систему. На первых двух этапах четыре инструкции извлекаются из кэша инструкций блоком выборки инструкций (IFU). [5] IFU содержит счетчик программ с четырьмя записями , таблицу истории ветвей (BHT), кэш целевых адресов ветвей (BTAC) и резервный буфер трансляции (TLB). [1] [5] TLB используется для преобразования виртуального адреса в физические адреса для доступа к кэшу инструкций. В случае пропуска TLB трансляция запрашивается из основного TLB. [1]
Прогнозирование ветвей
[ редактировать ]PA-8000 выполняет прогнозирование ветвей, используя статические или динамические методы. [1] Какой метод использовал PA-8000, выбирался битом в каждой записи TLB. Статическое прогнозирование считает большинство обратных ветвей выполненными, а прямые — невыполненными. Статическое предсказание также предсказывало результат ветвей, исследуя подсказки, закодированные компилятором в самих инструкциях. [1] [5]
Динамическое прогнозирование использует записанную историю ветки, чтобы решить, будет она принята или нет. Эта информация хранится в BHT на 256 записей. Каждая запись BHT представляет собой трехбитный сдвиговый регистр . В PA-8000 использовался алгоритм мажоритарного голосования: ветвь выбирается, если установлено большинство из трех битов, и не берется, если они пусты. [1] Неверно предсказанная ветвь приводит к штрафу в пять циклов. [5] BHT обновляется, когда известен результат ветвления. Хотя PA-8000 может выполнять две инструкции ветвления за цикл, записывается только один из результатов, поскольку BHT не является двухпортовым, чтобы упростить его реализацию. [4]
PA-8000 имеет двухцикловый пузырь для правильно предсказанных ветвей, поскольку целевой адрес ветвления должен быть вычислен до его отправки в кэш инструкций. [5] Чтобы уменьшить возникновение этого пузыря, 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 ТБ физической памяти .
Физический
[ редактировать ]PA-8000 имеет 3,8 миллиона транзисторов и имеет размеры 17,68х19,10 мм. [6] для площади 337,69 мм 2 . Он был изготовлен HP по технологии CMOS-14C, что представляет собой сокращение на 10% по сравнению с процессом CMOS-14. [5] Процесс CMOS-14C представлял собой пятиуровневое алюминиевое межсоединение толщиной 0,5 мкм , комплементарный процесс металл-оксид-полупроводник (КМОП). На кристалле имеется 704 контакта для сигналов и 1200 для питания или заземления. Он упакован в 1085-контактную решетчатую из оксида алюминия и керамики решетку (LGA). [7] PA-8000 использует источник питания 3,3 В.
ПА-8200
[ редактировать ]PA -8200 (PCX-U+) под кодовым названием Vulcan был дальнейшим развитием PA-8000. Первые системы, использующие PA-8200, стали доступны в июне 1997 года. PA-8200 работала на частоте от 200 до 240 МГц и в первую очередь конкурировала с Alpha 21164 . Были внесены улучшения в прогнозирование ветвей и TLB. [4] [8] Прогнозирование ветвей было улучшено за счет увеличения количества записей BHT в четыре раза до 1024, что потребовало использования двухбитного алгоритма для соответствия без перепроектирования окружающих схем; и за счет реализации очереди записи, которая позволяла BHT записывать два результата ветвления вместо одного. Количество записей TLB было увеличено до 120 с 96, что уменьшило количество промахов TLB. Тактовая частота также была улучшена за счет незначительной переработки схемы. Матрица PA-8200 по размеру была идентична PA-8000, поскольку в усовершенствованиях использовались пустые области матрицы. Он был изготовлен по технологии CMOS-14C.
ПА-8500
[ редактировать ]PA-8500 (PCX-W) под кодовым названием Barracuda является дальнейшим развитием PA-8200. Его записали на пленку в начале 1998 года и начали использовать в системах в конце 1998 года. Серийные версии работали на частотах от 300 до 440 МГц, но они были разработаны и работают до 500 МГц. [9] Наиболее заметными улучшениями являются более высокие рабочие частоты и встроенная интеграция основного кэша. [10] Более высокие рабочие частоты и интеграция основного кэша на одном кристалле с ядром стали возможны благодаря переходу на техпроцесс 0,25 мкм. Сердечник PA-8500 имел размеры 10,8х11,4 мм (123,12 мм). 2 ) в новом процессе меньше половины площади 0,5 мкм PA-8200. Это сделало доступной область, которую можно было использовать для интеграции кешей.
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 ). [9] Он был изготовлен корпорацией Intel по КМОП-технологии 0,25 мкм с пятью уровнями алюминиевых межсоединений. Он использует источник питания 2,0 В. HP не производила PA-8500 самостоятельно, поскольку они прекратили модернизировать свои фабрики для внедрения более нового процесса, чем CMOS-14C, который использовался для изготовления предыдущих микропроцессоров PA-RISC.
PA-8500 был упакован в меньший массив наземной сетки (LGA) с 544 контактами, поскольку интеграция основных кэшей на кристалле привела к удалению двух 128-битных шин, которые взаимодействовали с внешними кэшами и связанным с ними вводом-выводом. подушечки.
ПА-8600
[ редактировать ]PA-8600 (PCX-W+) под кодовым названием Landshark представляет собой дальнейшее развитие PA-8500, представленного в январе 2000 года. PA-8600 планировалось представить в середине 2000 года. [11] Это была модифицированная версия PA-8500, позволяющая достигать более высоких тактовых частот от 480 до 550 МГц. Микроархитектура была улучшена за счет использования политики квазинаименее недавно использованного (LRU) кэша инструкций. Его изготовила компания Intel.
ПА-8700
[ редактировать ]PA-8700 (PCX-W2) под кодовым названием Piranha является дальнейшим развитием PA-8600. Представленный в августе 2001 года, он работал на частотах от 625 до 750 МГц. Улучшения заключались в реализации предварительной выборки данных, политике замены квази-LRU для кэша данных и увеличении 44-битного физического адресного пространства для адресации 16 ТБ физической памяти. [12] PA-8700 также имеет больший кэш инструкций и данных, емкость которого увеличена на 50% до 0,75 МБ и 1,5 МБ соответственно. PA-8700 был изготовлен IBM Microelectronics. [13] в КМОП-процессе «кремний на изоляторе » (SOI) толщиной 0,18 мкм с семью уровнями медных межсоединений и с низким κ диэлектриком .
ПА-8700+
[ редактировать ]PA-8700+ представлял собой дальнейшее развитие PA-8700, представленного в системах в середине 2002 года. Он работал на частоте 875 МГц. [13]
ПА-8800
[ редактировать ]PA-8800 под кодовым названием Mako является дальнейшим развитием PA-8700. [14] Он был представлен в 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 циклов. Это 4-сторонний набор-ассоциативный файл, физически индексируемый и физически помеченный, размер строки которого составляет 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 ) то. [14] Он был изготовлен IBM по технологии SOI 0,13 мкм с медными межсоединениями и диэлектриком с низким κ . PA-8800 упакован в решетчатую решетку из керамических шариков, установленную на печатной плате (PCB) с четырьмя модулями ESRAM, образующими модуль, аналогичный тем, которые использовались в ранних микропроцессорах Itanium.
ПА-8900
[ редактировать ]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 ГГц.
Примечания
[ редактировать ]- ^ Перейти обратно: а б с д и ж г час я Хант 1995 г.
- ^ «HP объявляет о выпуске PA-8000 для PRO-партнеров» .
- ^ Купер, Кевин (22 июля 2008 г.). «Обновление производительности MPE/iX 7.5 и HP e3000 PA-8700» (PDF) . ХП . Проверено 3 июля 2024 г.
- ^ Перейти обратно: а б с Скотт 1997 г.
- ^ Перейти обратно: а б с д и ж г август 1994 г.
- ^ Гэддис 1996 , с. 1697 г.
- ^ Кумар, «ЦП HP PA-8000 RISC»
- ↑ август 1996 г.
- ^ Перейти обратно: а б Барнс 1999 г.
- ↑ август 1997 г.
- ^ Вермер, «Процессор HP PA-8600 поступит раньше, чем ожидалось».
- ^ Кревелл 2000
- ^ Перейти обратно: а б КомпьютерВайр 2002
- ^ Перейти обратно: а б Джонсон 2001 , с. 1
Ссылки
[ редактировать ]- Барнс, Филипп (26 февраля 1999 г.). «64-битный RISC-процессор 500 МГц с 1,5 Мбайт встроенной кэш-памяти». Материалы Международной конференции по твердотельным схемам .
- ComputerWire (28 июня 2002 г.). «HP готовит двухъядерный процессор PA-8800» . Регистр .
- Гэддис, Н.; Лотц, Дж. (ноябрь 1996 г.). «64-битный четырехъядерный CMOS RISC-микропроцессор». Журнал IEEE твердотельных схем 31 (11): стр. 1697–1702.
- Гвеннап, Линли (14 ноября 1994 г.). «PA-8000 сочетает в себе сложность и скорость». Отчет о микропроцессоре , Том 8, Номер 15.
- Гвеннап, Линли (28 октября 1996 г.). «HP расширяет семейство PA-8x00». Отчет о микропроцессоре , Том 10, Номер 14.
- Гвеннап, Линли (17 ноября 1997 г.). «Производительность кэш-памяти PA-8500 объемом 1,5 МБ». Отчет микропроцессора .
- Компания Hewlett-Packard (2 ноября 1995 г.). HP объявляет о выпуске PA-8000 для партнеров PRO . ( Пресс-релиз )
- Хилл, Дж. Майкл и Лахман, Джонатан (2000). «Кэш-память 900 МГц, 2,25 МБ со встроенным процессором — теперь в SOI/Cu» . 2000 Международная конференция по твердотельным схемам .
- Хант, Д. (1995). «Расширенные возможности производительности 64-битного PA-8000». Материалы КомпКона . стр. 123–128.
- Джонсон, Дэвид Дж. К. (16 октября 2001 г.). «Процессор HP Mako». 2001 Микропроцессорный форум .
- Кревелл, Кевин (22 мая 2000 г.). «HP расширяет PA-RISC с помощью 8700». Отчет микропроцессора .
- Кумар, Ашок (19 августа 1996 г.). «ЦП HP PA-8000 RISC» . Труды Hot Chips VIII .
- Лесартр, Грег; Хант, Дуг (1997). «PA-8500: продолжающаяся эволюция семейства PA-8000». Материалы КомпКона .
- Паунтейн, Дик (июль 1995 г.). «Скорый RISC HP». Байт .
- Скотт, Энн П. и др. (август 1997 г.). «Четырёхпроцессорные суперскалярные процессоры PA-RISC». Журнал Hewlett-Packard .
- Цай, Ли К. (16 февраля 2001 г.). «Процессор PA-RISC с частотой 1 ГГц». Международная конференция по твердотельным схемам .
- Вермер, Сандра (8 марта 1999 г.). «Процессор HP PA-8600 поступит раньше, чем ожидалось». ХОЙСе .
Дальнейшее чтение
[ редактировать ]- Берч, К. (1997). «PA-8000: пример статического и динамического прогнозирования ветвей». Материалы международной конференции по компьютерному дизайну . стр. 97–105.
- Гэддис, Н.Б. и др. (1996). «Буфер переупорядочения инструкций на 56 записей». Сборник технических документов ISSCC . стр. 212–213, 447.
- Хейкес, К.; Колон-Боне, Г. (1996). «Двойной сопроцессор с плавающей запятой с архитектурой FMAC». Сборник технических документов ISSCC . стр. 354–355, 472.
- Кумар, А. (март 1997 г.). «ЦП HP PA-8000 RISC». IEEE микро . стр. 27–32.
- Лотц Дж. и др. (1996). «Вышедший из строя RISC-процессор с четырьмя проблемами». Сборник технических документов ISSCC . стр. 210–211, 446.
- Наффзингер, С. (1996). «Субнаносекундный сумматор 0,5 мкм 64 b». Сборник технических документов ISSCC . стр. 362–363.
- PA-8000 Процессор PA-RISC OpenPA.net
- PA-8200 Процессор PA-RISC OpenPA.net
- PA-8500 Процессор PA-RISC OpenPA.net
- PA-8600 Процессор PA-RISC OpenPA.net
- PA-8700 Процессор PA-RISC OpenPA.net
- PA-8800 Процессор PA-RISC OpenPA.net
- PA-8900 Процессор PA-RISC OpenPA.net