본문으로 건너뛰기
0%

Understanding ARM64 Architecture

Definitions

ARM’s definitions when introducing 64-bit support

  • AArch32 – The legacy 32-bit instruction set architecture (ISA) defined by ARM, including Thumb mode execution.
  • AArch64 – The new 64-bit ISA (instruction set architecture) defined by ARM.
  • ARMv7 - The specification for “7th generation” ARM hardware that also includes support for AArch32. This is the first version of ARM hardware supported by Windows for ARM.
  • ARMv8 - The specification for “8th generation” ARM hardware that includes support for both AArch32 and AArch64.

Windows definitions

  • ARM – Refers to AArch32 (32-bit ARM architecture), also known as WoA (Windows on ARM).
  • ARM32 – Same as ARM above, used in this document for clarity.
  • ARM64 – Refers to 64-bit ARM architecture (AArch64). There is no WoA64.

ARM data types

  • Short-Vector – A data type that can be directly represented as 8-byte or 16-byte elements in a vector. The size is aligned to 8 or 16 bytes, and each element can be 1, 2, 4, or 8 bytes.
  • HFA (Homogeneous Floating-point Aggregate) – A data type containing 2-4 identical floating-point members (floats or doubles).
  • HVA (Homogeneous Short-Vector Aggregate) – A data type with 2-4 identical Short-Vector members.

Reference

[1] ARM64 ABI Conventions Overview for C++ Projects on ARM Processors, Microsoft, https://docs.microsoft.com/ko-kr/cpp/build/arm64-windows-abi-conventions?view=msvc-160

댓글 남기기

여러분의 생각을 들려주세요

댓글

GitHub 계정으로 로그인하여 댓글을 남겨보세요. 건설적인 의견과 질문을 환영합니다!

댓글을 불러오는 중...