stringtranslate.com

Питание ISA

Принципиальная схема очень высокого уровня обычного процессора Power ISA.

Power ISA — это архитектура набора команд компьютера (ISA) с сокращенным набором команд (RISC), в настоящее время разработанная OpenPOWER Foundation под руководством IBM . Первоначально он был разработан IBM и ныне несуществующей отраслевой группой Power.org . Power ISA — это эволюция PowerPC ISA , созданная в результате слияния базовой PowerPC ISA и дополнительной книги E для встроенных приложений. Слияние этих двух компонентов в 2006 году возглавили основатели Power.org IBM и Freescale Semiconductor .

До версии 3.0 ISA была разделена на несколько категорий. Процессоры реализуют набор этих категорий в соответствии с требованиями своей задачи. Для реализации определенных категорий требуются разные классы процессоров, например, процессор серверного класса включает категории: Base , Server , Floating-Point , 64-Bit и т. д. Все процессоры реализуют базовую категорию.

Power ISA — это RISC- архитектура загрузки/сохранения . Он имеет несколько наборов регистров :

Инструкции до версии 3.0 имеют длину 32 бита, за исключением подмножества VLE (кодирование переменной длины), которое обеспечивает более высокую плотность кода для встраиваемых приложений начального уровня, и версии 3.1, в которой введен префикс для создания 64-битных инструкций. . Большинство инструкций являются триадными , т.е. имеют два исходных операнда и один пункт назначения. Поддерживаются операции с плавающей запятой одинарной и двойной точности , соответствующие IEEE-754 , включая дополнительные инструкции плавного умножения-сложения (FMA) и десятичные инструкции с плавающей запятой. Существуют возможности для операций с одной командой и несколькими данными (SIMD) над целочисленными данными и данными с плавающей запятой, содержащими до 16 элементов в одной инструкции.

Power ISA поддерживает Гарвардский кэш , то есть разделение кэшей данных и инструкций , а также поддержку унифицированных кэшей. Операции с памятью являются строго загрузкой/сохранением, но допускают выполнение вне очереди . Также имеется поддержка как прямого, так и прямого порядка байтов с отдельными категориями для модируемого и постраничного порядка байтов, а также поддержка как 32-битной , так и 64-битной адресации.

Различные режимы работы включают пользователя, супервизор и гипервизор.

Категории

Книги

Спецификация Power ISA разделена на пять частей, называемых «книгами»:

Соответствие

Новым в версии 3 Power ISA является то, что вам не нужно реализовывать всю спецификацию для обеспечения соответствия. Разрастание инструкций и технологий сделало всю спецификацию громоздкой, поэтому OpenPOWER Foundation решил включить многоуровневую совместимость.

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

Чтобы можно было пользоваться защитой Фонда в отношении использования интеллектуальной собственности , будь то патенты или товарные знаки , дизайн должен соответствовать требованиям на заявленном уровне подмножества. Это объясняется в OpenPOWER EULA. [1]

Соответствующий проект должен: [2]

Если расширение является достаточно универсальным, OpenPOWER Foundation просит разработчиков отправить его в виде запроса на комментарии (RFC) в рабочую группу OpenPOWER ISA. Обратите внимание, что для подачи RFC не обязательно присоединяться к OpenPOWER Foundation. [3]

Несоответствие совместимости EABI и Linux

Спецификации EABI появились до объявления и создания подмножеств соответствия.

Что касается подмножества совместимости Linux с дополнительным VSX (SIMD): в 2003–2004 годах 64-разрядная версия EABI v1.9 сделала SIMD необязательным, [4] но в июле 2015 года для повышения производительности систем IBM POWER9 SIMD стал обязательным в EABI. v2.0. [5] Это несоответствие между тем, что SIMD является необязательным на уровне совместимости Linux, но обязательным в EABI v2.0, не может быть исправлено без значительных усилий: обратная несовместимость для дистрибутивов Linux не является жизнеспособным вариантом. В настоящее время новым разработчикам OpenPOWER, желающим запускать стандартные дистрибутивы Linux, приходится реализовывать огромное количество 962 инструкций. Напротив, для RISC-V RV64GC, минимума для запуска Linux, требуется всего 165. [6]

Технические характеристики

Питание ISA v.2.03

Спецификация Power ISA v.2.03 [7] основана на предыдущей версии PowerPC ISA v.2.02 [8] в POWER5 + и расширении Book E [9] спецификации PowerPC . В книгу I вошли пять новых глав, посвященных вспомогательным процессорам, таким как DSP и расширению AltiVec .

Совместимые ядра

Питание ISA v.2.04

Спецификация Power ISA v.2.04 [10] была завершена в июне 2007 года. Она основана на Power ISA v.2.03 и включает изменения в первую очередь в часть Book III-S, касающуюся виртуализации , функций гипервизора , логического разделения и обработки виртуальных страниц .

Совместимые ядра

Питание ISA v.2.05

Спецификация Power ISA v.2.05 [11] была выпущена в декабре 2007 года. Она основана на Power ISA v.2.04 и включает изменения в первую очередь в Book I и Book III-S , включая значительные улучшения, такие как десятичная арифметика (Категория: Десятичная арифметика). Плавающая точка в книге I ) и улучшения серверного гипервизора.

Совместимые ядра

Питание ISA v.2.06

Спецификация Power ISA v.2.06 [12] была выпущена в феврале 2009 г. и пересмотрена в июле 2010 г. [13] Она основана на Power ISA v.2.05 и включает расширения для процессора POWER7 и ядра e500-mc . Одной из важных новых функций являются векторно-скалярные инструкции с плавающей запятой ( VSX ). [14] Книга III-E также включает значительные улучшения встроенной спецификации, касающиеся гипервизора и виртуализации в одно- и многоядерных реализациях.

В ноябре 2010 года спецификация была пересмотрена до спецификации Power ISA v.2.06 версии B, что расширило возможности виртуализации. [13] [15]

Совместимые ядра

Питание ISA v.2.07

Спецификация Power ISA v.2.07 [16] была выпущена в мае 2013 года. Она основана на Power ISA v.2.06 и включает в себя основные улучшения функций логических разделов , транзакционной памяти , расширенный мониторинг производительности, новые функции управления хранилищем, дополнения к Векторные средства VMX и VSX (VSX-2), а также AES [16] : 257  [17] и режим счетчика Галуа (GCM), SHA-224, SHA-256, [16] : 258  SHA-384 и SHA-512. [16] : 258  ( SHA-2 ) криптографические расширения и алгоритмы проверки циклическим избыточным кодом (CRC) . [18]

В апреле 2015 года спецификация была пересмотрена до спецификации Power ISA v.2.07 B. [19] [20]

Совместимые ядра

Питание ISA v.3.0

Спецификация Power ISA v.3.0 [21] [22] была выпущена в ноябре 2015 года. Это первая спецификация, выпущенная после основания OpenPOWER Foundation, которая включает улучшения для широкого спектра рабочих нагрузок и удаляет категории «сервер» и «встроенные устройства». сохраняя при этом обратную совместимость и добавляя поддержку инструкций VSX-3. Новые функции включают 128-битные операции с плавающей запятой четырехточной точности, генератор случайных чисел , аппаратную сборку мусора и аппаратные доверенные вычисления.

Спецификация была пересмотрена в марте 2017 года до спецификации Power ISA v.3.0 B, [19] [23] и снова пересмотрена до версии 3.0C в мае 2020 года. [19] [24] [25] Одно существенное изменение по сравнению с версией 3.0. до версии 3.0B — это удаление поддержки аппаратной сборки мусора. Ключевое различие между версией 3.0B и версией 3.0C заключается в том, что уровни соответствия, перечисленные в версии 3.1, также были добавлены в версию 3.0C.

Совместимые ядра

Питание ISA v.3.1

Спецификация Power ISA v.3.1 [19] [27] была выпущена в мае 2020 года. В основном она обеспечивает поддержку новых функций, представленных в Power10, но также включает понятие необязательности для спецификации PowerISA. Инструкции теперь могут иметь длину восемь байтов , «инструкции с префиксом», по сравнению с обычными четырехбайтовыми «словными инструкциями». Также добавлено множество новых функций для инструкций SIMD и VSX. VSX и расширение SVP64 обеспечивают аппаратную поддержку 16-битных чисел с плавающей запятой половинной точности. [28] [29]

Одним из ключевых преимуществ новых 64-битных инструкций с префиксами является расширение немедленных операций в ветвях до 34-битных.

В сентябре 2021 года спецификация была пересмотрена до спецификации Power ISA v.3.1B. [19] [30]

В мае 2024 года спецификация была пересмотрена до спецификации Power ISA v.3.1C. [19] [31]

Совместимые ядра

Смотрите также

Рекомендации

  1. ^ Окончательный проект соглашения Power ISA EULA.
  2. ^ Open Power ISA: соответствие архитектуры и основы будущего
  3. ^ Раздел 2.2 Лицензионного соглашения OPF Power ISA.
  4. ^ ЭЛЬФ PP64 АБИ
  5. ^ OpenPOWER EABI v2
  6. ^ Страница 18 «Зеленая карта» RISC-V.
  7. ^ «Power ISA v.2.03» (PDF) . Power.org. 29 сентября 2006 г. Архивировано из оригинала (PDF) 27 июля 2011 г.
  8. ^ «Книга по архитектуре PowerPC, версия 2.02» . ИБМ. 24 февраля 2005 г. Архивировано из оригинала 18 октября 2007 г. Проверено 16 марта 2007 г.
  9. ^ «Книга PowerPC E v.1.0» (PDF) . ИБМ. 07.05.2002. Архивировано (PDF) из оригинала 10 марта 2018 г. Проверено 16 марта 2007 г.
  10. ^ «Power ISA версии 2.04» (PDF) . Power.org. 12 июня 2007 г. Архивировано из оригинала (PDF) 27 сентября 2007 г. Проверено 14 июня 2007 г.
  11. ^ «Power ISA версии 2.05» . Power.org. 23 октября 2007 г. Архивировано из оригинала 24 ноября 2012 г. Проверено 18 декабря 2007 г.
  12. ^ «Power.org представляет усовершенствования спецификаций и новые услуги на конференции разработчиков Power Architecture» (пресс-релиз). Power.org. 24 сентября 2007 г. Архивировано из оригинала 12 октября 2007 г. Проверено 24 сентября 2007 г.
  13. ^ ab «Power ISA версии 2.06, редакция B» . Power.org. 23 июля 2010 г. Архивировано из оригинала 24 ноября 2012 г. Проверено 12 февраля 2011 г.
  14. ^ «Ускорение рабочей нагрузки с помощью векторно-скалярной архитектуры IBM POWER». ИБМ. 01.03.2016 . Проверено 2 мая 2017 г.
  15. ^ «Power ISA 2.06 Rev. B обеспечивает полную виртуализацию оборудования для встроенного пространства» . ЭТаймс. 03.11.2010 . Проверено 8 июня 2011 г.
  16. ^ abcd «Power ISA версии 2.07» (PDF) . Power.org. 15 мая 2013 г. Проверено 2 ноября 2023 г.
  17. ^ Барбоза, Леонидас (21 сентября 2014 г.). «Встроенная криптография POWER8». ИБМ.
  18. ^ Методы оптимизации и настройки производительности процессоров IBM Power Systems, включая IBM POWER8. ИБМ. Август 2015. с. 48. ИСБН 9780738440927.
  19. ^ abcdef «Архитектура набора команд». Фонд OpenPOWER .
  20. ^ «Power ISA версии 2.07 B» . Power.org. 09.04.2015 . Проверено 23 февраля 2023 г.
  21. ^ Объявление о новой эре открытости с Power 3.0
  22. ^ «Power ISA версии 3.0» . openpowerfoundation.org. 30 ноября 2016 г. Проверено 6 января 2017 г.[ мертвая ссылка ]
  23. ^ «Power ISA версии 3.0 B» . ИБМ. 2017-03-29 . Проверено 23 февраля 2023 г.
  24. ^ «Power ISA версии 3.0 C» . Фонд OpenPOWER. 01.05.2020 . Проверено 23 февраля 2023 г.
  25. ^ список спецификаций Power ISA
  26. ^ [ИСПРАВЛЕНИЕ, ЗАВЕРШЕНО] Добавлена ​​полная поддержка binutils Power ISA 3.0 / POWER9.
  27. ^ «Power ISA версии 3.1» . Фонд OpenPOWER. 01.05.2020 . Проверено 23 февраля 2023 г.
  28. ^ "OPF_PowerISA_v3.1B.pdf" . Файлы OpenPOWER . Фонд OpenPOWER . Проверено 2 июля 2023 г.
  29. ^ "ls005.xlen.mdwn". libre-soc.org Git . Проверено 2 июля 2023 г.
  30. ^ «Power ISA версии 3.1B» . Фонд OpenPOWER. 14 сентября 2021 г. Проверено 23 февраля 2023 г.
  31. ^ «Power ISA версии 3.1C» . Фонд OpenPOWER. 26 мая 2024 г. Проверено 4 июля 2024 г.
  32. ^ Со, Карлос Эдуардо (12 мая 2020 г.). «Мы выпустили архитектуру набора инструкций для POWER10. Power ISA v3.1 доступен на портале IBM для OpenPOWER». Твиттер.com . Проверено 23 мая 2020 г.