전원 ISA

Power ISA
전원 ISA
디자이너
비트32비트/64비트(32→64)
소개했다2006년, 16년 전(2006년)
버전3.1
설계.RISC
유형등록-등록
부호화고정/변수
분기조건코드
엔디안니스빅/비
내선번호AltiVec, PowerPC-AS, APU, DSP, CBEA
열다.네, 로열티 무료입니다.
레지스터
  • 32×64/32비트 범용 레지스터
  • 32×64비트 부동소수점 레지스터
  • 64×128비트 벡터 레지스터
  • 32비트 상태 코드 레지스터
  • 32비트 링크 레지스터
  • 32비트 카운트 레지스터
+ 기타
일반적인 Power ISA 프로세서에 대한 고도의 개략도.

Power ISA는 IBM이 주도하는 OpenPOWER Foundation이 현재 개발한 RISC(Reduced Instruction Set Computer) 명령 집합 아키텍처입니다.원래 IBM과 지금은 사라진 Power.org 산업 그룹에 의해 개발되었습니다.Power ISA는 PowerPC ISA의 진화입니다.핵심 PowerPC ISA와 임베디드 애플리케이션용 옵션인 Book E의 합병에 의해 작성되었습니다.2006년 이 두 구성 요소의 합병은 Power.org의 창업자인 IBM과 Freescale Semiconductor가 주도했습니다.

ISA는 몇 가지 범주로 나누어져 있으며, 이 범주는 특정 에 설명되어 있습니다.프로세서는 작업에 필요한 대로 이러한 카테고리 세트를 구현합니다.특정 카테고리를 실장하기 위해서는 다른 클래스의 프로세서가 필요합니다.예를 들어 서버 클래스 프로세서에는 다음과 같은 카테고리가 포함됩니다.베이스, 서버, 부동 소수점, 64비트모든 CPU는 베이스 카테고리를 실장합니다.

Power ISA는 RISC 로드/스토어 아키텍처입니다.여기에는 여러 레지스터 세트가 있습니다.

  • 32 × 32비트 또는 64비트 General-Purpose Register(GPR; 범용 레지스터)를 정수 연산용으로 사용합니다.
  • 벡터 연산 부동소수점 연산을 위한 64 × 128비트 벡터 스칼라 레지스터(VSR).
    • 부동소수점 동작용 VSR의 일부로서 32 × 64비트 부동소수점 레지스터(FPR)
    • 벡터 연산을 위한 VSR의 일부로서 32 × 128비트 벡터 레지스터(VR)
  • 비교 및 흐름 제어용 8 × 4비트 상황 레지스터 필드(CR)
  • 카운터 레지스터(CTR), 링크 레지스터(LR), 타임베이스(TBU, TBL), 대체 타임베이스(ATBU, ATBL), 어큐뮬레이터(ACC), 상태 레지스터(XER, FPSCR, SPEFSCR) 등 다양한 크기의 특수 레지스터 11개.

버전 3.0까지의 명령어 길이는 32비트입니다.단, 로우엔드 임베디드 어플리케이션의 높은 코드 밀도를 제공하는 VLE(Variable-Length Encoding) 서브셋과 64비트 명령어를 작성하기 위한 프레픽스를 도입한 버전 3.1은 예외입니다.대부분의 명령은 3진법입니다. 즉, 2개의 소스 오퍼랜드와 1개의 수신처가 있습니다.추가 Fused Multi-Add(FMA; 다중 추가) 명령 및 10진 부동소수점 명령을 포함하여 단일 정밀도이중 정밀도 IEEE-754 준거 부동소수점 연산이 지원됩니다.1개의 명령으로 최대 16개의 요소의 정수 및 부동소수점 데이터에 대한 단일 명령, 다중 데이터(SIMD) 연산을 위한 규정이 있습니다.

Power ISA는 Harvard 캐시(예: 데이터 명령 캐시 분할)를 지원하고 통합 캐시를 지원합니다.메모리 조작은 엄밀하게 로드/스토어되지만 순서가 맞지 않는 실행이 가능합니다.또한 수정 및 페이지 단위 엔디안니스에 대한 개별 카테고리를 가진 빅 및 리틀 엔디안 어드레싱도 지원되며 32비트64비트 어드레싱도 모두 지원됩니다.

사용자, 슈퍼바이저, 하이퍼바이저 등 다양한 동작 모드가 있습니다.

분류

  • 베이스 – Book I 및 Book II의 대부분
  • 서버 – Book III-S
  • 임베디드 – 제II-E권
  • 기타 – 부동 소수점, 벡터, 신호 처리, 캐시 잠금, 소수점 부동 소수점 등

책들

Power ISA 사양은 "북"이라고 불리는 5가지 부분으로 나뉩니다.

  • 제I권사용자 명령 집합 아키텍처는 애플리케이션 프로그래머가 사용할 수 있는 기본 명령 집합을 다룹니다.메모리 참조, 흐름 제어, 정수, 부동 소수점, 숫자 가속, 애플리케이션 레벨 프로그래밍.여기에는 Digital Signal Processor(DSP; 디지털 신호 프로세서)나 AltiVec 확장등의 보조 처리 장치에 관한 장도 포함되어 있습니다.
  • II – 가상 환경 아키텍처는 타이밍, 동기화, 캐시 관리, 스토리지 기능, 바이트 순서 등 애플리케이션 프로그래머가 사용할 수 있는 스토리지 모델을 정의합니다.
  • 제3권운영환경 아키텍처에는 예외, 인터럽트, 메모리 관리, 디버깅 기능 및 특수 제어 기능이 포함됩니다.그것은 두 부분으로 나뉜다.
    • Book III-S – 범용/서버 구현에 사용되는 슈퍼바이저 지침을 정의합니다.주로 구 PowerPC ISA의 제3권 내용입니다.
    • Book III-E – 임베디드 어플리케이션에 사용되는 슈퍼바이저의 순서를 정의합니다.이전 PowerPC Book E에서 파생되었습니다.
  • Book VLE – 가변 길이 부호화 명령 아키텍처는 Book I의 대체 명령과 정의를 정의합니다.III: 높은 명령 밀도와 초저가 애플리케이션을 위한 것입니다.이들은 16비트 명령과 빅 엔디언 바이트 순서를 사용합니다.

컴플라이언스

Power ISA 버전3의 신기능은 규격 전체를 실장할 필요가 없다는 점입니다.명령과 테크놀로지의 무질서한 증가로 전체 사양이 다루기 어려워졌기 때문에 OpenPOWER Foundation은 계층형 컴플라이언스를 실현하기로 결정했습니다.

이러한 레벨에는 옵션 요건과 필수 요건이 포함됩니다.다만, 일반적인 오해 중 하나는, 실장이 하위 레벨에서 준거하는 것을 막는 것은 아무것도 없고, 상위 레벨과 커스텀 확장으로부터 선택된 추가 기능을 가지고 있다는 것입니다.단, 설계에 의해 선언된 서브셋레벨을 넘는 추가 기능을 무효로 하는 옵션을 제공하는 것이 좋습니다.

특허 또는 상표관계없이 지적재산의 사용에 관한 재단의 보호를 이용하려면 의장은 선언된 서브셋 수준에서 적합해야 합니다.이는 OpenPOWER [1]EULA에 설명되어 있습니다.

준거 설계에는 다음이 필요합니다.[2]

  • 기본 아키텍처 지원
  • 서브셋 중 적어도1개를 지원합니다.
    • SFS – 스칼라 고정 소수점 서브셋.129 명령기본 고정점 및 로드/스토어 명령, 이것이 바로 기본 아키텍처입니다.
    • SFFS – 스칼라 고정 소수점 + 부동 소수점 서브셋. 214 명령.베이스에 부동소수점 연산 추가.
    • LCS – Linux 준거 서브셋962 명령.64비트, 옵션의 SIMD/VSX, Radix MMU, little endian 모드, 하이퍼바이저 지원 등의 기능을 추가하여 서버급 Linux용으로 설계되었습니다.
    • ACSAIX 준거 서브셋.1099의 명령.AIX를 실행하여 10진수 및 4정밀 부동소수점, 빅 엔디언 모드 및 대칭 멀티프로세싱 등의 기능을 추가합니다.
  • LCS 및 ACS의 기능 중 하나를 옵션으로 포함하거나 매트릭스 연산이나 전원 관리 등의 상시 옵션 기능에서 선택할 수 있습니다.
  • 옵션 기능을 선택한 경우 그 전체를 구현해야 합니다(옵션 기능의 일부 구현은 허용되지 않습니다).
  • 아키텍처 샌드박스에 구현된 구현에 고유한 사용자 정의 확장을 포함할 수 있습니다.

확장이 일반적인 목적이라면 OpenPOWER Foundation은 구현자가 OpenPOWER ISA Workgroup에 코멘트 요구(RFC)로 제출하도록 요청합니다.RFC를 [3]제출하기 위해 OpenPOWER Foundation에 가입할 필요는 없습니다.

  • 많은 것이 하드웨어 또는 펌웨어에 구현될 수 있습니다.

EABI와 Linux의 컴플라이언스 불일치

EABI 사양은 컴플라이언스 서브셋의 발표와 작성보다 앞서 있습니다.

VSX(SIMD)가 옵션인 Linux Compliance 서브셋에 대해: 2003-4년 64비트 EABI v1.9에서는 [4]SIMD가 옵션이었으나 2015년 7월에는 IBM POWER9 시스템의 성능을 개선하기 위해 EABI v2.[5]0에서 SIMD가 필수화되었습니다.Linux Compliance 수준에서는 SIMD가 옵션이지만 EABI v2.0에서는 필수인 SIMD와의 차이는 상당한 노력을 기울이지 않으면 해결할 수 없습니다.Linux 배포에 대한 이전 버전과의 호환성은 실현 가능한 옵션이 아닙니다.현재 새로운 OpenPOWER 구현자는 표준 Linux 디스트리뷰션을 실행하려고 하기 때문에 962개의 명령을 구현해야 합니다.반면 Linux를 실행하기 위한 최소 RISC-V RV64GC는 [6]165개만 필요합니다.

사양

Power ISA v.2.03

Power ISA v.2.03의[7] 사양은 POWER5+의 이전 PowerPC ISA v.2.02[8]Power[9] Book E 확장을 기반으로 합니다.PC 사양Book I에는 DSPAltiVec 확장과 같은 보조 처리 장치에 관한 5개의 새로운 장이 포함되어 있습니다.

준거 코어

Power ISA v.2.04

Power ISA v.2.04의[10] 사양은 2007년6월에 확정되었습니다.Power ISA v.2.03을 기반으로 가상화, 하이퍼바이저 기능, 논리 파티션가상 페이지 처리에 관한 Book III-S 파트의 주요 변경사항이 포함되어 있습니다.

준거 코어
  • Power ISA 이전 버전에 준거한 모든 코어
  • P.A.로부터의 PA6T 코어세미
  • AMC의 타이탄

Power ISA v.2.05

Power ISA v.2.05[11] 사양은 2007년 12월에 발표되었습니다.Power ISA v.2.04를 기반으로 하며 주로 Book I 및 Book III-S대한 변경이 포함되어 있습니다.또, 10진수 연산등의 대폭적인 확장도 포함되어 있습니다(카테고리:Book I)의 10진 부동 소수점 및 서버 하이퍼바이저의 개선.

준거 코어

Power ISA v.2.06

Power ISA v.2.06의[12] 사양은 2009년 2월에 발표되어 [13]2010년 7월에 개정되었습니다.Power ISA v.2.05를 기반으로 POWER7 프로세서와 e500-mc 코어의 확장을 포함하고 있습니다.중요한 신기능 중 하나는 Vector-Scalar Floating Point Instructions(VSX;[14] 벡터스칼라 부동소수점 명령)입니다., 싱글 코어 및 멀티 코어 실장에서의 하이퍼바이저와 가상화에 관한 임베디드 사양의 대폭적인 확장도 포함되어 있습니다.

이 사양은 2010년 11월에 Power ISA v.2.06 리비전 B 사양으로 개정되어 가상화 [13][15]기능이 강화되었습니다.

준거 코어

Power ISA v.2.07

Power ISA v.2.07[16] 사양은 2013년 5월에 발표되었습니다.그것은 파워 ISAv.2.06에 논리적 분할 기능, 트랜잭션 메모리를 확충해 성능 모니터링을 새로운 창고 제어 기능, 주요한 증강 VMX과 VSX 벡터 시설 추가에, AES[16]과 함께(VSX-2):257[17]과 갈루아 카운터 모드(GCM), SHA-224, SHA-256,[16]:258SHA-384과 SHA-512[16]을 포함한다 기초한다. 258(SHA-2)암호화 extensIonsCyclic Redundancy Check(CRC; 순회용장검사)[18] 알고리즘입니다.

이 사양은 2015년 4월에 Power ISA v.2.[19]07 B 사양으로 수정되었습니다.

준거 코어

Power ISA v.3.0

Power ISA v.3.0 사양은[20][21] 2015년 11월에 발표되었습니다.OpenPOWER Foundation 설립 후 처음 출시되었으며 광범위한 워크로드에 대한 확장 기능을 포함하며 서버 및 임베디드 카테고리를 삭제하고 하위 호환성을 유지하며 VSX-3 명령 지원을 추가합니다.새로운 기능에는 128비트 4정밀 부동소수점 연산, 난수 생성기, 하드웨어 지원 가비지 컬렉션 및 하드웨어 적용 신뢰 컴퓨팅이 포함됩니다.

이 사양은 2017년 3월에 Power ISA v.3.0 B [22]사양으로 수정되었으며 2020년 [23]5월에 다시 v3.0C로 수정되었습니다.v3.0B와 v3.0C의 주요 차이점은 v3.1에 나열된 준수 수준이 v3.0C에도 추가되었다는 것입니다.

준거 코어

Power ISA v.3.1

Power ISA v.3.1 사양은[25] 2020년 5월에 공개되었습니다.주로 Power10에서 도입된 신기능을 지원하지만 Power에 대한 옵션 개념도 포함되어 있습니다.ISA 사양명령어는 통상적인 4바이트의 "워드 명령"에 비해 8바이트의 "프리픽스 명령"이 될 수 있습니다.또한 SIMD 및 VSX 명령에 많은 새로운 기능이 추가되었습니다.

새로운 64비트 프리픽스 명령의 주요 이점 중 하나는 브랜치 내의 즉시가 34비트로 확장된다는 것입니다.

준거 코어

「 」를 참조해 주세요.

레퍼런스

  1. ^ Power ISA EULA 최종안
  2. ^ 오픈 파워 ISA: 아키텍처 컴플라이언스 및 미래 기반
  3. ^ OPF Power ISA EULA 섹션 2.2
  4. ^ 엘프 PP64 ABI
  5. ^ OpenPOWER EABI v2
  6. ^ 페이지 18 RISC-V "그린카드"
  7. ^ "Power ISA v.2.03". Power.org. 2006-09-29. Archived from the original on 2012-11-24. Retrieved 2010-10-20.
  8. ^ "PowerPC Architecture Book, Version 2.02". IBM. 2005-02-24. Archived from the original on 2007-10-18. Retrieved 2007-03-16.
  9. ^ "PowerPC Book E v.1.0" (PDF). IBM. 2002-05-07. Retrieved 2007-03-16.
  10. ^ "Power ISA Version 2.04" (PDF). Power.org. 2007-06-12. Archived from the original (PDF) on 2007-09-27. Retrieved 2007-06-14.
  11. ^ "Power ISA Version 2.05". Power.org. 2007-10-23. Archived from the original on 2012-11-24. Retrieved 2007-12-18.
  12. ^ "Power.org Debuts Specification Advances and New Services At Power Architecture Developer Conference" (Press release). Power.org. 2007-09-24. Archived from the original on 2007-10-12. Retrieved 2007-09-24.
  13. ^ a b "Power ISA Version 2.06 Revision B". Power.org. 2010-07-23. Archived from the original on 2012-11-24. Retrieved 2011-02-12.
  14. ^ "Workload acceleration with the IBM POWER vector-scalar architecture". IBM. 2016-03-01. Retrieved 2017-05-02.
  15. ^ "Power ISA 2.06 Rev. B enables full hardware virtualization for embedded space". EETimes. 2010-11-03. Retrieved 2011-06-08.
  16. ^ a b c d "Power ISA Version 2.07" (PDF). Power.org. 2013-05-15. Retrieved 2015-05-23.
  17. ^ Barbosa, Leonidas (2014-09-21). "POWER8 in-core cryptography". IBM.
  18. ^ Performance Optimization and Tuning Techniques for IBM Power Systems Processors Including IBM POWER8. IBM. August 2015. p. 48. ISBN 9780738440927.
  19. ^ "Power ISA Version 2.07 B". Power.org. 2015-04-09. Retrieved 2017-01-06.
  20. ^ Power 3.0을 통한 새로운 개방 시대 발표
  21. ^ "Power ISA Version 3.0". openpowerfoundation.org. 2016-11-30. Retrieved 2017-01-06.
  22. ^ "Power ISA Version 3.0 B". Power.org. 2017-03-27. Retrieved 2019-08-11.
  23. ^ Power ISA 사양 목록
  24. ^ [Patch, COMMITED] 풀파워 ISA 3.0 / POWER 9 바이너티 지원 추가
  25. ^ "Power ISA Version 3.1". openpowerfoundation.org. 2020-05-01. Retrieved 2020-05-23.
  26. ^ Seo, Carlos Eduardo (2020-05-12). "We released the Instruction Set Architecture for POWER10. Power ISA v3.1 is available at the IBM Portal for OpenPOWER". twitter.com. Retrieved 2020-05-23.