본문으로 이동

AArch64

한울위키, 우리 모두의 백과사전.
ARM AArch64 (64비트)
파일:AArch64 logo.svg
발표2011년(15년 전)(2011)
버전ARMv8-A, ARMv8-R, ARMv9-A
인코딩AArch64/A64 및 AArch32/A32는 32비트 명령어를 사용하며, AArch32/T32 (Thumb-2)는 16비트와 32비트 혼합 명령어를 사용함[1]
엔디언데이터에 대해서만 바이엔디언 (기본값은 리틀 엔디언, 명령어는 리틀 엔디언)
확장
  • SVE, SVE2, SME, AES, SM3, SM4, SHA, CRC32, RNDR, TME
  • 필수: Thumb-2, Neon, VFPv4-D16, VFPv4
  • 단종: Jazelle
레지스터
범용 목적31 × 64비트 정수 레지스터[1]
부동소수점32 × 128비트 레지스터[1] (스칼라 32 및 64비트 부동소수점 또는 SIMD 부동소수점 또는 정수용, 또는 암호화용)

AArch64 또는 ARM64는 널리 사용되는 컴퓨터 프로세서 설계 세트인 ARM 아키텍처64비트 버전이다. 2011년 ARMv8 아키텍처와 함께 도입되었으며 나중에 ARMv9 시리즈의 일부가 되었다. AArch64를 사용하면 프로세서가 이전의 32비트 버전보다 더 많은 메모리를 처리하고 더 빠른 계산을 수행할 수 있다. 이는 AArch32로 알려진 이전 32비트 모드와 함께 작동하도록 설계되어 광범위한 소프트웨어와의 호환성을 허용한다. AArch64를 사용하는 장치에는 스마트폰, 태블릿, 개인용 컴퓨터서버가 포함된다. AArch64 아키텍처는 성능, 보안 및 고급 컴퓨팅 작업에 대한 지원을 개선하는 업데이트를 통해 계속 진화하고 있다.[2]

AArch64 실행 상태

ARMv8-A, ARMv8-R 및 ARMv9-A에서 "실행 상태"(Execution state)는 프로세서 환경의 주요 특성을 정의한다. 여기에는 기본 프로세서 레지스터에 사용되는 비트 수, 지원되는 명령어 집합 및 프로세서 실행 환경의 기타 측면이 포함된다. 이러한 버전의 ARM 아키텍처는 64비트 AArch64 상태와 32비트 AArch32 상태의 두 가지 실행 상태를 지원한다.[3]

명명 규칙

  • 64비트:
    • 실행 상태: AArch64
    • 명령어 집합: A64
  • 32비트:
    • 실행 상태: AArch32
    • 명령어 집합: A32 + T32
    • 예: ARMv8-R, Cortex-A32[4]

AArch64 기능

  • 새로운 명령어 집합, A64:
    • 31개의 범용 64비트 레지스터를 가짐
    • 전용 제로(zero) 또는 스택 포인터(SP) 레지스터를 가짐 (명령어에 따라 다름)
    • 프로그램 카운터(PC)는 더 이상 레지스터로 직접 접근할 수 없음
    • 명령어는 여전히 32비트 길이며 대부분 A32와 동일함 (LDM/STM 명령어 및 대부분의 조건부 실행은 제외됨)
      • 쌍을 이룬 로드/스토어(LDM/STM 대신)를 가짐
      • 대부분의 명령어(분기 제외)에 대해 프레디케이션이 없음
    • 대부분의 명령어는 32비트 또는 64비트 인수를 취할 수 있음
    • 주소는 64비트로 간주됨
  • 향상된 고급 SIMD (Neon):
    • 32 × 128비트 레지스터를 가짐 (16개에서 증가), VFPv4를 통해서도 접근 가능
    • 배정밀도 부동소수점수 지원
    • IEEE 754 완벽 준수
    • AES 암호화/복호화 및 SHA-1/SHA-2 해싱 명령어도 이 레지스터를 사용함
  • 새로운 예외 시스템:
    • 뱅크드(banked) 레지스터와 모드가 줄어듦
  • 64비트로 쉽게 확장되도록 설계된 기존의 대용량 물리 주소 확장(LPAE)을 기반으로 한 48비트 가상 주소로부터의 메모리 변환

확장: 데이터 수집 힌트 (ARMv8.0-DGH).

AArch64는 ARMv8-A에서 도입되었으며 이후 버전의 ARMv8-A 및 모든 버전의 ARMv9-A에 포함되어 있다. 또한 ARMv8-A 도입 이후 ARMv8-R에서도 옵션으로 도입되었으나, ARMv8-M에는 포함되지 않는다.

A64 명령어 형식

A64 명령어가 속한 그룹을 선택하기 위한 주요 연산 코드(opcode)는 25~28비트에 위치한다.

A64 명령어 형식
유형 비트
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
예약됨 0 op0 0 0 0 0 op1
SME 1 op0 0 0 0 0 가변적
미할당 0 0 0 1
SVE 0 0 1 0 가변적
미할당 0 0 1 1
데이터 처리 — 즉시 PC-상대 op immlo 1 0 0 0 0 immhi Rd
데이터 처리 — 즉시 기타 sf 1 0 0 01–11 Rd
분기 + 시스템 명령어 op0 1 0 1 op1 op2
로드 및 스토어 명령어 op0 1 op1 0 op2 op3 op4
데이터 처리 — 레지스터 sf op0 op1 1 0 1 op2 op3
데이터 처리 — 부동소수점 및 SIMD op0 1 1 1 op1 op2 op3

ARM-A (애플리케이션 아키텍처)

파일:ARMCortexA57A53.jpg
Cortex-A57/A53 MPCore Big.LITTLE CPU 칩을 장착한 Armv8-A 플랫폼

2011년 10월에 발표된[5] ARMv8-A는 ARM 아키텍처의 근본적인 변화를 나타낸다. 이는 "AArch64"라고 불리는 선택적 64비트 실행 상태와 관련 새로운 "A64" 명령어 집합을 추가하며, 기존의 32비트 "A32"(오리지널 32비트 ARM) 및 "T32"(Thumb/Thumb-2) 명령어 집합을 지원하는 32비트 실행 상태인 "AArch32"도 함께 지원한다. 후자의 명령어 집합은 기존의 32비트 ARMv7-A 아키텍처와 사용자 공간 호환성을 제공한다. ARMv8-A를 사용하면 64비트 OS에서 32비트 애플리케이션을 실행할 수 있으며, 32비트 OS를 64비트 하이퍼바이저의 제어 하에 둘 수 있다.[1] ARM은 2012년 10월 30일에 Cortex-A53Cortex-A57 코어를 발표했다.[6] 애플은 소비자 제품(iPhone 5S)에 ARMv8-A 호환 코어(Cyclone)를 최초로 출시했다. AppliedMicroFPGA를 사용하여 ARMv8-A를 최초로 시연했다.[7] 삼성전자의 첫 번째 ARMv8-A SoC갤럭시 노트4에 사용된 엑시노스 5433으로, Big.LITTLE 구성의 Cortex-A57 및 Cortex-A53 코어 4개씩 두 개의 클러스터를 특징으로 하지만 AArch32 모드에서만 실행된다.[8] ARMv8-A는 AArch32와 AArch64 모두에서 VFPv3/v4 및 고급 SIMD(Neon)를 표준 기능으로 포함한다. 또한 AES, SHA-1/SHA-256유한체 산술을 지원하는 암호화 명령어를 추가한다.[9]

ARMv8-A 프로세서는 AArch32와 AArch64 중 하나 또는 둘 다를 지원할 수 있다. 낮은 예외 레벨에서는 AArch32와 AArch64를 지원하고 높은 예외 레벨에서는 AArch64만 지원할 수도 있다.[10] 예를 들어, ARM Cortex-A32는 AArch32만 지원하고, ARM Cortex-A34는 AArch64만 지원하며, ARM Cortex-A72는 AArch64와 AArch32를 모두 지원한다.[11] ARMv9-A 프로세서는 모든 예외 레벨에서 AArch64를 지원해야 하며, EL0에서 AArch32를 지원할 수 있다.[10]

ARMv8.1-A

2014년 12월, "v8.0에 비해 점진적인 이점"을 가진 업데이트인 ARMv8.1-A가 발표되었다.[12] 향상된 기능은 명령어 집합의 변경과 예외 모델 및 메모리 변환의 변경이라는 두 가지 범주로 나뉜다.

명령어 집합의 향상된 기능은 다음과 같다.

  • AArch64 원자적 읽기-쓰기 명령어 세트.
  • 일부 라이브러리 최적화를 가능하게 하기 위해 AArch32 및 AArch64 모두를 위한 고급 SIMD 명령어 집합 추가:
    • Signed Saturating Rounding Doubling Multiply Accumulate, Returning High Half.
    • Signed Saturating Rounding Doubling Multiply Subtract, Returning High Half.
    • 명령어가 벡터 및 스칼라 형식으로 추가됨.
  • 구성 가능한 주소 영역으로 제한된 메모리 접근 순서를 제공할 수 있는 AArch64 로드 및 스토어 명령어 세트.
  • v8.0의 선택적 CRC 명령어가 ARMv8.1에서 필수 사항이 됨.

예외 모델 및 메모리 변환 시스템의 향상된 기능은 다음과 같다.

  • 새로운 PAN(Privileged Access Never) 상태 비트는 명시적으로 활성화되지 않는 한 사용자 데이터에 대한 특권 접근을 방지하는 제어 기능을 제공함.
  • 가상화를 위한 VMID 범위 증가; 더 많은 수의 가상 머신 지원.
  • 페이지 테이블 접근 플래그의 하드웨어 업데이트에 대한 선택적 지원 및 선택적인 하드웨어 업데이트 더티 비트 메커니즘의 표준화.
  • 가상화 호스트 확장(Virtualization Host Extensions, VHE). 이러한 향상된 기능은 호스트와 게스트 운영 체제 간의 전환 시 발생하는 소프트웨어 오버헤드를 줄여 유형 2 하이퍼바이저의 성능을 개선함. 이 확장을 통해 호스트 OS는 실질적인 수정 없이 EL1 대신 EL2에서 실행될 수 있음.[13]
  • OS에 하드웨어 지원이 필요하지 않은 경우 운영 체제 용도로 일부 변환 테이블 비트를 해제하는 메커니즘.
  • 메모리 태깅을 위한 Top byte ignore.[14]

ARMv8.2-A

ARMv8.2-A는 2016년 1월에 발표되었다.[15] 향상된 기능은 네 가지 범주로 나뉜다.

확장형 벡터 확장 (SVE)

확장형 벡터 확장(Scalable Vector Extension, SVE)은 고능성 컴퓨팅 과학 워크로드의 벡터화를 위해 특별히 개발된 "ARMv8.2-A 아키텍처 이상에 대한 선택적 확장"으로 라이선스가 부여된다.[16][17] 사양에 따라 ARM 라이선스 사용자는 128비트 배수로 128에서 2048비트 사이의 하드코딩된 아키텍처 레지스터 너비를 선택할 수 있다. 이 확장은 NEON 확장을 보완하며 이를 대체하지 않는다.

512비트 SVE 변체는 후지쯔 A64FX ARM 프로세서를 사용하는 후가쿠 슈퍼컴퓨터에서 이미 구현되었다. 이 컴퓨터는[18] 2020년 6월부터[19] 2022년 5월까지[20] 2년 동안 세계에서 가장 빠른 슈퍼컴퓨터였다. 더 유연한 버전인 2x256 SVE는 AWS Graviton3 ARM 프로세서에 의해 구현되었다.

SVE는 GCC에서 지원되며, GCC 8은 자동 벡터화를 지원하고[17] GCC 10은 C 인트린직(intrinsics)을 지원한다. 2020년 7월 현재 LLVM클랭은 C 및 IR 인트린직을 지원한다. ARM 자체 LLVM 포크는 자동 벡터화를 지원한다.[21]

ARMv8.3-A

2016년 10월, ARMv8.3-A가 발표되었다. 향상된 기능은 여섯 가지 범주로 나뉜다.[22]

  • 포인터 인증 (PAC)[23][24] (AArch64 전용); 새로운 블록 암호QARMA[25]를 기반으로 하는 아키텍처의 필수 확장(컴파일러는 보안 기능을 활용해야 하지만, 명령어가 NOP 공간에 있으므로 이전 칩에서 추가 보안을 제공하지는 않지만 하위 호환성을 유지함).
  • 중첩 가상화 (AArch64 전용).
  • 고급 SIMD 복소수 지원 (AArch64 및 AArch32); 예: 90도 배수 회전.
  • 새로운 FJCVTZS (Floating-point 자바스크립트 Convert to Signed fixed-point, rounding toward Zero) 명령어.[26]
  • C++11/C11의 (비기본) 약한 RCpc(Release Consistent processor consistent) 모델을 지원하기 위한 메모리 일관성 모델의 변경 (AArch64 전용) (기본 C++11/C11 일관성 모델은 이전 ARMv8에서 이미 지원되었음).
  • 대규모 시스템 가시성 캐시를 위한 ID 메커니즘 지원 (AArch64 및 AArch32).

ARMv8.3-A 아키텍처는 이제 최소 GCC 7.0에서 지원된다.[27]

ARMv8.4-A

2017년 11월, ARMv8.4-A가 발표되었다. 향상된 기능은 다음 범주로 나뉜다.[28][29][30]

  • "SHA3 / SHA512 / SM3 / SM4 암호화 확장", 즉 선택적 명령어.
  • 가상화 지원 개선.[31]
  • 메모리 파티셔닝 및 모니터링 (MPAM) 기능.
  • 새로운 Secure EL2 상태 및 활동 모니터.
  • 부호 있는 및 부호 없는 정수 스칼라곱(SDOT 및 UDOT) 명령어.

ARMv8.5-A 및 ARMv9.0-A

2018년 9월, ARMv8.5-A가 발표되었다. 향상된 기능은 다음 범주로 나뉜다.[32][33][34]

  • 메모리 태깅 확장 (MTE) (AArch64).[35]
  • "공격자가 임의의 코드를 실행할 수 있는 능력"을 줄이기 위한 분기 타겟 표시기 (BTI) (AArch64). 포인터 인증과 마찬가지로 관련 명령어는 이전 버전의 ARMv8-A에서 무연산(no-ops)이다.
  • 난수 생성기 명령어 – "다양한 국내 및 국제 표준을 준수하는 결정론적 및 진정 난수 제공".

2019년 8월 2일, 구글안드로이드가 메모리 태깅 확장(MTE)을 채택할 것이라고 발표했다.[36]

2021년 3월, ARMv9-A가 발표되었다. ARMv9-A의 기준선은 ARMv8.5의 모든 기능이다.[37][38][39] ARMv9-A는 또한 다음을 추가한다.

  • 확장형 벡터 확장 2 (SVE2). SVE2는 명령어당 더 많은 작업을 수행할 수 있도록 미세한 데이터 레벨 병렬성(DLP)을 높이기 위해 SVE의 확장 가능한 벡터화를 기반으로 구축되었다. SVE2의 목표는 현재 NEON을 사용하는 DSP 및 멀티미디어 SIMD 코드를 포함한 더 광범위한 소프트웨어에 이러한 이점을 제공하는 것이다.[40] LLVM/클랭 9.0 및 GCC 10.0은 SVE2를 지원하도록 업데이트되었다.[40][41]
  • 트랜잭셔널 메모리 확장 (TME). x86 확장을 따라 TME는 하드웨어 트랜잭셔널 메모리 (HTM) 및 트랜잭셔널 락 엘리전(TLE) 지원을 제공한다. TME는 스레드당 더 많은 작업을 수행할 수 있도록 거친 스레드 레벨 병렬성(TLP)을 높이기 위해 확장 가능한 동시성을 제공하는 것을 목표로 한다.[40] LLVM/클랭 9.0 및 GCC 10.0은 TME를 지원하도록 업데이트되었다.[41]
  • 기밀 컴퓨팅 아키텍처 (CCA).[42][43][44]

ARMv8.6-A 및 ARMv9.1-A

2019년 9월, ARMv8.6-A가 발표되었다. 향상된 기능은 다음 범주로 나뉜다.[32][45]

  • 일반 행렬 곱셈 (GEMM).
  • Bfloat16 형식 지원.
  • SIMD 행렬 조작 명령어 (NEON에 추가됨):
    • BFDOT* (BFloat16 스칼라곱)
    • BFMMLA (BFloat16 행렬 곱셈 및 누산)
    • BFMLAL* (BFloat16 곱셈 및 누산, long으로 확장)
    • BFCVT* (BFloat16 변환)
  • 가상화, 시스템 관리 및 보안을 위한 향상된 기능.
  • 그리고 다음 확장 기능 (LLVM 11에서 이미 지원 추가됨):
    • 향상된 카운터 가상화 (ARMv8.6-ECV).
    • 미세 트랩 (ARMv8.6-FGT).
    • 활동 모니터 가상화 (ARMv8.6-AMU).

예를 들어, 미세 트랩, WFE(Wait-for-Event) 명령어, EnhancedPAC2 및 FPAC가 있다. SVE 및 Neon을 위한 bfloat16 확장은 주로 딥 러닝 용도이다.[46]

ARMv8.7-A 및 ARMv9.2-A

2020년 9월, ARMv8.7-A가 발표되었다. 향상된 기능은 다음 범주로 나뉜다.[32][47]

  • 확장형 행렬 확장 (SME) (ARMv9.2 전용).[48] SME는 다음과 같이 행렬을 효율적으로 처리하기 위한 새로운 기능을 추가한다.
    • 행렬 타일 저장소.
    • 즉석(On-the-fly) 행렬 전치.
    • 타일 벡터 로드/스토어/삽입/추출.
    • SVE 벡터의 행렬 외적.
    • "스트리밍 모드" SVE.
  • PCIe 핫 플러그에 대한 향상된 지원 (AArch64).
  • 가속기에 대한 원자적 64바이트 로드 및 스토어 (AArch64).
  • 타임아웃이 있는 WFI(Wait For Interrupt) 및 WFE(Wait For Event) (AArch64).
  • 분기 기록 기록 (ARMv9.2 전용).
  • 콜 스택 레코더.

ARMv8.8-A 및 ARMv9.3-A

2021년 9월, ARMv8.8-A 및 ARMv9.3-A가 발표되었다. 향상된 기능은 다음 범주로 나뉜다.[32][49]

  • 마스크 불가능 인터럽트 (AArch64).
  • memcpy() 및 memset() 스타일 작업을 최적화하기 위한 명령어 (AArch64).
  • PAC의 향상된 기능 (AArch64).
  • 힌트가 포함된 조건부 분기 (AArch64).

LLVM 15는 ARMv8.8-A 및 ARMv9.3-A를 지원한다.[50]

ARMv8.9-A 및 ARMv9.4-A

2022년 9월, ARMv8.9-A 및 ARMv9.4-A가 발표되었으며 다음을 포함한다.[51]

  • 가상 메모리 시스템 아키텍처 (VMSA) 향상.
    • 권한 간접 참조 및 오버레이.
    • 변환 강화(Translation hardening).
    • 128비트 변환 테이블 (ARMv9 전용).
  • 확장형 행렬 확장 2 (SME2) (ARMv9 전용).
    • 다중 벡터 명령어.
    • 다중 벡터 프레디케이트(predicates).
    • 2b/4b 가중치 압축.
    • 1b 이진 네트워크.
    • 범위 프리페치(Range Prefetch).
  • 가드 제어 스택 (GCS) (ARMv9 전용).
  • 기밀 컴퓨팅.
    • 메모리 암호화 컨텍스트.
    • 장치 할당.

ARMv9.5-A

2023년 10월, ARMv9.5-A가 발표되었으며 다음을 포함한다.[52]

  • 다음에 추가된 FP8 지원 (E5M2 및 E4M3 형식):
    • SME2
    • SVE2
    • 고급 SIMD (Neon)
  • 하드웨어 더티 상태 추적 구조(FEAT_HDBSS)를 이용한 가상 머신의 라이브 마이그레이션
  • 체크 포인트 산술
  • 포인터 인증 코드를 생성하거나 확인할 때 PC와 SP의 조합을 수정자로 사용하는 기능 지원.
  • 영역 관리 확장(RME) 활성화 설계 지원, 과립 보호 테이블(Granule Protection Tables)에서 비보안 전용 지원 및 특정 물리 주소 공간(PAS)을 비활성화하는 기능.
  • EL3 구성 쓰기 트랩.
  • 링크 연결 없이 주소 범위 및 불일치 트리거에 대한 중단점 지원.
  • EL3에서 EL2 또는 EL1로 SError를 효율적으로 위임하는 기능 지원.

ARMv9.6-A

2024년 10월, ARMv9.6-A가 발표되었으며 다음을 포함한다.[53]

  • 구조적 희소성 및 쿼터 타일(quarter tile) 연산을 통한 SME 효율성 개선
  • 멀티 칩렛 및 멀티 칩 시스템에서 공유 메모리 컴퓨터 시스템을 더 잘 지원하기 위한 MPAM 도메인
  • 가상 머신에서의 추적 및 통계적 프로파일링을 위한 하이퍼바이저 메모리 제어
  • 캐싱 및 데이터 배치 개선
  • 기밀 컴퓨팅을 위한 세밀한 데이터 격리
  • EL1 시스템 레지스터의 비트 단위 잠금
  • 대규모 메모리 시스템을 위한 과립 보호 테이블(GPT)의 확장성 개선
  • 확장/축소 및 첫 번째/마지막 활성 요소를 찾기 위한 새로운 SVE 명령어
  • OS가 애플리케이션 메모리와 상호작용할 수 있도록 하는 추가적인 비특권 로드 및 스토어 명령어 (LDL(U)R* 및 STL(U)R*)
  • EL3에서 정의되지 않은 명령어 예외 주입

ARMv9.7-A

2025년 10월, ARMv9.7-A가 발표되었으며 다음을 포함한다.[54]

  • 타겟 메모리 무효화 브로드캐스트
  • 유연한 리소스 관리 (MPAMv2)
  • 인공지능을 위한 6비트 데이터 유형
  • 비디오 코덱
  • GICv5

ARM-R (실시간 아키텍처)

ARM-R 아키텍처, 특히 Armv8-R 프로파일은 예측 가능하고 결정론적인 동작이 필수적인 실시간 애플리케이션의 요구 사항을 해결하도록 설계되었다. 이 프로파일은 실시간 제약이 중요한 임베디드 시스템에서 고성능, 신뢰성 및 효율성을 제공하는 데 중점을 둔다.

Armv8-R 프로파일에 선택적인 AArch64 지원이 도입되면서 실시간 기능이 더욱 향상되었다. Cortex-R82[55]는 이 확장된 지원을 구현한 최초의 프로세서로, 실시간 영역에 여러 가지 새로운 기능과 개선 사항을 가져왔다.[56]

각주

  1. Grisenthwaite, Richard (2011). “ARMv8-A Technology Preview” (PDF). 2011년 11월 11일에 원본 문서 (PDF)에서 보존된 문서. 2011년 10월 31일에 확인함. 
  2. “Overview”. 《Learn the architecture: Understanding the Armv8.x and Armv9.x extensions》. 
  3. “ARM Cortex-A57 MPCore Processor Technical Reference Manual”. Arm Ltd. 
  4. “Cortex-A32 Processor – ARM”. 2016년 12월 18일에 확인함. 
  5. “ARM Discloses Technical Details Of The Next Version Of The ARM Architecture” (보도 자료). ARM 홀딩스. 2011년 10월 27일. 2019년 1월 1일에 원본 문서에서 보존된 문서. 2013년 9월 20일에 확인함. 
  6. “ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors” (보도 자료). ARM 홀딩스. 2012년 10월 31일에 확인함. 
  7. “AppliedMicro Showcases World's First 64-bit ARM v8 Core” (보도 자료). AppliedMicro. 2011년 10월 28일. 2014년 2월 11일에 확인함. 
  8. “Samsung's Exynos 5433 is an A57/A53 ARM SoC”. AnandTech. 2014년 9월 17일에 원본 문서에서 보존된 문서. 2014년 9월 17일에 확인함. 
  9. “ARM Cortex-A53 MPCore Processor Technical Reference Manual: Cryptography Extension”. ARM. 2016년 9월 11일에 확인함. 
  10. “Impact of implemented Exception levels”. 《Learn the architecture - AArch64 Exception Model》. Arm. 
  11. “Cortex-A72”. 《Arm Developer》. 
  12. Brash, David (2014년 12월 2일). “The ARMv8-A architecture and its ongoing development”. 2015년 1월 23일에 확인함. 
  13. “ARM Virtualization: Performance and Architectural Implications”. 《ISCA 2016》. 2016년 6월 18일. 
  14. “Top-byte ignore (TBI)”. 《WikiChip》. 
  15. Brash, David (2016년 1월 5일). “ARMv8-A architecture evolution”. 2016년 6월 7일에 확인함. 
  16. “The scalable vector extension sve for the ARMv8 a architecture” (영어). 《Arm Community》. 2016년 8월 22일. 2018년 7월 8일에 확인함. 
  17. “GCC 8 Release Series – Changes, New Features, and Fixes – GNU Project – Free Software Foundation (FSF)” (영어). 《gcc.gnu.org》. 2018년 7월 9일에 확인함. 
  18. “Fujitsu Completes Post-K Supercomputer CPU Prototype, Begins Functionality Trials – Fujitsu Global” (영어) (보도 자료). 《www.fujitsu.com》. 2018년 7월 8일에 확인함. 
  19. “Japan's Fugaku gains title as world's fastest supercomputer” (영어) (보도 자료). www.riken.jp. 2020년 6월 23일. 2020년 12월 7일에 확인함. 
  20. “ORNL's Frontier First to Break the Exaflop Ceiling”. 《Top500》. 2022년 5월 30일. 2022년 5월 30일에 확인함. 
  21. “⚙ D71712 Downstream SVE/SVE2 implementation (LLVM)”. 《reviews.llvm.org》. 
  22. David Brash (2016년 10월 26일). “ARMv8-A architecture – 2016 additions”. 
  23. “[Ping~,AArch64] Add commandline support for -march=armv8.3-a”. pointer authentication extension is defined to be mandatory extension on ARMv8.3-A and is not optional 
  24. “Pointer Authentication on Arm”. ARM. 2025년 3월 5일에 확인함. 
  25. “Qualcomm releases whitepaper detailing pointer authentication on ARMv8.3”. 2017년 1월 10일. 
  26. “A64 Floating-point Instructions: FJCVTZS”. 《arm.com》. 2019년 7월 11일에 확인함. 
  27. “GCC 7 Release Series – Changes, New Features, and Fixes”. The ARMv8.3-A architecture is now supported. It can be used by specifying the -march=armv8.3-a option. [..] The option -msign-return-address= is supported to enable return address protection using ARMv8.3-A Pointer Authentication Extensions. 
  28. “Introducing 2017's extensions to the Arm Architecture” (영어). 《community.arm.com》. 2017년 11월 2일. 2019년 6월 15일에 확인함. 
  29. “Exploring dot product machine learning” (영어). 《community.arm.com》. 2017년 12월 6일. 2019년 6월 15일에 확인함. 
  30. “ARM Preps ARMv8.4-A Support For GCC Compiler – Phoronix” (영어). 《www.phoronix.com》. 2018년 1월 14일에 확인함. 
  31. “NEVE: Nested Virtualization Extensions for ARM”. 《SOSP 2017》. 2017년 10월 14일. 
  32. “ARMv8.x and ARMv9.x extensions and features”. 《Learn the architecture: Understanding the ARMv8.x and ARMv9.x extensions》. 
  33. “Arm Architecture ARMv8.5-A Announcement – Processors blog – Processors – Arm Community” (영어). 《community.arm.com》. 2019년 4월 26일에 확인함. 
  34. “Arm Architecture Reference Manual ARMv8, for ARMv8-A architecture profile” (영어). 《ARM Developer》. 2019년 8월 6일에 확인함. 
  35. “Arm MTE architecture: Enhancing memory safety” (영어). 《community.arm.com》. 2019년 8월 5일. 2021년 7월 27일에 확인함. 
  36. “Adopting the Arm Memory Tagging Extension in Android” (영어). 《Google Online Security Blog》. 2019년 8월 6일에 확인함. 
  37. “Arm's solution to the future needs of AI, security and specialized computing is v9” (영어). 《Arm | The Architecture for the Digital World》. 2021년 7월 27일에 확인함. 
  38. Schor, David (2021년 3월 30일). “Arm Launches ARMv9” (미국 영어). 《WikiChip Fuse》. 2021년 7월 27일에 확인함. 
  39. Frumusanu, Andrei. “Arm Announces ARMv9 Architecture: SVE2, Security, and the Next Decade”. 《www.anandtech.com》. 2021년 3월 30일에 원본 문서에서 보존된 문서. 2021년 7월 27일에 확인함. 
  40. “Arm releases SVE2 and TME for A-profile architecture – Processors blog – Processors – Arm Community” (영어). 《community.arm.com》. 2019년 4월 18일. 2019년 5월 25일에 확인함. 
  41. “Arm SVE2 Support Aligning For GCC 10, LLVM Clang 9.0 – Phoronix”. 《www.phoronix.com》. 2019년 5월 26일에 확인함. 
  42. “Design and Verification of the Arm Confidential Compute Architecture”. 《OSDI 2022》. 2022년 7월 11일에 확인함. 
  43. “Unlocking the power of data with Arm CCA” (영어). 《community.arm.com》. 2021년 6월 23일. 2021년 7월 27일에 확인함. 
  44. “Arm Introduces Its Confidential Compute Architecture” (미국 영어). 《WikiChip Fuse》. 2021년 6월 23일. 2021년 7월 27일에 확인함. 
  45. “Arm A profile architecture update 2019” (영어). 《community.arm.com》. 2019년 9월 25일. 2019년 9월 26일에 확인함. 
  46. “BFloat16 extensions for ARMv8-A” (영어). 《community.arm.com》. 2019년 8월 29일. 2019년 8월 30일에 확인함. 
  47. Weidmann, Martin (2020년 9월 21일). “Arm A-Profile Architecture Developments 2020”. 《community.arm.com》. ARM. 2022년 9월 28일에 확인함. 
  48. “Scalable Matrix Extension for the ARMv9-A Architecture” (영어). 《community.arm.com》. 2021년 7월 14일. 2021년 7월 27일에 확인함. 
  49. Weidmann, Martin (2021년 9월 8일). “Arm A-Profile Architecture Developments 2021”. 《community.arm.com》. ARM. 2022년 9월 28일에 확인함. 
  50. “What is New in LLVM 15? - Architectures and Processors blog - Arm Community blogs - Arm Community”. 2023년 2월 27일. 2023년 4월 15일에 확인함. 
  51. “Arm A-Profile Architecture Developments 2022 - Architectures and Processors blog - Arm Community blogs - Arm Community” (영어). 《community.arm.com》. 2022년 9월 29일. 2022년 12월 9일에 확인함. 
  52. “Arm A-Profile Architecture Developments 2023 - Architectures and Processors blog - Arm Community blogs - Arm Community” (영어). 《community.arm.com》. 2023년 10월 5일. 2024년 10월 14일에 확인함. 
  53. “Arm A-Profile Architecture Developments 2024 - Architectures and Processors blog - Arm Community blogs - Arm Community” (영어). 《community.arm.com》. 2024년 10월 1일. 2024년 10월 14일에 확인함. 
  54. “Arm A-Profile Architecture developments 2025 - Architectures and Processors blog - Arm Community blogs - Arm Community” (영어). 《community.arm.com》. 2025년 10월 2일. 2025년 10월 15일에 확인함. 
  55. Frumusanu, Andrei (2020년 9월 3일). “ARM Announced Cortex-R82: First 64-bit Real Time Processor”. 《AnandTech》. 2020년 9월 3일에 원본 문서에서 보존된 문서. 
  56. “Arm Architecture Reference Manual Supplement - Armv8, for Armv8-R AArch64 architecture profile”. Arm Ltd. 

외부 링크