POWER — микропроцессорная архитектура с ограниченным набором команд (RISC), разработанная и развиваемая компанией IBM. Название позже было расшифровано как Performance Optimization With Enhanced RISC (оптимизация производительности на базе расширенной архитектуры RISC). Этим словом также называется серия микропроцессоров, использующая указанный набор команд. Они применяются в качестве центрального процессора во многих микрокомпьютерах, встраиваемых системах, рабочих станциях, мейнфреймах и суперкомпьютерах.
Архитектура POWER прошла в своём развитии несколько поколений. Начиная с POWER3 микропроцессоры поддерживают полный набор команд 64-битной архитектуры PowerPC и не поддерживают старые команды, которые были удалены из архитектуры одновременно с появлением стандарта PowerPC. Также прекращена поддержка расширенных инструкций POWER2, например lfq и stfq.
Для обсуждения любых продуктов, основанных на архитектуре, предназначено сообщество (куда входят, в частности, и разработки PowerPC и Cell). Именно туда рекомендуется обращаться разработчикам и производителям, использующим платформу.
На сайте компании IBM доступны руководства, подробно описывающее различия в наборах команд архитектур POWER, POWER2 и PowerPC, POWER5.http://www-128.ibm.com/developerworks/eserver/library/es-archguide-v2.html PowerPC Architecture Book, Version 2.02
История
Проект 801
В 1974 году IBM начала работу над созданием большой переключающей системы, способной соединять по меньшей мере 300 телефонных звонков в секунду. Расчёты предполагали, что потребуется выполнять по 20 000 инструкций для каждого из соединений, причём без задержек для остальных звонков. Таким образом, требовалась производительность не менее 12 MIPS, что было чрезвычайно много по тем временам. Выручало лишь то обстоятельство, что внутреннее устройство микропроцессора могло быть значительно упрощено, так как ему приходилось бы производить только операции ввода-вывода, ветвления, сложения в регистрах, выгрузки содержимого регистров в память и в другие регистры, и совсем не приходилось бы выполнять сложные вычисления.
Эта простая организация команд, в которой каждая команда выполняет лишь отдельный шаг в большом алгоритме и должна выполняться за чётко фиксированный отрезок времени, позднее получила название RISC.
К 1975 году проект телефонного коммутатора был свёрнут, а до работающего прототипа дело так и не дошло. Тем не менее, за проектными работами вырисовывалась многообещающая архитектура процессора общего назначения, так что они были продолжены в в здании под номером 801. Так проект получил своё новое название.
Исследовательский проект «Гепард», 1982 год Способность выполнять несколько команд одновременно, задействуя множественные структурные блоки, исследовалась в рамках проекта «801» на протяжении двух лет, похожие работы проводились для машин IBM System/360 Model 91 (построена на основе CISC-архитектуры) и CDC 6600. Целью было определить, может ли процессор с уменьшенным набором простых команд выполнять несколько инструкций за тактовый цикл, и какие изменения должны быть для этого внесены в аппаратуру.
Для улучшения производительности разрабатываемый процессор содержал раздельные блоки ветвления, логики и арифметики с плавающей точкой. По сравнению с проектом «801», архитектура была значительно расширена для параллельной обработки команд. Для производства изначально планировалось использовать эмиттерно-связанную логику (ЭСЛ) на биполярных транзисторах, но в 1984 году технология КМОП обеспечивала лучшую плотность элементов и скорость переключения.
Проект «Америка» В 1985 году исследовательский центр Томаса Ватсона начал разработку процессора RISC второго поколения, проект был назван «Америка». В 1986 году отделение IBM в городе Остин приступило к работе над серией RS/6000, которая была наследницей этого проекта.
В 1990 году выпущены первые компьютеры под маркой IBM с процессором архитектуры POWER: «RISC System/6000» (также «RS/6000»). Эта серия была поделена на два класса: рабочие станции и серверы, опирающиеся соответственно на архитектуры POWERstation и POWERserver. Центральный процессор, названный RIOS (позже RIOS I или ) состоял из 11 отдельных микросхем: кэш инструкций, блок арифметико-логических операций, блок вычислений с плавающей точкой, 4 микросхемы кэша данных, устройство управления памятью, 2 блока ввода-вывода, тактовый генератор.
Для маломощных станций RS/6000 был разработан однокорпусный вариант RIOS с названием RSC ( — RISC на одной микросхеме); впервые он увидел свет в 1992 году.
POWER
Спустя 5 лет после начала разработки IBM объявила о начале поставок систем RISC 6000. Это была первая разработка, поддерживаемая операционной системой AIX в новой архитектуре, получившей название POWER. Первая реализация архитектуры содержала однокорпусное решение (на одной микросхеме) для встраиваемых приложений и многокорпусное решение под названием POWER/RIOS.
Amazon Проект Amazon был начат в 1990 году с целью создания архитектуры, способной поддерживать и AIX, и OS/400. Команда разработчиков OS/400 была занята созданием RISC-набора команд для замены CISC-набора, использовавшегося в системах AS/400. Результатом их работы стал набор команд, основанный на IMPI, расширенный до 64 бит и дополненный несколькими RISC-инструкциями для ускорения коммерческих вычислений, столь характерных для AS/400. Руководство компании пыталось настаивать на использовании архитектуры PowerPC, но получило отказ, так как PowerPC был несравним с масштабом AS/400. В конце концов было выработано компромиссное решение в виде расширения набора команд PowerPC, названное Amazon.
В то же время команда системы RS/6000 игнорировала процессоры PowerPC, так как нуждалась в расширенных возможностях стандарта POWER2. Эти возможности также были добавлены в Amazon, и с этих пор набор команд PowerPC стал способен работать в архитектурах RS/6000 и AS/400.
Первым проектом разработки подобного процессора стал Belatrix (название звезды в созвездии Ориона, также называемой Amazon). Этот проект поставил перед собой слишком завышенные цели и был прекращён до своего окончания. Остинская команда (где были разработаны RS/6000) занялась разработкой 64-битного процессора архитектуры PowerPC с расширениями POWER2, то есть POWER3, а рочестерская команда (авторы AS/400), со своей стороны, такого же процессора с высокой вычислительной мощностью, но c расширениями AS/400. Третья команда, в Эндикотте, была задействована для разработки маломощного процессора, аналогичного рочестерскому.
В 1995 году были выпущены следующие процессоры архитектуры AS/400: A25/30 Muskie — многокорпусный мощный и A10 Cobra — однокорпусный.
Рочестерская версия задержалась до 1997 года. Её встраивали как в машины RS/6000 под именем , так и в машины AS/400, как позднее и другие процессоры этой серии.
POWER2
Прошло не менее 5 лет, прежде чем процессору RIOS/POWER1 была создана замена, POWER2. В него добавили второй блок арифметико-логических операций и второй блок вычислений с плавающей точкой. Кроме того, был расширен набор команд: инструкции записи длиной в 4 машинных слова: перемещали два соседних значения двойной точности в два смежных регистра вычислений с плавающей точкой; вычисление квадратного корня на аппаратном уровне; конвертация числа с плавающей точкой в целочисленное значение.
В 1996 году был разработан однокристальный вариант POWER2, P2SC (POWER2 Super Chip — супермикросхема POWER2).
PowerPC
В 1991 году в IBM осознали потенциал процессоров POWER в качестве товара для других производителей компьютерной техники. Предложение было сделано компании Apple, оно включало обоюдное сотрудничество для разработки семейства однокорпусных процессоров. Apple в скором времени подключила к работе компанию Motorola, будучи её крупнейшим клиентом в области микропроцессоров класса настольных систем, что позволило использовать опыт Motorola в производстве больших тиражей и создало дублирующий источник процессоров для Apple. Это трёхстороннее сотрудничество получило название альянса AIM — по первым буквам названий Apple, IBM, Motorola (также слово цель по-английски).
Первым результатом сотрудничества стала разработка (спустя 2 года после начала) архитектуры PowerPC — модифицированной версии POWER. Были добавлены вычисления с плавающей точкой над числами одинарной точности, универсальное умножение и деление регистра на регистр, удалены некоторые другие — в частности, специальный вариант умножения и деления на регистр MQ. Кроме того, была создана 64-битная версия архитектуры.
Первым чипом нового поколения стал , основанный на RSC. Более подробная информация об этом семействе процессоров содержится в статье PowerPC.
POWER3
Процессор POWER3 был представлен в 1998 году. Он поддерживал весь набор 64-битных инструкций POWER, включая все расширенные команды, имевшиеся на тот момент, и содержал два блока вычислений с плавающей точкой, три блока с фиксированной точкой и два блока загрузки/выгрузки.
Все последующие поколения процессоров POWER поддерживали полный набор инструкций, так что не осталось вариантов, поддерживающих только строго POWER или POWER2.
POWER4
Микропроцессор POWER4, первый из серии GIGA, был анонсирован в 1999 году, а выпущен в 2001. Это был 64-битный процессор, поддерживающий полный набор инструкций. Кроме того, он поддерживал расширения AS/400, благодаря чему использовался в системах RS/6000 и AS/400 взамен POWER3 и RS64. Набор команд был пополнен несколькими новыми командами (напр., mfcr), имеющими поле операнда, что дало основание зафиксировать новый стандарт PowerPC 2.00.
POWER5
Поколение POWER5 было представлено в 2004 году. Процессор стал двухъядерным, с поддержкой одновременной многопоточности (одновременного выполнения двух цепочек команд), таким образом работая как 4 логических процессора. Выпускался по техпроцессу 130 нм SOI. С помощью технологии Virtual Vector Architecture (сокр. ViVA, , англ.) несколько процессоров POWER5 могут объединяться в единый векторный процессор. Кроме того, набор инструкций был расширен на несколько команд.
Последующий выпуск POWER5+ ещё расширил набор инструкций, новый набор получил название ISA 2.02.
POWER6
Выпущен 21 мая 2007 года. Привнёс в стандарт POWER инструкции VMX (параллельная обработка данных), обновил до версии 2, таким образом осуществив большой шаг вперёд со времён перехода с POWER3 на POWER4. Двухъядерный дизайн, тактовые частоты до 4,7 ГГц при нормах выпуска 65 нм SOI. Содержит развитую систему взаимодействия с другими такими же процессорами. Потребление энергии на уровне POWER5, тогда как производительность вдвое выше.
POWER7
Выпущен в 2010 году. Выпускается по техпроцессу 45 нм SOI, имеет до 8 ядер на процессор, частота — от 3 до 4,25 ГГц. Теоретическая производительность на ядро — 33,12 GFLOPS и до 264,96 GFLOPS на процессор.
Процессор POWER7 известен тем, что использовался в суперкомпьютере IBM Watson, который участвовал в поединке с человеком в телевизионный викторине Jeopardy! и одержал победу. Суперкомпьютер IBM Watson применяется сегодня в сфере здравоохранения и в финансовом секторе.
В августе 2012 года на Hot Chips 24 была представлена обновлённая версия POWER7+, изготовленная по техпроцессу 32 нм SOI. До 8 ядер на чип, каждое ядро исполняет до 4 потоков.
POWER8
Представлен в 2013 году, изготовлен по 22-нм SOI. 6 или 12 ядер на чип, тактовая частота от 2,5 до 5 ГГц, каждое ядро исполняет одновременно до 8 потоков.
Процессор имеет общий кэш L3 размером 48 МБ (6-ядерные модели) или 96 МБ (12-ядерные модели).
В процессор встроены высокопроизводительные контроллеры памяти (DDR3/DDR4) и системных каналов ввода-вывода (CAPI port на основе PCI Express 3.0, в том числе для подключения ASIC, FPGA, GPU).
Питанием процессора управляет встроенный микроконтроллер на базе PowerPC 405 с 512 килобайтами SRAM-памяти, настраивая 1764 встроенных регулятора напряжения.