POWER

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

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

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

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

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

История[править | править код]

Проект 801[править | править код]

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

Эта простая организация команд, в которой каждая команда выполняет лишь отдельный шаг в большом алгоритме и должна выполняться за чётко фиксированный отрезок времени, позднее получила название RISC.

К 1975 году проект телефонного коммутатора был свёрнут, а до работающего прототипа дело так и не дошло. Тем не менее, за проектными работами вырисовывалась многообещающая архитектура процессора общего назначения, так что они были продолжены в Исследовательском центре Томаса Уотсона[en] в здании под номером 801. Так проект получил своё новое название.

Исследовательский проект «Гепард», 1982 год[править | править код]

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

Для маломощных станций RS/6000 был разработан однокорпусный вариант RIOS с названием RSC (RISC Single Chip[en] — 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 под именем 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[править | править код]

Ещё через 5 лет IBM объявила об успешном окончании работы над POWER4, первым процессором серии GIGA. Это был также 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 (параллельная обработка данных), обновил ViVA[en] до версии 2, таким образом осуществив большой шаг вперёд со времён перехода с POWER3 на POWER4. Двухъядерный дизайн, тактовые частоты до 4,7 ГГц при нормах выпуска 65 нм SOI. Содержит развитую систему взаимодействия с другими такими же процессорами. Потребление энергии на уровне POWER5, тогда как производительность вдвое выше.

POWER7, POWER7+[править | править код]

Выпущен в 2010 году. Выпускается по техпроцессу 45 нм SOI, имеет до 8 ядер на процессор, частота от 3 до 4.25 ГГц. Теоретическая производительность на ядро — 33.12 GFLOPS и до 264.96 GFLOPS на процессор.

Процессор POWER7 известен тем, что использовался в суперкомпьютере IBM Watson, который участвовал в поединке с человеком в телевизионный викторине Jeopardy! и одержал победу. Суперкомпьютер IBM Watson применяется сегодня в сфере здравоохранения и в финансовом секторе.

В августе 2012 года на Hot Chips[en] 24 была представлена обновлённая версия POWER7+, изготовленная по техпроцессу 32 нм SOI. До 8 ядер на чип, каждое ядро исполняет до 4 потоков.[2]

POWER8[править | править код]

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

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

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

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

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

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

POWER9[править | править код]

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

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

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

Архитектура[править | править код]

Внутреннее устройство 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[en] состоял из 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[en]. Такое решение позволило 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 PowerPC Architecture Book, Version 2.02
  2. 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.
  3. IBM’s new Power8 doubles performance of Watson chip
  4. IBM Power8 Processor Detailed — Features 22nm Design With 12 Cores, 96 MB eDRAM L3 Cache and 4 GHz Clock Speed
  5. Nvidia Unveils Tesla K40 Accelerator And Strategic Partnership With IBM. forbes.com. Forbes (18 November 2013). Проверено 18 ноября 2013.
  6. Timothy Prickett Morgan. IBM Accelerates Power8 Clusters With GPUs, FPGAs, And Flash (англ.), EnterpriseTech (October 2, 2014). Проверено 7 августа 2016.
  7. The Good Kind Of Regulation
  8. L’américain présente son dernier processeur pour serveurs, 2,5 fois plus puissant que le précédent Power7+.
  9. IBM’s Watson could get even smarter with Power8 chip
  10. You won’t find this in your phone: A 4 GHz 12-core Power8 for badass boxes
  11. Add full Power ISA 3.0 / POWER9 binutils support
  12. NVIDIA Volta GPUs and IBM Power9 CPUs To Deliver Up To 300 PetaFlops of Performance in 2017 With Summit and Sierra Supercomputers
  13. NVIDIA Volta, IBM POWER9 Land Contracts For New US Government Supercomputers
  14. ORNL Summit home page
  15. Lawrence Livermore signs contract with IBM
  16. Power9: Google gives Intel a chip-flip migraine, IBM tries to lures big biz

Ссылки[править | править код]

На англ. яз.[править | править код]

На русском яз.[править | править код]