POWER

POWER — микропроцессорная архитектура с ограниченным набором команд (RISC), разработанная и развиваемая компанией IBM. Название позже было расшифровано как Performance Optimization With Enhanced RISC (оптимизация производительности на базе расширенной архитектуры RISC). Этим словом также называется серия микропроцессоров, использующая указанный набор команд. Они применяются в качестве центрального процессора во многих микрокомпьютерах, встраиваемых системах, рабочих станциях, мейнфреймах и суперкомпьютерах.

Архитектура POWER прошла в своём развитии несколько поколений. Начиная с POWER3 микропроцессоры поддерживают полный набор команд 64-битной архитектуры PowerPC и не поддерживают старые команды, которые были удалены из архитектуры одновременно с появлением стандарта PowerPC. Также прекращена поддержка расширенных инструкций POWER2, например lfq и stfq.

Для обсуждения любых продуктов, основанных на архитектуре, предназначено сообщество Power.org[англ.] (куда входят, в частности, и разработки PowerPC и Cell). Именно туда рекомендуется обращаться разработчикам и производителям, использующим платформу.

На сайте компании IBM доступны руководства, подробно описывающее различия в наборах команд архитектур POWER, POWER2 и PowerPC, POWER5.[1]

История

Проект 801

В 1974 году IBM начала работу над созданием большой переключающей системы, способной соединять по меньшей мере 300 телефонных звонков в секунду. Расчёты предполагали, что потребуется выполнять по 20 000 инструкций для каждого из соединений, причём без задержек для остальных звонков. Таким образом, требовалась производительность не менее 12 MIPS[источник не указан 1870 дней], что было чрезвычайно много по тем временам. Выручало лишь то обстоятельство, что внутреннее устройство микропроцессора могло быть значительно упрощено, так как ему приходилось бы производить только операции ввода-вывода, ветвления, сложения в регистрах, выгрузки содержимого регистров в память и в другие регистры, и совсем не приходилось бы выполнять сложные вычисления.

Эта простая организация команд, в которой каждая команда выполняет лишь отдельный шаг в большом алгоритме и должна выполняться за чётко фиксированный отрезок времени, позднее получила название 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 или POWER1[англ.]) состоял из 11 отдельных микросхем: кэш инструкций, блок арифметико-логических операций, блок вычислений с плавающей точкой, 4 микросхемы кэша данных, устройство управления памятью, 2 блока ввода-вывода, тактовый генератор.

Для маломощных станций RS/6000 был разработан однокорпусный вариант RIOS с названием RSC (RISC Single Chip[англ.] — RISC на одной микросхеме); впервые он увидел свет в 1992 году.

POWER

PowerISA-evolution

Спустя 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 под именем IBM RS64[англ.], так и в машины 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-битная версия архитектуры.

Первым чипом нового поколения стал PowerPC 601[англ.], основанный на 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 с четырьмя процессорами и четырьмя модулями кэша

Поколение POWER5 было представлено в 2004 году. Процессор стал двухъядерным, с поддержкой одновременной многопоточности (одновременного выполнения двух цепочек команд), таким образом работая как 4 логических процессора. Выпускался по техпроцессу 130 нм SOI. С помощью технологии Virtual Vector Architecture (сокр. ViVA, рус. Виртуальная векторная архитектура, англ.) несколько процессоров POWER5 могут объединяться в единый векторный процессор. Кроме того, набор инструкций был расширен на несколько команд.

Последующий выпуск POWER5+ ещё расширил набор инструкций, новый набор получил название ISA 2.02.

POWER6

Выпущен 21 мая 2007 года[2]. Привнёс в стандарт POWER инструкции VMX (параллельная обработка данных), обновил ViVA[англ.] до версии 2, таким образом осуществив большой шаг вперёд со времён перехода с POWER3 на POWER4. Двухъядерный дизайн, тактовые частоты до 4,7 ГГц при нормах выпуска 65 нм SOI. Содержит развитую систему взаимодействия с другими такими же процессорами. Потребление энергии на уровне POWER5, тогда как производительность вдвое выше.

POWER7

Выпущен в 2010 году[3]. Выпускается по техпроцессу 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 потоков.[4]

POWER8

Представлен в 2013 году, изготовлен по 22-нм SOI. 6 или 12 ядер на чип, тактовая частота от 2,5 до 5 ГГц, каждое ядро исполняет одновременно до 8 потоков.

Процессор имеет общий кэш L3 размером 48 МБ (6-ядерные модели) или 96 МБ (12-ядерные модели).

В процессор встроены высокопроизводительные контроллеры памяти (DDR3/DDR4) и системных каналов ввода-вывода (CAPI port на основе PCI Express 3.0[5][6], в том числе для подключения ASIC, FPGA, GPU[7][8]).

Питанием процессора управляет встроенный микроконтроллер на базе PowerPC 405 с 512 килобайтами SRAM-памяти, настраивая 1764 встроенных регулятора напряжения[9][10].

Векторно-скалярное устройство процессора для работы с числами c плавающей запятой выдаёт до 8 результатов с плавающей запятой двойной точности, что обеспечивает пиковую производительность 384 GFLOPS на процессор.

Для многих видов нагрузок процессор POWER8 показывает прирост производительности в 2-3 раза по сравнению с предыдущим процессором POWER7[4][11].

POWER9

Дизайн следующего поколения процессоров POWER9 был начат IBM параллельно разработке POWER8[12]. Ожидалось, что в новом типе процессоров впервые появится поддержка элементов стандарта Power ISA 3.0, включая инструкции VSX-3 и поддержку технологии nVidia NVLink[13][14].

Министерство энергетики США совместно с Национальной лабораторией Ок-Ридж и Ливерморский национальной лабораторией заключили контракт с IBM и nVidia на строительство двух суперкомпьютеров Summit и Sierra на базе процессоров POWER9 и Volta[15][16][17].

POWER9 производятся по 14-нм технологическому процессу и доступны в двух версиях. Архитектура POWER9 открыта для лицензирования и модификации для членов фонда OpenPOWER[18].

Архитектура

Внутреннее устройство POWER заимствовано из проекта 801, который считается первым истинным RISC-процессором. Последний нашёл применение в вычислительных блоках, производимых IBM, но не имел широкой известности, пока в середине 1980-х не был выпущен компьютер IBM PC/RT.

Одновременно с выпуском PC/RT IBM запустила проект «Америка», поставив цель создать самый производительный центральный процессор на рынке. На тот момент важнейшими казались две проблемы:

  • 801 полагался исключительно на однотактовые команды, что исключало вычисления с плавающей точкой;
  • хотя декодер команд был многошаговым, одновременное выполнение команд не поддерживалось.

Проект «Америка» сосредоточился на вычислениях с плавающей точкой и через некоторое время пополнился новыми алгоритмами 64-битового умножения и деления с двойной точностью за один такт, разработанными в начале 1980-х. Математический сопроцессор был отдельной частью от декодера и блока целочисленной арифметики, что позволяло одновременно выполнять вычисления и с плавающей точкой, и целочисленные. Все это было дополнено развитым декодером, который мог параллельно запрашивать одну инструкцию, расшифровывать другую и посылать ещё две в исполнительные блоки. Получился первый в истории практический суперскалярный процессор.

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

Тогда как 801 был простым устройством, чрезмерное количество дополнений превратило его в сложный процессор, гораздо сложнее большинства конкурирующих RISC-изделий. Например, набор команд POWER (и PowerPC) включает более 100 опкодов переменной длины, многие из которых являются модификациями друг друга. Для сравнения: архитектура ARM располагает только 34 инструкциями.

В конструкцию заложено и одно необычное свойство: виртуальное адресное пространство. Все адреса во время работы конвертируются в 52-битное представление, таким образом получается, что каждая программа обладает плоским 32-битным пространством адресов, но при этом каждая может занимать эти блоки произвольно[уточнить].

Версии процессоров

Первый процессор POWER1[англ.] состоял из 3 блоков: ветвления, целочисленных операций и вычислений с плавающей точкой. Все они собирались на довольно большой материнской плате. Использовались в основном в рабочих станциях RS/6000. Вариация RSC представляла собой одночиповый вариант, который так же, как и многочиповый, использовался в RS/6000.

POWER2 был последователем POWER1 с улучшениями, подсказанными в процессе его реальной эксплуатации. Его эксплуатация оказалась самой продолжительной: в течение 5 лет с начала в 1993 году. Появился второй блок вычислений с плавающей точкой, 256 КБ кэш-памяти, 128-разрядная математика с плавающей точкой.

POWER3 последовал в 1998 году, с полновесной 64-битной организацией, но сохраняя совместимость с полным набором команд POWER. Это стало важной отличительной особенностью всех процессоров POWER начиная с третьей версии. Также добавились третий блок арифметико-логических операций и второй декодер команд, итого 8 функциональных блоков.

POWER4 объединил два одинаковых процессора POWER3 на одной микросхеме, сделал их быстрее и дополнил шинами быстродействующей связи с соседними процессорами (количеством до 3). Таким образом, это поколение может быть объединено на материнской плате в 8-процессорные SMP-системы. В ситуации, когда задача требует большой пропускной способности, а не параллельных вычислений, по одному ядру из пары может быть выключено, и у оставшихся ядер окажется в полном распоряжении быстродействующая шина и кэш 3-го уровня. Многие считали POWER4 на тот момент самым производительным процессором из имевшихся, даже без объединения в четвёрки.

POWER5 был выпущен в 2004 году. Версия на 1,9 ГГц показала самые высокие результаты в тесте SPECfp для однопроцессорных систем среди всех коммерчески доступных процессоров. На их основе строятся серверы серии eServers моделей i5 и p5. Улучшения по сравнению с POWER4 составили: больший по размеру кэш 2-го уровня, контроллер памяти непосредственно на кристалле, многопоточность (ОС видит несколько процессоров вместо одного), усовершенствованный механизм управления электропитанием, особый одноядерный режим, гипервизор (hypervisor) и eFuse (аппаратное устранение ошибок).

Главный инженер IBM по микропроцессорам Рави Аримили сказал: «Конструкция POWER5 представляет собой решение среднего уровня, его можно расширять вверх до области высокопроизводительных вычислений и вниз, до уровня серверов-лезвий.» Серверы IBM, построенные на этом процессоре, поддерживают функции виртуализации: логическое разбиение и микроразбиение. Для каждого ЦПУ может быть создано до 10 логических разделов, большие 64-битные ОС поддерживают до 256 независимых операционных систем. Память, вычислительная мощь процессоров и каналы ввода-вывода могут динамически перераспределяться между разделами.

В 2007 году было официально объявлено о POWER6.

8 февраля 2010 компания IBM представила вычислительные системы на основе процессора POWER7.

Другие процессоры, разработанные на архитектуре POWER

Первый процессор архитектуры PowerPC, под названием PowerPC 601, был наследником процессора RSC, некоторые базовые инструкции выполнялись с помощью эмуляции через интерфейс шины, аналогично конструкции Motorola 88000[англ.]. Такое решение позволило IBM использовать 601 в различных моделях компьютеров, приспосабливая структуру материнской платы к заданным требованиям. Позже архитектуры PowerPC и POWER все же разделились, хотя и по сей день сохраняют совместимость на уровне машинных команд.

Выпускался процессор RS64, он был основан на архитектуре PowerPC (а значит, и POWER) и использовался в системах RS/6000 и AS/400. Оптимизирован для коммерческих расчётов и не обладает большой мощностью при вычислениях с плавающей точкой, характерных для POWER. Постепенно был вытеснен POWER4.

Процессор Gekko был создан для игровой приставки Nintendo GameCube, представлял собой модифицированную версию PowerPC 750CXe. Процессор для приставок следующего поколения, Wii, был также разработан в стенах IBM.

Дизайн широко известного процессора Cell основан на использовании простого многопоточного ядра, работающего на высокой тактовой частоте и связанного с восемью отдельными векторными сопроцессорами. Используется в игровой приставке Sony PlayStation 3 и в некоторых задачах многократно превосходит по производительности настольные процессоры того времени, что вызвало значительный интерес к этой разработке.

Наконец, игровая приставка Xbox 360, также опирается на процессор IBM Xenon, состоящий из трёх ядер, работающих на частоте 3,2 ГГц.

Примечания

  1. http://www-128.ibm.com/developerworks/eserver/library/es-archguide-v2.html Архивная копия от 15 мая 2007 на Wayback Machine PowerPC Architecture Book, Version 2.02
  2. "IBM Unleashes World's Fastest Chip in Powerful New Computer" (Press release). IBM. Архивировано 9 января 2019. Дата обращения: 12 января 2019.
  3. IBM Unveils New POWER7 Systems To Manage Increasingly Data-Intensive Services. IBM.com. Дата обращения: 11 августа 2011. Архивировано 8 декабря 2012 года.
  4. 1 2 hassan mujtaba. IBM Power8 Processor Detailed – Features 22nm Design With 12 Cores, 96 MB eDRAM L3 Cache and 4 GHz Clock Speed. wccftech (2013). Дата обращения: 3 декабря 2013. Архивировано 7 декабря 2013 года.
  5. IBM’s new Power8 doubles performance of Watson chip. Дата обращения: 31 января 2018. Архивировано 1 февраля 2018 года.
  6. IBM Power8 Processor Detailed — Features 22nm Design With 12 Cores, 96 MB eDRAM L3 Cache and 4 GHz Clock Speed. Дата обращения: 3 декабря 2013. Архивировано 7 декабря 2013 года.
  7. Altavilla, Dave Nvidia Unveils Tesla K40 Accelerator And Strategic Partnership With IBM. forbes.com. Forbes (18 ноября 2013). Дата обращения: 18 ноября 2013. Архивировано 21 ноября 2013 года.
  8. Timothy Prickett Morgan (2014-10-02). "IBM Accelerates Power8 Clusters With GPUs, FPGAs, And Flash" (англ.). EnterpriseTech. Архивировано 2 июля 2016. Дата обращения: 7 августа 2016.
  9. The Good Kind Of Regulation. Дата обращения: 31 января 2018. Архивировано 1 февраля 2018 года.
  10. L’américain présente son dernier processeur pour serveurs, 2,5 fois plus puissant que le précédent Power7+. Дата обращения: 31 января 2018. Архивировано 1 февраля 2018 года.
  11. IBM’s Watson could get even smarter with Power8 chip. Дата обращения: 31 января 2018. Архивировано из оригинала 24 сентября 2015 года.
  12. You won’t find this in your phone: A 4 GHz 12-core Power8 for badass boxes. Дата обращения: 18 мая 2018. Архивировано 24 мая 2018 года.
  13. Add full Power ISA 3.0 / POWER9 binutils support. Дата обращения: 18 мая 2018. Архивировано 7 марта 2016 года.
  14. NVIDIA Volta GPUs and IBM Power9 CPUs To Deliver Up To 300 PetaFlops of Performance in 2017 With Summit and Sierra Supercomputers. Дата обращения: 18 мая 2018. Архивировано 19 мая 2018 года.
  15. NVIDIA Volta, IBM POWER9 Land Contracts For New US Government Supercomputers. Дата обращения: 18 мая 2018. Архивировано 28 июля 2021 года.
  16. ORNL Summit home page. Дата обращения: 18 мая 2018. Архивировано 29 ноября 2014 года.
  17. Lawrence Livermore signs contract with IBM. Дата обращения: 18 мая 2018. Архивировано 11 августа 2018 года.
  18. Power9: Google gives Intel a chip-flip migraine, IBM tries to lures big biz Архивная копия от 27 мая 2018 на Wayback Machine, The Register, 2016-04-07

Ссылки

На англ. яз.

На русском яз.