Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Architectures and Processors blog ARM Architecture Reference Manual for ARMv8-A (64-bit) publicly released
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
  • AArch64
  • Armv8
  • cortex-a50
  • Cortex-A
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

ARM Architecture Reference Manual for ARMv8-A (64-bit) publicly released

Andrew N. Sloss
Andrew N. Sloss
October 9, 2013
2 minute read time.

This blog was originally posted on 11 September 2013 on blogs.arm.com

Following on from the UEFI 64-bit announcement, I like to announce the release of the ARM® Architecture Reference Manual (commonly known as the ARM ARM) for ARMv8-A. This is a significant event that has important implications for the software community. It enables the software eco-system to develop openly for 64-bit ARM applications, compilers, boot firmware and Operating Systems. I believe this will add impetus to the ARM ecosystem, through 64-bit software support, to continue the increasing momentum evident in the many servers & high performance computing, networking and general computing (including mobile and embedded) developments based on the ARMv8-A architecture.

Why develop ARMv8-A?

We started developing ARMv8-A over six years ago as an R&D project, with a major increase in effort in 2009. Technology trends and growing needs for larger memory footprints made it obvious that ARM would need a 64-bit solution; it was only a matter of time… This in turn created interest in new markets for ARM. For example, some server class Operating Systems declared that they were going to be 64-bit only.

What does the latest ARM ARM include?

It 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.

I strongly recommend if you are interested in porting and developing software for ARM application processors that you get hold of the ARM ARM for ARMv8-A and download an ARM Foundation Model. The ARM Foundation Model is a software platform to start early development – this snippet below is taken from the ARM web site:

  • The ARMv8 Foundation Model is a virtual platform incorporating an AArch64 architecture simulation model along with essential peripherals for running a Linux operating system. Multicore is configurable out-of-the-box, along with 4GB memory of simulation memory, persistent storage, and networking and basic instruction trace.
  • Debug is via a GDB connection to a server running on the platform. The host platform support is 64-bit Linux.

How to obtain the ARMv8-A Reference Manual?

Go to ARM Infocenter and navigate through ARM architecture / Reference Manuals

Summary

The ARM ARM for ARMv8-A is now publicly released. It allows the software community to openly develop 64-bit ARM software. This is a significant event for the entire ARM eco-system.

Note: Information previously published in an AArch64 Instruction set Overview document is included in the new manual.

Anonymous
Architectures and Processors blog
  • Introducing GICv5: Scalable and secure interrupt management for Arm

    Christoffer Dall
    Christoffer Dall
    Introducing Arm GICv5: a scalable, hypervisor-free interrupt controller for modern multi-core systems with improved virtualization and real-time support.
    • April 28, 2025
  • Getting started with AARCHMRS Features.json using Python

    Joh
    Joh
    A high-level introduction to the Arm Architecture Machine Readable Specification (AARCHMRS) Features.json with some examples to interpret and start to work with the available data using Python.
    • April 8, 2025
  • Advancing server manageability on Arm Neoverse Compute Subsystem (CSS) with OpenBMC

    Samer El-Haj-Mahmoud
    Samer El-Haj-Mahmoud
    Arm and 9elements Cyber Security have brought a prototype of OpenBMC to the Arm Neoverse Compute Subsystem (CSS) to advancing server manageability.
    • January 28, 2025