What Makes ARMv8 Architecture Powerful? A Deep Dive into 64‑Bit Features
This article provides a comprehensive overview of the ARMv8 architecture, detailing its 32‑bit and 64‑bit execution states, backward compatibility, key enhancements such as larger register pools and address spaces, and the specific characteristics of ARMv8‑A processors like Cortex‑A53, A57, and A73.
ARMv8 Architecture Overview
ARMv8 includes both 32‑bit (AArch32) and 64‑bit (AArch64) execution states, introduces 64‑bit wide registers while remaining backward compatible with ARMv7 software.
AArch64: 64‑bit execution state.
AArch32: 32‑bit execution state, almost identical to ARMv7.
In GNU/Linux documentation (except Red Hat and Fedora) AArch64 is often referred to as ARM64.
Cortex‑A series processors implemented in ARMv8‑A and ARMv7‑A:
Cortex‑A5, A7, A8, A9, A15, A17 are implemented with the ARMv7‑A architecture.
Cortex‑A53, A57, A73 are implemented with the ARMv8‑A architecture.
ARMv8 processors can run software compiled for ARMv7‑A; 32‑bit code runs when the processor is in AArch32 state. The 64‑bit A64 instruction set runs only on ARMv8 processors.
The Changes from 32‑bit to 64‑bit
Larger register pool
The A64 ISA provides 31 general‑purpose 64‑bit registers, allowing up to eight function arguments to be passed in registers instead of the stack, which improves performance and reduces stack usage.
Wider integer registers
Wider registers enable more efficient handling of 64‑bit data, allowing many 64‑bit operations to be performed in a single instruction, often as fast as equivalent 32‑bit operations.
Larger virtual address space
64‑bit operation permits applications to use a virtual address space larger than 4 GB, essential for memory‑mapped large files and modern desktop/server software.
Larger physical address space
64‑bit pointers (8 bytes) increase the addressable physical memory beyond 4 GB, though they also increase memory consumption and can affect cache‑hit rates.
64‑bit pointers: 8 bytes
32‑bit pointers: 4 bytes
ARMv8‑A Architecture
The ARM architecture dates back to 1985 and has evolved through many generations, adding features at each step.
ARMv4 and earlier
Early processors used only the 32‑bit ARM instruction set.
ARMv4T
Added the 16‑bit Thumb instruction set; first widely licensed architecture, implemented in ARM7TDMI® and ARM9TDMI®.
ARMv5TE
Introduced DSP‑type operations, saturated arithmetic, and ARM/Thumb interworking; implemented in ARM926EJ‑S®.
ARMv6
Added support for unaligned memory accesses, major memory‑system changes, multiprocessor support, optional Thumb‑2 and TrustZone® extensions, and SIMD operations on bytes/half‑words.
ARMv7‑A
Mandated Thumb‑2, added advanced SIMD (NEON), and provided features required by Linux and other OSes.
ARMv7‑A supports Linux‑class operating systems.
ARMv7‑R offers predictable real‑time high performance.
ARMv7‑M targets deeply embedded micro‑controllers.
ARMv8‑A
Combines 32‑bit and 64‑bit execution, introduces 64‑bit wide registers, and maintains backward compatibility with ARMv7 software.
ARMv8‑A Processors: A53, A57 and A73
Cortex‑A53 Processor
Mid‑range, low‑power processor with 1‑4 cores per cluster, each with L1 cache, optional GICv3/4, and optional L2 controller. Supports both 32‑bit and 64‑bit code, offers higher performance than Cortex‑A7, and can be paired with Cortex‑A57 in big.LITTLE configurations.
Eight‑stage in‑order pipeline.
Power‑saving clock gating, power domains, and advanced retention modes.
Dual‑issue capability via duplicated execution resources and dual‑decoder.
Power‑optimized L2 cache design balances latency, performance, and efficiency.
Cortex‑A57 Processor
Targeted at mobile and enterprise workloads, including compute‑intensive 64‑bit applications. Often used with Cortex‑A53 in big.LITTLE configurations for scalable performance and energy efficiency. Provides cache‑coherent interoperation with GPUs and optional reliability features, delivering up to 10× encryption performance over previous generations.
Out‑of‑order pipeline with more than 15 stages.
Power‑saving features such as way prediction, tag reduction, and cache‑lookup suppression.
Enhanced instruction throughput via duplicated execution resources and 3‑wide decode bandwidth.
Performance‑optimized L2 cache enables multiple cores in a cluster to share high‑speed memory.
Cortex‑A73 Processor
Released in 2016, the Cortex‑A73 implements the full ARMv8‑A profile, includes a 128‑bit AMBA 4 ACE interface, and is built on advanced 10 nm technology, delivering about 30 % higher sustained performance than Cortex‑A72, making it suitable for high‑end mobile and consumer devices.
Reference Links
ARMv8 Development Reference: https://developer.arm.com/documentation/#cf[navigationhierarchiesproducts]=Architectures,CPU%20Architecture,A-Profile,Armv8-A
IEEE 754‑2008 Floating‑Point Standard: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4610935
POSIX Base Specifications, Issue 7: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7582338
IEEE 1149.1 Test Access Port: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=938734
ARM Architecture Reference Manual – ARMv8‑A (DDI0487): https://documentation-service.arm.com/static/623b2de33b9f553dde8fd3b0?token=
ARM Cortex‑A Series Programmer’s Guide for ARMv7‑A (DEN 0013): https://developer.arm.com/documentation/den0013/latest/
ARM NEON Programmer’s Guide (DEN 0018): https://developer.arm.com/documentation/den0018/a/
ARM Cortex‑A53 Technical Reference Manual (DDI 0500): https://developer.arm.com/documentation/ddi0500/e/BABJBFEJ
ARM Cortex‑A57 Technical Reference Manual (DDI 0488): https://developer.arm.com/documentation/ddi0488/h/
ARM Cortex‑A73 Technical Reference Manual: https://developer.arm.com/documentation/100048/0100/?lang=en
ARM Generic Interrupt Controller Specification (IHI 0048): https://developer.arm.com/documentation/ihi0048/b/
ARM Compiler armasm Reference Guide v6.01 (DUI 0802): https://developer.arm.com/documentation/dui0802/b/
ARM Compiler Software Development Guide v5.05 (DUI 0471): https://developer.arm.com/documentation/dui0471/latest
ARM C Language Extensions (IHI 0053): https://developer.arm.com/documentation/ihi0053/d/
ELF for the ARM Architecture (IHI 0044): https://www.simplemachines.it/doc/aaelf.pdf
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Open Source Linux
Focused on sharing Linux/Unix content, covering fundamentals, system development, network programming, automation/operations, cloud computing, and related professional knowledge.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
