Введение
1998 год – семейство микропроцессоров IBM POWER3. POWER3 – это микропроцессор, разработанный и производимый исключительно компанией IBM, который реализовал 64-битную версию архитектуры набора команд PowerPC (ISA), включая все необязательные инструкции ISA (на тот момент), такие как инструкции, присутствующие в версии POWER2 POWER ISA, но отсутствующие в PowerPC ISA. Он был представлен 5 октября 1998 года и дебютировал в RS/6000 43P Model 260 – высокопроизводительной графической рабочей станции. Изначально POWER3 должен был называться PowerPC 630, но был переименован, вероятно, чтобы отделить серверные процессоры POWER, которые он заменил, от более ориентированных на потребителя 32-битных PowerPC. POWER3 являлся преемником P2SC, производного от POWER2, и завершил длительный и затянувшийся переход IBM от POWER к PowerPC, который первоначально планировалось завершить в 1995 году. POWER3 использовался в серверах и рабочих станциях IBM RS/6000 с частотой 200 МГц. Он конкурировал с Digital Equipment Corporation (DEC) Alpha 21264 и Hewlett Packard (HP) PA 8500.
The POWER3 is a microprocessor, designed and exclusively manufactured by IBM, that implemented the 64 bit version of the PowerPC instruction set architecture (ISA), including all of the optional instructions of the ISA (at the time) such as instructions present in the POWER2 version of the POWER ISA but not in the PowerPC ISA. It was introduced on 5 October 1998, debuting in the RS/6000 43P Model 260, a high end graphics workstation. The POWER3 was originally supposed to be called the PowerPC 630 but was renamed, probably to differentiate the server oriented POWER processors it replaced from the more consumer oriented 32 bit PowerPCs. The POWER3 was the successor of the P2SC derivative of the POWER2 and completed IBM's long delayed transition from POWER to PowerPC, which was originally scheduled to conclude in 1995. The POWER3 was used in IBM RS/6000 servers and workstations at 200 MHz. It competed with the Digital Equipment Corporation (DEC) Alpha 21264 and the Hewlett Packard (HP) PA 8500.
Описание
POWER3 был основан на PowerPC 620, более ранней 64-битной реализации PowerPC, которая была выпущена с задержкой, демонстрировала недостаточную производительность и не имела коммерческого успеха. Как и PowerPC 620, POWER3 имеет три блока фиксированной точки, но единственный блок операций с плавающей точкой (FPU) был заменен двумя блоками умножения-сложения с плавающей точкой, а также был добавлен дополнительный блок загрузки/сохранения (в общей сложности два) для повышения производительности операций с плавающей точкой. POWER3 представляет собой суперскалярную конструкцию, выполняющую инструкции вне порядка. Он имеет семиступенчатый целочисленный конвейер, минимальный восьмиступенчатый конвейер загрузки/сохранения и десятиступенчатый конвейер операций с плавающей точкой. Фронтальная часть состоит из двух этапов: выборка и декодирование. На первом этапе восемь инструкций извлекаются из кэша инструкций объемом 32 КБ и помещаются в буфер инструкций на 12 записей. На втором этапе четыре инструкции извлекаются из буфера инструкций, декодируются и отправляются в очереди инструкций. Ограничений на отправку инструкций немного: из двух целочисленных очередей инструкций только одна может принять одну инструкцию, другая может принять до четырех, как и очередь инструкций с плавающей точкой. Если в очередях недостаточно свободных записей, инструкции не могут быть отправлены. Фронтальная часть имеет короткий конвейер, что приводит к небольшой штрафной санкции в три цикла при неправильном предсказании ветвления. На третьем этапе инструкции в очередях инструкций, готовые к выполнению, получают свои операнды из регистровых файлов. Файл регистров общего назначения содержит 48 регистров, из которых 32 являются регистрами общего назначения, а 16 – регистрами переименования для переименования регистров. Для уменьшения количества портов, необходимых для предоставления данных и получения результатов, файл регистров общего назначения дублируется, так что есть две копии, первая поддерживает три целочисленных исполнительных устройства, а вторая поддерживает два устройства загрузки/сохранения. Эта схема была похожа на современный микропроцессор DEC Alpha 21264, но была проще, поскольку не требовала дополнительного тактового цикла для синхронизации двух копий из-за более высокой тактовой частоты POWER3. Файл регистров с плавающей точкой содержит 56 регистров, из которых 32 являются регистрами с плавающей точкой и 24 – регистрами переименования. По сравнению с PowerPC 620 было больше регистров переименования, что позволяло выполнять больше инструкций вне порядка, повышая производительность. Выполнение начинается на четвертом этапе. Очереди инструкций отправляют до восьми инструкций в исполнительные устройства. Целочисленные инструкции выполняются в трех исполнительных устройствах целочисленных операций (называемых IBM "блоками фиксированной точки"). Два блока идентичны и выполняют все целочисленные инструкции, кроме умножения и деления. Все инструкции, выполняемые ими, имеют задержку в один цикл. Третий блок выполняет инструкции умножения и деления. Эти инструкции не конвейерные и имеют многоцикловую задержку. 64-битное умножение имеет задержку в девять циклов, а 64-битное деление – в 37 циклов. Инструкции с плавающей точкой выполняются в двух блоках операций с плавающей точкой (FPU). FPU способны к слиянию умножения и сложения, когда умножение и сложение выполняются одновременно. Такие инструкции, наряду с отдельными сложением и умножением, имеют задержку в четыре цикла. Инструкции деления и извлечения квадратного корня выполняются в одних и тех же FPU, но им помогает специализированное оборудование. Инструкции деления и извлечения квадратного корня одинарной точности (32 бита) имеют задержку в 14 циклов, в то время как инструкции деления и извлечения квадратного корня двойной точности (64 бита) имеют задержку в 18 и 22 цикла соответственно. После завершения выполнения инструкции хранятся в буферах, прежде чем они будут зафиксированы и станут видимыми для программного обеспечения. Выполнение завершается на пятом этапе для целочисленных инструкций и на восьмом этапе для операций с плавающей точкой. Фиксация происходит на шестом этапе для целых чисел и на девятом этапе для операций с плавающей точкой. Запись в память происходит на этапе после фиксации. POWER3 может завершать до четырех инструкций за цикл. Кэш данных PowerPC 620 был оптимизирован для технических и научных приложений. Его емкость была удвоена до 64 КБ для повышения коэффициента попадания в кэш; кэш был двухпортовым, реализованным путем чередования восьми банков, чтобы в некоторых случаях можно было выполнять две загрузки или два сохранения за один цикл; и размер строки был увеличен до 128 байт. Ширина шины L2 кэша была удвоена до 256 бит для компенсации большего размера строки кэша и сохранения задержки в четыре цикла для перезаполнения кэша. POWER3 содержал 15 миллионов транзисторов на кристалле площадью 270 мм². Он был изготовлен по технологии CMOS 6S2 компании IBM, комплементарной металл-оксид-полупроводниковой технологии, которая является гибридом размеров элементов 0,25 мкм и металлических слоев 0,35 мкм. Процесс включает пять слоев алюминия. Он был упакован в ту же керамическую решетку с 1088 выводами, что и P2SC, но с другой распиновкой.
POWER3-II
POWER3 II был улучшенной версией POWER3 с повышенной тактовой частотой до 450 МГц. Он содержал 23 миллиона транзисторов и имел площадь кристалла 170 мм². Он был изготовлен по технологии IBM CMOS7S – 0,22 мкм CMOS-процессу с шестью уровнями металлизации. В 2001 году его сменил POWER4.