Power ISA 2.03
Power ISA 2.03 — это версия спецификации системы команд (ISA) открытой архитектуры Power Architecture, опубликованная в 2006 году. Она представляет собой расширение и уточнение предшествующей версии Power ISA 2.02 и является одной из ключевых ревизий, заложивших основу для современных процессоров на базе Power Architecture, включая разработки в рамках проекта OpenPOWER Foundation.
История
Архитектура Power была изначально разработана компанией IBM в начале 1990-х годов для процессоров серии POWER (Performance Optimization With Enhanced RISC). В 2000-х годах IBM совместно с компаниями Freescale Semiconductor (ныне часть NXP Semiconductors) и другими участниками альянса Power.org начала работу по унификации и стандартизации системы команд, которая ранее существовала в нескольких разрозненных вариантах (PowerPC, POWER, Book E и др.).
Версия Power ISA 2.03 стала результатом этой работы. Она была официально утверждена и опубликована в 2006 году. Основной целью было создание единой, чётко документированной спецификации, которая объединяла бы возможности как серверных процессоров IBM (например, POWER6), так и встраиваемых решений Freescale (серия e500, e600). Это позволило разработчикам программного обеспечения создавать код, совместимый с широким спектром процессоров, при условии соблюдения общих подмножеств команд.
Основные характеристики
Power ISA 2.03 является архитектурой с сокращённым набором команд (RISC). Она определяет два основных режима работы:
- 64-битный режим (Book I) — поддержка 64-битных целочисленных операций, 64-битных адресов и 64-битных регистров общего назначения.
- 32-битный режим (Book I) — поддержка 32-битных операций, совместимость с более старыми процессорами PowerPC.
Спецификация включает в себя несколько книг (Books), каждая из которых описывает определённый аспект архитектуры:
- Book I — система команд (User Instruction Set Architecture). Содержит описание всех доступных инструкций, их форматов, кодировок и поведения.
- Book II — архитектура виртуальной памяти (Virtual Environment Architecture). Описывает механизмы управления памятью, кэширования, синхронизации и многопоточности.
- Book III — архитектура операционной системы (Operating Environment Architecture). Определяет привилегированные инструкции, механизмы обработки прерываний, исключений и управления режимами процессора.
- Book IV — архитектура внешних интерфейсов (External Environment Architecture). Описывает взаимодействие процессора с внешними устройствами, включая контроллеры прерываний и системы ввода-вывода.
Ключевые нововведения по сравнению с Power ISA 2.02
- Поддержка векторных операций (VMX, AltiVec) — в спецификацию были включены инструкции для параллельной обработки данных (SIMD), ранее существовавшие как отдельное расширение AltiVec. Это позволило унифицировать поддержку мультимедийных и научных вычислений.
- Расширенная поддержка 64-битных операций — уточнение и расширение набора 64-битных инструкций, включая операции с 64-битными целыми числами и 64-битными адресами.
- Улучшенная поддержка многопоточности — добавлены инструкции для работы с аппаратными потоками (threads), включая операции синхронизации и управления кэшами.
- Новые инструкции для работы с памятью — введены инструкции для более эффективного управления кэш-памятью и предварительной выборки данных.
- Уточнение поведения инструкций — исправлены неоднозначности и ошибки в предыдущих версиях спецификации, что повысило совместимость программного обеспечения.
Применение
Power ISA 2.03 стала основой для нескольких поколений процессоров, выпущенных в конце 2000-х — начале 2010-х годов:
- IBM POWER6 — серверный процессор, выпущенный в 2007 году. Он был первым процессором, полностью реализующим спецификацию Power ISA 2.03. Использовался в серверах IBM System p и System i.
- Freescale QorIQ — семейство встраиваемых процессоров на базе ядер e500v2 и e5500, которые поддерживали Power ISA 2.03. Применялись в сетевом оборудовании, телекоммуникационных системах и промышленной автоматике.
- Freescale PowerQUICC III — процессоры, использовавшиеся в маршрутизаторах и коммутаторах.
Архитектура Power ISA 2.03 также использовалась в качестве основы для разработки более поздних версий, таких как Power ISA 2.04, 2.05, 2.06 и 2.07, которые вводили поддержку виртуализации, криптографических инструкций и других расширений.
Значение и наследие
Power ISA 2.03 сыграла важную роль в унификации экосистемы Power Architecture. Она:
- Обеспечила обратную совместимость — программы, написанные для более старых процессоров PowerPC, могли работать на новых процессорах, поддерживающих Power ISA 2.03, при условии соблюдения общих подмножеств команд.
- Создала основу для открытой архитектуры — в 2013 году IBM передала спецификации Power ISA в руки некоммерческой организации OpenPOWER Foundation, которая продолжила их развитие. Power ISA 2.03 стала одной из первых версий, доступных для лицензирования и использования сторонними разработчиками.
- Повлияла на развитие встраиваемых систем — благодаря унификации, встраиваемые процессоры Freescale получили доступ к более широкому набору инструкций, что упростило разработку программного обеспечения для них.
Критика
Несмотря на успехи, Power ISA 2.03 подвергалась критике за:
- Сложность и объём — спецификация была очень большой и содержала множество инструкций, что усложняло реализацию процессоров и написание компиляторов.
- Неполную совместимость — хотя спецификация была единой, разные процессоры поддерживали разные подмножества инструкций (например, некоторые встраиваемые процессоры не поддерживали 64-битные операции или VMX). Это требовало от разработчиков программного обеспечения проверки наличия тех или иных возможностей во время выполнения.
- Медленное внедрение — несмотря на выход спецификации в 2006 году, первые процессоры, полностью её реализующие, появились только в 2007 году, а массовое внедрение заняло ещё несколько лет.
Источники
- IBM. Power ISA Version 2.03. — IBM Corporation, 2006.
- Diefendorff, K. Power4: A 64-bit PowerPC Processor. — IEEE Micro, 2001.
- Freescale Semiconductor. QorIQ P1, P2, P3, P4 Reference Manuals. — Freescale Semiconductor, 2008.
- OpenPOWER Foundation. Power ISA Specification. — OpenPOWER Foundation, 2013.
- Patterson, D. A., Hennessy, J. L. Computer Organization and Design: The Hardware/Software Interface. — Morgan Kaufmann, 2011.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →