stringtranslate.com

МОЩНОСТЬ1

POWER1 — многочиповый ЦП , разработанный и изготовленный IBM , который реализовал архитектуру набора инструкций POWER (ISA). Первоначально он был известен как ЦП RISC System/6000 или, в сокращенной форме, ЦП RS/6000 , до появления преемников потребовалось заменить оригинальное название на то, которое использовало ту же схему именования (POWER n ), что и его преемники, чтобы отличать его от более новых разработок.

История

POWER1 был представлен в 1990 году с появлением серверов IBM RS/6000 POWERserver и рабочих станций POWERstation , в которых POWER1 работал на частоте 20, 25 или 30 МГц . POWER1 получил два обновления: одно в 1991 году с появлением POWER1+ и одно в 1992 году с появлением POWER1++. Эти обновленные версии работали на более высокой частоте, чем оригинальный POWER1, что стало возможным благодаря улучшенным полупроводниковым процессам . POWER1+ работал на немного более высокой частоте, чем оригинальный POWER1, на частотах 25, 33 и 41 МГц, в то время как POWER1++ вывел микроархитектуру на самые высокие частоты — 25, 33, 41,6, 45, 50 и 62,5 МГц. В сентябре 1993 года на смену POWER1 и его модификациям пришла POWER2 (кратко известная как «RIOS2»), представляющая собой эволюцию микроархитектуры POWER1.

Прямыми производными POWER1 являются RISC Single Chip (RSC), однокристальный вариант с уменьшенными функциями для систем RS/6000 начального уровня, и RAD6000 , радиационно-устойчивый вариант RSC для космических приложений. Косвенным производным POWER1 является PowerPC 601 , вариант RSC с уменьшенными функциями, предназначенный для потребительских приложений.

POWER1 примечателен тем, что он представлял собой ряд новшеств для IBM и вычислений в целом. Это был первый RISC- процессор IBM, предназначенный для высокопроизводительных приложений ( ROMP считался коммерческим провалом и не использовался в высокопроизводительных рабочих станциях), он был первым, кто реализовал новую архитектуру набора инструкций POWER, и это был первый успешный RISC-процессор IBM. Что касается вычислительных новшеств, POWER1 будет известен как первый ЦП, реализовавший некоторую форму переименования регистров и внеочередного выполнения , метод, который повышает производительность суперскалярных процессоров, но ранее был зарезервирован для мэйнфреймов .

POWER1 также послужил источником весьма успешных семейств процессоров POWER , PowerPC и Power ISA , которые последовали за ним и насчитывали сотни различных реализаций.

Компилятор GCC с открытым исходным кодом удалил поддержку POWER1 (RIOS) и POWER2 (RIOS2) в версии 4.5. [1]

Микроархитектура

POWER1 — это 32-битный двухканальный суперскалярный ЦП. Он содержит три основных исполнительных блока: блок с фиксированной точкой (FXU), блок ветвления (BPU) и блок с плавающей точкой (FPU). Хотя POWER1 — это 32-битный ЦП с 32-битным физическим адресом , его виртуальный адрес имеет длину 52 бита. Большее виртуальное адресное пространство было выбрано, поскольку оно было выгодно для производительности приложений, позволяя каждому из них иметь большой диапазон адресов в 4 ГБ .

POWER1 — это процессор с обратным порядком байтов , который использует иерархию кэша в стиле Гарварда с отдельными кэшами инструкций и данных. Кэш инструкций, называемый IBM «I-cache», имеет размер 8 КБ и является двухсторонним наборно-ассоциативным с размером строки 64 байта. I-cache расположен на чипе ICU. Кэш данных, называемый IBM «D-cache», имеет размер 32 КБ для конфигураций RIOS.9 и 64 КБ для конфигураций RIOS-1. D-cache является четырехсторонним наборно-ассоциативным с размером строки 128 байт. D-cache использует схему хранения с обратным сохранением, при которой данные, которые должны быть сохранены, записываются в кэш вместо памяти, чтобы сократить количество операций записи, предназначенных для памяти. Схема хранения с обратным сохранением используется для предотвращения монополизации доступа к памяти со стороны ЦП.

Хотя POWER1 был высокопроизводительным проектом, он не был способен на многопроцессорность , и, как таковой, был в невыгодном положении, поскольку единственным способом повышения производительности было повышение тактовой частоты ЦП, что было трудно сделать с такой большой многокристальной конструкцией. IBM использовала кластеризацию, чтобы преодолеть этот недостаток в системах POWER1, позволяя им эффективно функционировать так, как если бы они были многопроцессорными системами, концепция, доказанная популярностью суперкомпьютеров SP1, основанных на POWER1. Поскольку POWER1 был основой микропроцессоров POWER2 и P2SC , отсутствие многопроцессорности было передано этим более поздним процессорам POWER. Многопроцессорность не поддерживалась до появления POWER3 в 1998 году.

Физическое описание

Процессор POWER от настольной рабочей станции начального уровня RS/6000 32H
Комплекс микросхем процессора РИОС-1  (Каждая линия представляет собой 32-битную шину.)
Комплекс микросхемы процессора RIOS.9  (Каждая линия представляет собой 32-битную шину.)

POWER1 — это многочиповый ЦП, построенный из отдельных чипов, которые соединены друг с другом шинами. POWER1 состоит из блока кэширования инструкций (ICU), блока с фиксированной точкой (FXU), блока с плавающей точкой (FPU), нескольких блоков кэширования данных (DCU), блока управления хранением (SCU) и блока ввода-вывода . Благодаря своей модульной конструкции IBM смогла создать две конфигурации, просто варьируя количество DCU, RIOS-1 и RIOS.9 . Конфигурация RIOS-1 имеет четыре DCU, предполагаемое количество, и тактируется на частоте до 40 МГц, тогда как ЦП RIOS.9 имеет два DCU и тактируется на более низких частотах.

Чипы монтируются на «CPU planar», печатной плате (PCB), с использованием технологии сквозных отверстий. Из-за большого количества чипов с широкими шинами , PCB имеет восемь плоскостей для прокладки проводов, четыре для питания и заземления и четыре для сигналов. На каждой стороне платы есть две сигнальные плоскости, в то время как четыре плоскости питания и заземления находятся в центре.

Чипы, из которых состоит POWER1, производятся по 1,0 мкм КМОП- технологии с тремя слоями межсоединений. Чипы упакованы в керамические корпуса CPGA (pin grid array ), которые могут иметь до 300 контактов и рассеивать максимум 4 Вт тепла каждый. Общее количество транзисторов , представленных в POWER1, при условии, что это конфигурация RIOS-1, составляет 6,9 миллиона, из которых 2,04 миллиона используются для логики и 4,86 ​​миллиона используются для памяти. Общая площадь кристалла всех чипов составляет 1284 мм2 . Общее количество сигнальных контактов составляет 1464.

Чипсы

Блок кэширования инструкций (ICU)

ICU содержит кэш инструкций, называемый IBM «I-cache», и блок обработки ветвей (BPU). BPU содержит счетчик программ , регистр кода состояния и регистр цикла. ICU содержит 0,75 миллиона транзисторов, из которых 0,2 миллиона используются для логики и 0,55 миллиона используются для SRAM . Кристалл ICU имеет размеры приблизительно 160 мм 2 (12,7 × 12,7 мм).

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

Регистр кода условия имеет восемь наборов полей, первые два из которых зарезервированы для инструкций с фиксированной и плавающей точкой, а седьмое — для векторных инструкций . Остальные поля могут использоваться другими инструкциями. Регистр цикла — это счетчик для циклов «декремент и переход на ноль» без штрафа за переход, функция, аналогичная тем, что встречаются в некоторых DSP, таких как TMS320C30.

Блок с фиксированной точкой (FXU)

FXU отвечает за декодирование и выполнение всех инструкций с фиксированной точкой и инструкций загрузки и сохранения с плавающей точкой. Для выполнения FXU содержит файл регистров с фиксированной точкой POWER1, арифметико-логическое устройство (ALU) для общих инструкций и выделенный блок умножения и деления с фиксированной точкой. Он также содержит буферы инструкций, которые получают инструкции с фиксированной и плавающей точкой от ICU, передавая инструкции с плавающей точкой в ​​FPU, и 128-входовой двухканальный ассоциативный набор D- TLB для трансляции адресов. FXU содержит приблизительно 0,5 миллиона транзисторов, из которых 0,25 миллиона используются для логики и 0,25 миллиона используются для памяти, на кристалле размером приблизительно 160 мм 2 .

Модуль с плавающей точкой (FPU)

Плавающий блок POWER1 выполняет инструкции с плавающей точкой, выдаваемые ICU. FPU конвейерный и может выполнять инструкции одинарной точности (32 бита) и двойной точности (64 бита). Он способен выполнять инструкции умножения-сложения , что способствовало высокой производительности POWER1 с плавающей точкой. В большинстве процессоров умножение и сложение, которые распространены в техническом и научном коде с плавающей точкой, не могут быть выполнены за один цикл, как в POWER1. Использование объединенного умножения-сложения также означает, что данные округляются только один раз, что немного повышает точность результата.

Файл регистров с плавающей точкой также находится на чипе FPU. Он содержит 32 64-битных регистра с плавающей точкой, шесть регистров переименования и два регистра, которые используются инструкциями деления.

Блок кэширования данных (DCU)

POWER1 имеет кэш данных объемом 64 КБ , реализованный через четыре идентичных блока кэша данных (DCU), каждый из которых содержит 16 КБ кэша данных. Кэш и шины, которые соединяют DCU с другими чипами, защищены ECC. DCU также обеспечивают интерфейс к памяти. Если присутствуют два DCU (конфигурация RIOS.9), шина памяти имеет ширину 64 бита, а если присутствуют четыре DCU (конфигурация RIOS-1), шина памяти имеет ширину 128 бит. Часть интерфейса памяти DCU обеспечивает три функции, которые повышают надежность и доступность памяти: очистка памяти , ECC и управление битами. Каждый DCU содержит приблизительно 1,125 миллиона транзисторов, из которых 0,175 миллиона используются для логики и 0,95 миллиона используются для SRAM, на кристалле размером приблизительно 130 мм² (11,3 × 11,3 мм).

Блок управления хранением (SCU)

POWER1 управляется чипом SCU. Все коммуникации между чипами ICU, FXU и DCU, а также памятью и устройствами ввода-вывода контролируются SCU. Хотя DCU предоставляют средства для выполнения очистки памяти, именно SCU управляет этим процессом. SCU содержит приблизительно 0,23 миллиона транзисторов, все они для логики, на кристалле размером приблизительно 130 мм 2 .

Блок ввода-вывода

Интерфейсы ввода-вывода POWER1 реализованы блоком ввода-вывода, который содержит контроллер канала ввода-вывода (IOCC) и два адаптера последовательной связи (SLA). IOCC реализует интерфейс Micro Channel и управляет транзакциями ввода-вывода и DMA между адаптерами Micro Channel и системной памятью. Каждый из двух SLA реализует последовательную оптоволоконную связь, которая предназначена для соединения систем RS/6000. Оптические связи не поддерживались на момент выпуска RS/6000. Блок ввода-вывода содержит приблизительно 0,5 миллиона транзисторов, из которых 0,3 миллиона используются для логики и 0,2 миллиона используются для памяти, на кристалле размером приблизительно 160 мм 2 .

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

Ссылки

  1. ^ "GCC 4.5 Release Series — Изменения, новые функции и исправления — Проект GNU — Фонд свободного программного обеспечения (FSF)". gcc.gnu.org .

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