В настоящее время MIPS Technologies — уже не дочерняя компания Silicon Graphics. После катастрофического падения объемов продаж рабочих станций и серверов на архитектуре MIPS в конце 1990-х гг. Silicon Graphics пришлось обратить внимание на более производительные и перспективные архитектуры. Silicon Graphics предлагает спектр серверных решений на основе архитектуры Itanium (модельный ряд Altix), а выпуск продукции архитектуры MIPS постепенно сворачивается. В 1998-2000 гг. MIPS Technologies получила свободу действий, а на сегодня ее источником дохода являются лицензионные отчисления от все еще выпускаемых ЦП архитектуры MIPS (преимущественно 32-бит встраиваемых), а также прибыль от контрактных проектировочных работ. Сегодня ЦП архитектуры MIPS можно встретить в самых неожиданных местах: от серверов и рабочих станций до сетевых маршрутизаторов (преимущественно компании Cisco Systems) и игровых приставок.
IBM POWER
История архитектуры POWER (Performance Optimisation With Enhanced RISC, оптимизация производительности с расширенным RISC) началась в 1970-х гг., когда Джон Кок (John Соске) из Исследовательского центра Томаса Дж. Ватсона возглавил работу над проектом по разработке самого первого RISC ЦП (хотя собственно термины RISC и CISC происходят из Университета Беркли). Изначально специалисты просто изучали работу мэйнфреймов IBM типа System/370 с целью их оптимизации. Но в ходе исследований появилась идея о создании ЦП с компактным ядром, способным работать на высоких тактовых частотах. Были начаты работы в этом направлении, и в 1977 г. появился IBM 801. Этот ЦП применялся во многих типах компьютерной техники IBM как универсальный вспомогательный контроллер, а после основательной доработки дал начало новой архитектуре.
В 1990 г. IBM начала поставки рабочих станций семейства RS/6000 (RISC System/6000), в основе которых 32-бит ЦП POWER1 с тактовой частотой от 20 до 30 МГц. Этот суперскалярный ЦП состоял из трех микросхем: процессора целочисленной логики с 8-Кбайт I-cache, математического сопроцессора и блока предсказания условных переходов (в сумме около 0,8 млн. транзисторов). Был предусмотрен внешний D-cache объемом 32 или 64 Кбайт. Набор команд этого ЦП содержал свыше 100 инструкций, что было довольно много для представителя подхода RISC, поэтому иногда архитектуру POWER считают чем-то средним между «настоящими» RISC и «классическими» CISC.
Этот ЦП дал начало семейству PowerPC, разрабатываемому альянсом IBM, Motorola и Apple Computer. ЦП этого семейства применялись во многих персональных компьютерах, рабочих станциях (Apple Power Macintosh или PowerMac) и даже в некоторых серверах. Далее речь пойдет о разработках IBM для ее собственных нужд, т. е. ЦП семейства POWER, хотя родственность архитектур POWER и PowerPC сохраняется до сих пор.
В 1993 г. был выпущен POWER2. Примечательно, что рабочие станции и серверы на его основе продавались вплоть до 1998 г. Это лишний раз свидетельствует о том, что инженеры IRM создали удачную и сбалансированную архитектуру. POWER2 содержал два целочисленных конвейера, два вещественных и два для обработки условных и безусловных переходов. Физически POWER2 состоял из восьми микросхем в одном общем корпусе):
ICU (Instruction Cache Unit) — I-cache, I-box илогикаобработкипереходов,
FXU (FiXed-Point Unit) — E-box,
FPU (Floating-Point Unit) — F-box,
четыре DCUs (Data Cache Units) — D-cache, а также контроллер линий данных шины памяти,
SCU (Storage Control Unit) — контроллер управляющих и адресных линий шины памяти, а также периферийной шины.
Связь между ICU, FXU и SCU обеспечивала скоростная внутрипроцессорная шина, ширина канала данных шины памяти составляла 256 бит (если точнее, то по 64 бита данных и 8 бит для ЕСС на каждый DCU). Контроллер оперативной памяти был интегрирован в ЦП. Ширина связующего канала между четырьмя DCU и I-box составляла 128 бит, Е-box — 64 бита, F-box — 256 бит. I-box, E-box и F-box содержали по два конвейера. Объем I-cache с двухканальной ассоциативностью составлял 32 Кбайт, а трехпортового D-cache с четырех-канальной ассоциативностью и обратной записью — 256 Кбайт (по 64 Кбайт в каждом DCU). D-cache позволял одновременно выполнять до двух операций со стороны ФУ (чтение или запись) и одну операцию со стороны оперативной памяти. DCU работали на утроенной частоте ЦП. ICU производил выборку восьми команд за такт из I-cache и размещал их в очереди FXU и FPU (емкостью по восемь команд каждая), кроме тех команд, которые обрабатывал сам. FXU содержал два синхронизирующихся файла целочисленных регистров, по одному на каждый конвейер, с четырьмя портами чтения и четырьмя портами записи у каждого. Файлы состояли из 32 регистров по 32 бит. Целочисленные конвейеры были неоднородны — только один из них мог выполнять команды умножения и деления, но оба выполняли функции адресных.
Блок TLB команд с двухканальной ассоциативностью содержал 128 записей, a TLB данных — 512 (ассоциативность также двухканальная). FPU поддерживал технику переименования регистров, а поэтому в его файле их было предусмотрено 54 (вместо 32, согласно спецификации на архитектуру) 64-бит регистра. Связь с периферийными устройствами обеспечивал блок SCU, для этого использовалась 10-МГц шина MCA (Micro-Channel Architecture). В итоге изготавливаемый по 720-нм проектным нормам ЦП состоял из 23,04 млн. транзисторов и имел суммарную площадь 1217 мм2. Первые модификации работали на тактовой частоте от 55 до 71 МГц. Количество контактов на корпусе ЦП побило все существующие рекорды — 3181.
В 1996 г. инженеры IBM модифицировали POWER2. Так как к тому времени был доступен пятислойный 290-им техпроцесс, гораздо более совершенный по сравнению с четырехслойным 450-нм, использовавшимся поначалу, то появилась возможность реализовать все блоки в одной микросхеме — это позволяло увеличить максимальную тактовую частоту. Этот ЦП получил наименование P2SC (POWER2 Single Chip). Из изменений в функциональной части можно отметить вдвое уменьшенные размеры D-cache и TLB данных (очевидно, вынужденный шаг, ведь возможности нового техпроцесса были отнюдь не безграничны). Так как ЦП был выпущен на рынок с тактовой частотой 135 МГц, то частоту шины памяти пришлось зафиксировать на 1/2 частоты ЦП. Количество транзисторов составило 15 млн., из них 9,3 млн. приходилось на I-cache и D-cache. Площадь ядра 335 мм2, т. е. значительно меньше, чем оригинального POWER2, а количество контактов сократилось до 1088. P2SC использовался при постройке суперкомпьютера IBM SP2, содержащего до 512 ЦП и до 1 Тбайт оперативной памяти.
Так как ядро POWER2 не смогло достичь тактовой частоты выше 160 МГц, то при разработке POWER3 за основу было взято ядро массового PowerPC 620. Существенных изменений в него не вносилось, так как производительность PowerPC 620 была достаточно высокой. В ядро добавили по одному вещественному и адресному конвейеру, увеличили количество регистров переименования и очередей команд. ЦП мог работать с обоими наборами команд — PowerPC и POWER, a целочисленная и адресная логика была расширена до 64-бит. Кроме того, как и PowerPC 620, этот ЦП допускал внеочередное выполнение команд.
ЦП располагал восемью конвейерами: тремя целочисленными (двумя простыми и одним комплексным), двумя вещественными, двумя адресными и одним для логики переходов. Было предусмотрено два синхронизируемых файла целочисленных регистров (по 48 записей), а также файл вещественных регистров на 56 записей. Объем I-cache со 128-канальной ассоциативностью составлял 32 Кбайт, a D-cache со 128-канальной ассоциативностью и обратной записью — 64 Кбайт. TLB команд и данных хранили по 128 записей, также присутствовала таблица истории переходов на 2048 записей и кэш адресов переходов на 256 записей. B-cache, работающий на тактовой частоте 200 МГц, подключался через выделенный 256-бит канал данных. Ширина системной шины составила 128 бит, а тактовая частота — 100 МГц. ЦП изготавливался по гибридному технологическому процессу с 250-нм транзисторами и 350-нм слоями металлизации и содержал 15 млн. транзисторов (площадь составляла 270 мм2). Первые ЦП работали на частоте 200 МГц, но с переходом на 180-нм техпроцесс SO1 с медными проводниками она была существенно повышена.
Первые новости о POWER4 разошлись по миру с Microprocessor Forum, который проходил в октябре 1999 г. Вслед за объявлением о, скором выходе Merced, сделанным Intel, компания IBM намекнула о явном нежелании переходить на архитектуру VLIW в обозримом будущем и анонсировала свой двухъядерный POWER4. По сути, этот ЦП представлял собой два модифицированных ядра POWER3, универсальный коммутатор, 1,44 Мбайт восьмиканального многопортового S-cache с обратной записью и вспомогательные устройства, собранные на одной кремниевой подложке. Объем I-cache с двухканальной ассоциативностью составил 64 Кбайт, а
D-cache с четырехканальной ассоциативностью и обратной записью — 32 Кбайт. D-cache был трехпортовым и позволял выполнить одновременно две операции чтения и одну — записи. Объем B-cache с восьмиканальной ассоциативностью и обратной записью мог достигать 32 Мбайт, а его теги хранились непосредственно на подложке ЦП (для гораздо более быстрого доступа). По четыре таких ЦП объединялись в один процессорный модуль. Оба ядра разделяли между собой целую серию шин:
две 128-бит однонаправленные к B-cache и далее к оперативной памяти (работавшие на l/3 тактовой частоты ЦП),
шесть 128-бит однонаправленных для связи с двумя соседними ЦП в пределах своего процессорного модуля (работавшие на 1/2 тактовой частоты ЦП),
две 64-бит однонаправленные для связи с ЦП в соседних модулях,
две 32-бит однонаправленные для связи с периферийными контроллерами.
В пределах модуля процессоры соединялись между собой по кольцевой топологии, причем размещались на пластине модуля под углом в 90° друг к другу.
Таким образом, в одном процессорном модуле содержалось четыре ЦП (восемь ядер), а также четыре микросхемы B-cache. Непосредственно могло быть связано четыре процессорных модуля, вместе составлявших основу системы с 16 двухъядерными ЦП. Выпущенный в 2001 г. ЦП изготавливался по 180-нм технологии SOI с медными проводниками, состоял из 174 млн. транзисторов и работал на тактовой частоте в 1 ГГц, а позже были представлены и более скоростные версии. Энергопотребление одного процессорного модуля превышало 1 кВт. Впоследствии был выпущен POWER4+ — модификация процессора, изготовленная по 130-нм проектным нормам SOI (восьмислойный), содержавшая уже 184 млн. транзисторов при площади ядра ЦП в 267 мм2 и работавшая на тактовой частоте до 1,9 ГГц.