POWER

Материал из Википедии — свободной энциклопедии
(перенаправлено с «IBM Power 2»)
Перейти к навигации Перейти к поиску

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]

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

Эта простая организация команд, в которой каждая команда выполняет лишь отдельный шаг в большомалгоритмеи должна выполняться за чётко фиксированный отрезок времени, позднее получила название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 году.

PowerISA-evolution

Спустя 5 лет после начала разработки IBM объявила о начале поставок системRISC 6000.Это была первая разработка, поддерживаемаяоперационной системойAIXв новой архитектуре, получившей название POWER. Первая реализация архитектуры содержала однокорпусное решение (на одной микросхеме) для встраиваемых приложений и многокорпусное решение под названием POWER/RIOS.

Проект Amazon был начат в 1990 году с целью создания архитектуры, способной поддерживать иAIXOS/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, как позднее и другие процессоры этой серии.

Прошло не менее 5 лет, прежде чем процессору RIOS/POWER1 была создана замена,POWER2.В него добавили второй блок арифметико-логических операций и второй блок вычислений с плавающей точкой. Кроме того, был расширен набор команд:

  • инструкции записи длиной в 4 машинных слова: перемещали два соседних значения двойной точности в два смежных регистра вычислений с плавающей точкой;
  • вычисление квадратного корня на аппаратном уровне;
  • конвертация числа с плавающей точкой в целочисленное значение.

В 1996 году был разработан однокристальный вариант POWER2, P2SC (POWER2 Super Chip— супермикросхема POWER2).

В 1991 году в IBM осознали потенциал процессоров POWER в качестве товара для других производителей компьютерной техники. Предложение было сделано компанииApple,оно включало обоюдное сотрудничество для разработки семейства однокорпусных процессоров. Apple в скором времени подключила к работе компаниюMotorola,будучи её крупнейшим клиентом в области микропроцессоров класса настольных систем, что позволило использовать опыт Motorola в производстве больших тиражей и создало дублирующий источник процессоров для Apple. Это трёхстороннее сотрудничество получило названиеальянса AIM— по первым буквам названий Apple, IBM, Motorola (также словоцельпо-англ.).

Первым результатом сотрудничества стала разработка (спустя 2 года после начала) архитектурыPowerPC— модифицированной версии POWER. Были добавлены вычисления с плавающей точкой над числами одинарной точности, универсальное умножение и деление регистра на регистр, удалены некоторые другие — в частности, специальный вариант умножения и деления на регистрMQ.Кроме того, была создана 64-битная версия архитектуры.

Первым чипом нового поколения сталPowerPC 601[англ.],основанный на RSC. Более подробная информация об этом семействе процессоров содержится в статьеPowerPC.

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

Все последующие поколения процессоров POWER поддерживали полный набор инструкций, так что не осталось вариантов, поддерживающих только строго POWER или POWER2.

Микропроцессор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.

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

Выпущен в 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]

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

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

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

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

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

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

Дизайн следующего поколения процессоров POWER9 был начат IBM параллельно разработке POWER8[12].Ожидалось, что в новом типе процессоров впервые появится поддержка элементов стандарта Power ISA 3.0, включая инструкции VSX-3 и поддержку технологииnVidiaNVLink[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был создан для игровой приставкиNintendoGameCube,представлял собой модифицированную версию PowerPC 750CXe. Процессор для приставок следующего поколения,Wii,был также разработан в стенах IBM.

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

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

  1. http://www-128.ibm.com/developerworks/eserver/library/es-archguide-v2.htmlАрхивная копияот 15 мая 2007 наWayback MachinePowerPC 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. 12hassan 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, DaveNvidia 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

На англ. яз.

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