The ARMv8-A reference manual is now publicly released, offering software community tools to openly develop 64-bit ARM software.
The ARM Architecture Reference Manual (commonly known as the ARM ARM) for ARMv8-A enables the software eco-system to develop openly for 64-bit ARM applications, compilers, boot firmware and Operating Systems.
The manual describes the registers, instructions, instruction encodings, exception model, virtual memory model (including cache support) and memory management, as well as the debug architecture. At a high level, ARMv8-A describes both a 32-bit and 64-bit architecture, respectively called AArch32 and AArch64.
- AArch32 is the ARMv8-A 32-bit execution state, that uses 32-bit general purpose registers, a 32-bit program counter (PC), stack pointer (SP), and link register (LR). AArch32 execution state provides a choice of two instruction sets, A32 (ARM) and T32 (Thumb2). Operation in AArch32 state is compatible with ARMv7-A operation.
- AArch64 the ARMv8-A 64-bit execution state, that uses 64-bit general purpose registers, and a 64-bit program counter (PC), stack pointer (SP), and exception link registers (ELR). AArch64 execution state provides a single instruction set, A64.
The ARM Architecture Reference Manual is available at ARM Infocenter