stringtranslate.com

Мощность ISA

Очень общая принципиальная схема процессора Power ISA

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

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

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

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

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

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

Категории

Книги

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

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

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

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

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

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

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

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

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

Что касается подмножества Linux Compliancy, имеющего VSX (SIMD) необязательно: в 2003–4 годах 64-разрядная версия EABI v1.9 сделала SIMD необязательным, [4] но в июле 2015 года для повышения производительности систем IBM POWER9 SIMD был сделан обязательным в EABI v2.0. [5] Это несоответствие между SIMD, необязательным на уровне Linux Compliancy, и обязательным в 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 . Book 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 и включает изменения, в первую очередь, в Книгу I и Книгу 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 revision 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] и Galois Counter Mode (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] и пересмотрена снова до v3.0C в мае 2020 года. [19] [24] [25] Одним из основных изменений от v3.0 до v3.0B является удаление поддержки аппаратной сборки мусора. Ключевое различие между v3.0B и v3.0C заключается в том, что уровни соответствия, перечисленные в v3.1, были также добавлены в v3.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 ABI
  5. ^ OpenPOWER EABI v2
  6. ^ Страница 18 RISC-V "зеленая карта"
  7. ^ "Power ISA v.2.03" (PDF) . Power.org. 2006-09-29. Архивировано из оригинала (PDF) 2011-07-27.
  8. ^ "PowerPC Architecture Book, Version 2.02". IBM. 2005-02-24. Архивировано из оригинала 2007-10-18 . Получено 2007-03-16 .
  9. ^ "PowerPC Book E v.1.0" (PDF) . IBM. 2002-05-07. Архивировано (PDF) из оригинала 2018-03-10 . Получено 2007-03-16 .
  10. ^ "Power ISA Version 2.04" (PDF) . Power.org. 2007-06-12. Архивировано из оригинала (PDF) 2007-09-27 . Получено 2007-06-14 .
  11. ^ "Power ISA Version 2.05". Power.org. 2007-10-23. Архивировано из оригинала 2012-11-24 . Получено 2007-12-18 .
  12. ^ "Power.org представляет технические достижения и новые сервисы на конференции разработчиков архитектуры Power" (пресс-релиз). Power.org. 2007-09-24. Архивировано из оригинала 2007-10-12 . Получено 2007-09-24 .
  13. ^ ab "Power ISA Version 2.06 Revision B". Power.org. 2010-07-23. Архивировано из оригинала 2012-11-24 . Получено 2011-02-12 .
  14. ^ "Ускорение рабочей нагрузки с векторно-скалярной архитектурой IBM POWER". IBM. 2016-03-01 . Получено 2017-05-02 .
  15. ^ "Power ISA 2.06 Rev. B обеспечивает полную аппаратную виртуализацию для встроенного пространства". EETimes. 2010-11-03 . Получено 2011-06-08 .
  16. ^ abcd "Power ISA Version 2.07" (PDF) . Power.org. 2013-05-15 . Получено 2023-11-02 .
  17. ^ Барбоса, Леонидас (21.09.2014). «Внутренняя криптография POWER8». IBM.
  18. ^ Методы оптимизации и настройки производительности для процессоров IBM Power Systems, включая IBM POWER8. IBM. Август 2015 г. стр. 48. ISBN 9780738440927.
  19. ^ abcdef "Архитектура набора инструкций". OpenPOWER Foundation .
  20. ^ "Power ISA Version 2.07 B". Power.org. 2015-04-09 . Получено 2023-02-23 .
  21. ^ Объявляем о новой эре открытости с Power 3.0
  22. ^ "Power ISA Version 3.0". openpowerfoundation.org. 2016-11-30 . Получено 2017-01-06 .[ мертвая ссылка ]
  23. ^ "Power ISA Version 3.0 B". IBM. 2017-03-29 . Получено 2023-02-23 .
  24. ^ "Power ISA Version 3.0 C". OpenPOWER Foundation. 2020-05-01 . Получено 2023-02-23 .
  25. ^ Список спецификаций Power ISA
  26. ^ [PATCH, COMMITTED] Добавить полную поддержку Power ISA 3.0 / POWER9 binutils
  27. ^ "Power ISA Version 3.1". OpenPOWER Foundation. 2020-05-01 . Получено 2023-02-23 .
  28. ^ "OPF_PowerISA_v3.1B.pdf". Файлы OpenPOWER . OpenPOWER Foundation . Получено 2023-07-02 .
  29. ^ "ls005.xlen.mdwn". libre-soc.org Git . Получено 2023-07-02 .
  30. ^ "Power ISA Version 3.1B". OpenPOWER Foundation. 2021-09-14 . Получено 2023-02-23 .
  31. ^ "Power ISA Version 3.1C". OpenPOWER Foundation. 2024-05-26 . Получено 2024-07-04 .
  32. ^ Seo, Carlos Eduardo (2020-05-12). «Мы выпустили архитектуру набора инструкций для POWER10. Power ISA v3.1 доступна на портале IBM для OpenPOWER». twitter.com . Получено 2020-05-23 .