Nothing Special   »   [go: up one dir, main page]

본문으로 이동

AArch64

위키백과, 우리 모두의 백과사전.

Cortex-A57/A53 MPCore big.LITTLE CPU 칩을 탑재한 Armv8-A 플랫폼

AArch64 또는 ARM64ARM 아키텍처 제품군의 64비트 실행 상태이다. Armv8-A 아키텍처로 처음 도입되었으며 많은 확장 업데이트가 있었다.[1]

AArch64 실행 상태

[편집]

명명 규칙

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

AArch64 기능

[편집]
  • 새로운 명령어 집합, A64:
    • 31개의 범용 64비트 레지스터가 있다.
    • 전용 0 또는 스택 포인터(SP) 레지스터가 있다(명령어에 따라 다름).
    • 프로그램 카운터(PC)는 더 이상 레지스터로 직접 액세스할 수 없다.
    • 명령어는 여전히 32비트 길이이며 대부분 A32와 동일하다(LDM/STM 명령어 및 대부분의 조건부 실행이 삭제됨).
      • LDM/STM 대신 로드/스토어 쌍이 있다.
      • 대부분의 명령(분기 제외)에는 예측이 없다.
    • 대부분의 명령어는 32비트 또는 64비트 인수를 사용할 수 있다.
    • 주소는 64비트로 가정된다.
  • 고급 SIMD(Neon) 향상:
    • 32 × 128비트 레지스터(최대 16개)가 있으며 VFPv4를 통해서도 액세스할 수 있다.
    • 배정밀도 부동 소수점 형식을 지원한다.
    • IEEE 754를 완벽하게 준수한다.
    • AES 암호화/해독 및 SHA-1/SHA-2 해싱 명령어도 이러한 레지스터를 사용한다.
  • 새로운 예외 시스템:
    • 뱅크 레지스터 및 모드 수가 적다.
  • 64비트로 쉽게 확장할 수 있도록 설계된 기존 LPAE(Large Physical Address Extension)를 기반으로 48비트 가상 주소에서 메모리 변환.

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

AArch64는 ARMv8-A에 도입되었으며 ARMv8-A의 후속 버전에 포함된다. ARMv8-A에 도입된 후 ARMv8-R에도 옵션으로 도입되었다. ARMv8-M에는 포함되지 않는다.

ARM-A

[편집]
  • ARMv8.1-A
  • ARMv8.2-A
  • ARMv8.3-A
  • ARMv8.4-A
  • ARMv8.5-A 및 ARMv9.0-A
  • ARMv8.6-A 및 ARMv9.1-A
  • ARMv8.7-A 및 ARMv9.2-A
  • ARMv8.8-A 및 ARMv9.3-A
  • ARMv8.9-A 및 ARMv9.4-A
  • ARMv9.5-A
  • ARMv9.6-A

각주

[편집]
  1. “Overview”. 《Learn the architecture: Understanding the Armv8.x and Armv9.x extensions》. 
  2. “Cortex-A32 Processor – ARM”. 2016년 12월 18일에 확인함. 

외부 링크

[편집]