POWER

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

POWER (сокр. от англ. Performance Optimization With Enhanced RISC) — микропроцессорная архитектура с ограниченным набором команд (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 (PowerPC Architecture Book, Version 2.02)

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

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

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

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

К 1975 году проект телефонного коммутатора был свёрнут, а до работающего прототипа дело так и не дошло. Тем не менее, за проектными работами вырисовывалась многообещающая архитектура процессора общего назначения, так что они были продолжены в Исследовательском центре Томаса Ватсона (Thomas J. Watson Research Center) в здании под номером 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) состоял из 11 отдельных микросхем: кэш инструкций, блок арифметико-логических операций, блок вычислений с плавающей точкой, 4 микросхемы кэша данных, устройство управления памятью, 2 блока ввода-вывода, тактовый генератор.

Для маломощных станций RS/6000 был разработан однокорпусный вариант RIOS с названием RSC (RISC Single Chip — 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 до версии 2, таким образом осуществив крупнейший шаг вперёд со времён перехода с POWER3 на POWER4. Двухъядерный дизайн, тактовые частоты до 4,7 ГГц при нормах выпуска 65 нм SOI. Содержит чрезвычайно развитую систему взаимодействия с другими такими же процессорами. Потребление энергии на уровне POWER5, тогда как производительность вдвое выше.

POWER7, POWER7+[править | править вики-текст]

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

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

POWER8[править | править вики-текст]

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

Архитектура[править | править вики-текст]

Внутреннее устройство 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 и в некоторых задачах многократно превосходит по производительности настольные процессоры, что вызвало значительный интерес к этой разработке.

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

Примечания[править | править вики-текст]

  1. 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.

Ссылки[править | править вики-текст]

На англ. яз.[править | править вики-текст]

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