PA-8000 - PA-8000
В PA-8000 (PCX-U), кодовое название Оникс, это микропроцессор разработан и изготовлен Hewlett Packard (HP), который реализовал PA-RISC 2.0 архитектура набора команд (ЭТО).[1] Это был полностью новый дизайн, без схем, заимствованных у предыдущих микропроцессоров PA-RISC. PA-8000 был представлен 2 ноября 1995 года, когда начались поставки членам Precision RISC Organization (PRO).[2] Он использовался исключительно членами PRO и не продавался на торговом рынке. Все последующие процессоры PA-8x00 (от PA-8200 до PA-8900, описанные ниже) основаны на базовом процессорном ядре PA-8000.
PA-8000 использовался:
- HP в своем HP 9000 рабочие станции и серверы
- NEC в своем сервере TX7 / P590
- Stratus Computer на своих отказоустойчивых серверах Continuum
Описание
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 записей. Каждый буфер может принимать до четырех инструкций за цикл и может передавать до двух инструкций за цикл своим функциональным блокам.
Исполнение
Все инструкции начинают выполнение на шестом этапе в десяти функциональных блоках. Целочисленные инструкции, кроме умножения, выполняются за два арифметико-логические устройства (ALU) и два блока сдвига / слияния. Все инструкции, выполняемые в этих модулях, имеют задержку в один цикл, и их результаты записываются в регистр назначения на седьмом этапе.
Инструкции с плавающей точкой и инструкции целочисленного умножения выполняются в двух сплавлен умножать – накапливать (FMAC) и две единицы деления / извлечения квадратного корня. Модули FMAC являются конвейерными и имеют задержку в три цикла. Умножение выполняется на шестом этапе, сложение на седьмом этапе, округление на восьмом этапе и обратная запись на девятом этапе. Между этапами умножения и накопления нет округления. Блоки FMAC также выполняют отдельные инструкции умножения и сложения, которые также имеют задержку в три цикла для обоих. одинарная точность и двойная точность варианты. Единицы деления / извлечения квадратного корня не конвейерные и имеют задержку в 17 циклов. Им может быть выдана одна инструкция за такт из-за ограничений порта регистров, но они могут работать параллельно друг с другом и с модулями FMAC.
Инструкции загрузки и сохранения как с целыми числами, так и с плавающей запятой выполняются двумя выделенными сумматорами адресов.
Резервный буфер перевода
В резервный буфер перевода (TLB) содержит 96 записей и является двухпортовым и полностью ассоциативным. Он может преобразовывать два виртуальных адреса за цикл. Этот TLB транслирует адреса как для инструкций, так и для данных. Когда TLB IFU пропускает, этот TLB предоставляет для него перевод. Перевод грузов и магазинов имеет более высокий приоритет, чем перевод инструкций. Каждая запись TLB может быть сопоставлена страница размером от 4 КБ до 16 МБ с шагом четыре.
Кэш данных
PA-8000 имеет кэш данных объемом до 4 МБ. Кэш данных является двухпортовым, поэтому в каждом цикле могут выполняться две операции чтения или записи. Он двухпортовый за счет реализации двух банков кеша, поэтому он не является действительно двухпортовым, потому что, если два чтения или записи ссылаются на один и тот же банк, возникает конфликт и может быть выполнена только одна операция. Доступ к нему осуществляется по двум 64-битным шинам, по одной для каждого банка. Теги кеша внешние. Есть две копии тегов кеша, чтобы обеспечить независимый доступ в каждом банке. Кэш данных имеет прямое отображение по тем же причинам, что и кэш инструкций. Он построен из SSRAM.
Автобус на взлетно-посадочной полосе
Внешний интерфейс - это Автобус на взлетно-посадочной полосе, 64-битная шина мультиплексирования адреса и данных. PA-8000 использует 40-битный Физический адрес, таким образом, он может адресовать 1 ТБ физическая память.
Физический
PA-8000 имеет 3,8 миллиона транзисторов и имеет размеры 17,68 мм на 19,10 мм,[5] для площади 337,69 мм2. Он был изготовлен HP в их процессе CMOS-14C, 10% -ное сжатие затвора процесса CMOS-14.[4] CMOS-14C представлял собой пятиуровневую пленку размером 0,5 мкм. алюминиевый соединитель, комплементарный металл – оксид – полупроводник (CMOS) процесс. Кристалл имеет 704 припоя для сигналов и 1200 для питания или земли. Он упакован в блокнот из 1085 штук. перевернуть чип глиноземная керамика наземная сетка (LGA).[6] PA-8000 использует источник питания 3,3 В.
PA-8200
В PA-8200 (PCX-U +), кодовое название Вулкан, был дальнейшим развитием ПА-8000. Первые системы, использующие PA-8200, стали доступны в июне 1997 года. PA-8200 работал на частотах от 200 до 240 МГц и в первую очередь конкурировал с Альфа 21164. Внесены улучшения в предсказание ветвлений и TLB.[3][7] Прогнозирование ветвлений было улучшено за счет четырехкратного увеличения числа записей BHT до 1024, что потребовало использования двухбитового алгоритма, чтобы соответствовать без перепроектирования окружающих схем; и реализуя очередь записи, которая позволяет BHT записывать два результата ветвления вместо одного. Количество записей TLB было увеличено до 120 с 96, что уменьшило количество пропусков TLB. Тактовая частота также была улучшена за счет незначительной модернизации схемы. Кристалл PA-8200 был идентичен по размеру с PA-8000, поскольку в усовершенствованиях использовались пустые области матрицы. Он был изготовлен по технологии CMOS-14C.
PA-8500
PA-8500 (PCX-W) под кодовым названием Барракуда, является дальнейшим развитием PA-8200. Он был записан на пленку в начале 1998 года и был введен в систему в конце 1998 года. Серийные версии работали на частотах от 300 до 440 МГц, но они были разработаны и работали на частотах до 500 МГц.[8] Наиболее заметными улучшениями являются более высокие рабочие частоты и интеграция первичных кэшей на кристалле.[9] Более высокие рабочие частоты и интеграция первичных кэшей на том же кристалле, что и ядро, стали возможными благодаря переходу на техпроцесс 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 использует новую версию Автобус на взлетно-посадочной полосе. Новая версия работает на частоте 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 был упакован в меньшую 544-контактную площадку. наземная сетка (LGA), поскольку интеграция первичных кэшей на кристалле привела к удалению двух 128-битных шин, которые обменивались данными с внешними кэшами и связанными с ними площадками ввода-вывода.
PA-8600
PA-8600 (PCX-W +) под кодовым названием Земная акула, является дальнейшим развитием PA-8500, представленного в январе 2000 г. PA-8600 планировалось представить в середине 2000 г.[10] Это была модифицированная версия PA-8500, позволяющая достигать более высоких тактовых частот от 480 до 550 МГц. Он улучшил микроархитектуру за счет использования квази-наименее недавно использованный (LRU) политика вытеснения для кэша инструкций. Его сфабриковала Intel.
PA-8700
PA-8700 (PCX-W2), кодовое название Пиранья, является дальнейшим развитием PA-8600. Представленный в августе 2001 года, он работал на частотах от 625 до 750 МГц. Улучшения заключались в реализации предварительной выборки данных, политики замены квази-LRU для кэша данных и увеличения 44-битного физического адресного пространства для адресации 16 ТБ физической памяти.[11] PA-8700 также имеет большие кеши инструкций и данных, емкость которых увеличена на 50% до 0,75 и 1,5 МБ соответственно. PA-8700 был изготовлен IBM Microelectronics[12] в 0,18 мкм кремний на изоляторе (SOI) CMOS-процесс с семью уровнями медное соединение и низкий-κ диэлектрик.
PA-8700 +
PA-8700 + был дальнейшим развитием PA-8700, представленного в системах в середине 2002 года. Он работал на частоте 875 МГц.[12]
PA-8800
PA-8800 с кодовым названием Мако, является дальнейшим развитием 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 циклов. Это 4-полосный ассоциативный набор, физически индексированный и физически помеченный размером строки 128 байтов. Установленная ассоциативность была выбрана для уменьшения количества контактов ввода / вывода. Кэш L2 реализован с использованием четырех микросхем Enhanced SRAM (ESRAM) на 72 Мбит (9 МБ), которые, несмотря на свое название, являются реализацией 1T-SRAM – динамическая память с произвольным доступом (DRAM) с интерфейсом, подобным SRAM. Доступ к этому кэшу каждым ядром регулируется встроенным контроллером, и 1 МБ тегов вторичного кэша также находится на кристалле как SRAM и защищен ECC. PA-8800 использовал тот же передняя сторона автобус как Маккинли 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.
PA-8900
PA-8900, кодовое название Короткоплавник, был производным от 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 ГГц.
Примечания
- ^ а б c d е ж грамм час я Охота 1995
- ^ «HP объявляет о выпуске PA-8000 для PRO-партнеров».
- ^ а б c Скотт 1997
- ^ а б c d е ж грамм Гвеннап 1994
- ^ Гэддис 1996, п. 1697
- ^ Кумар, "Процессор HP PA-8000 RISC"
- ^ Гвеннап 1996
- ^ а б Барнс 1999
- ^ Гвеннап 1997
- ^ Вермер: «Процессор HP PA-8600 будет отправлен раньше, чем ожидалось».
- ^ Krewell 2000
- ^ а б ComputerWire 2002
- ^ а б Джонсон 2001, п. 1
Рекомендации
- Барнс, Филлип (26 февраля 1999 г.). «64-битный RISC-процессор с частотой 500 МГц и 1,5 МБ кэш-памяти». Труды Международной конференции по твердотельным схемам.
- ComputerWire (28 июня 2002 г.). "HP готовит двухъядерный процессор PA-8800". Реестр.
- Gaddis, N .; Лотц, Дж. (Ноябрь 1996 г.). "Четырехъядерный CMOS RISC микропроцессор 64-бит". Журнал IEEE по твердотельным схемам 31 (11): стр. 1697–1702.
- Гвеннап, Линли (14 ноября 1994 г.). «ПА-8000 сочетает в себе сложность и скорость». Отчет микропроцессора, Том 8, номер 15.
- Гвеннап, Линли (28 октября 1996 г.). «Семейство HP Pumps Up PA-8x00». Отчет микропроцессора, Том 10, номер 14.
- Гвеннап, Линли (17 ноября 1997 г.). "1,5 МБ кэш-памяти PA-8500 способствует повышению производительности". Отчет микропроцессора.
- Компания Hewlett-Packard (2 ноября 1995 г.). HP объявляет о выпуске PA-8000 для PRO-партнеров. (Пресс-релиз )
- Хилл, Дж. Майкл и Лахман, Джонатан (2000). "Кэш-память 900 МГц, 2,25 МБ и встроенный процессор - теперь в SOI / Cu". 2000 Международная конференция по твердотельным схемам.
- Хант, Д. (1995). «Расширенные возможности производительности 64-битного PA-8000». Материалы CompCon. С. 123–128.
- Джонсон, Дэвид Дж. К. (16 октября 2001 г.). "Процессор Мако HP". 2001 Форум микропроцессоров.
- Крюэлл, Кевин (22 мая 2000 г.). «HP расширяет PA-RISC с помощью 8700». Отчет микропроцессора.
- Кумар, Ашок (19 августа 1996 г.). "Процессор HP PA-8000 RISC". Труды Hot Chips VIII.
- Лесартр, Грег; Хант, Дуг (1997). «PA-8500: Продолжающаяся эволюция семейства PA-8000». Материалы CompCon.
- Понтан, Дик (июль 1995 г.). «Быстрый RISC HP». Байт.
- Скотт, Энн П. и др. (Август 1997 г.). "Четырехпроцессорные суперскалярные процессоры PA-RISC". Журнал Hewlett-Packard.
- Цай, Ли К. (16 февраля 2001 г.). «Процессор PA-RISC с тактовой частотой 1 ГГц». Международная конференция по твердотельным схемам.
- Вермер, Сандра (8 марта 1999 г.). «Процессор HP PA-8600 будет отправлен раньше, чем ожидалось». HOISe.
дальнейшее чтение
- Берч, К. (1997). «PA-8000: пример статического и динамического прогнозирования ветвлений». Труды Международной конференции по компьютерному дизайну. С. 97–105.
- Гаддис, Н. и другие. (1996). «Буфер переупорядочения команд с 56 записями». Дайджест технических документов ISSCC. С. 212–213, 447.
- Heikes, C .; Колон-Боне, Г. (1996). «Двойной сопроцессор с плавающей запятой с архитектурой FMAC». Дайджест технических документов ISSCC. С. 354–355, 472.
- Кумар, А. (март 1997 г.). «RISC-процессор HP PA-8000». IEEE Micro. С. 27–32.
- Lotz, J. et al. (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