Fundamentals 16 min read

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.

Open Source Linux
Open Source Linux
Open Source Linux
What Makes ARMv8 Architecture Powerful? A Deep Dive into 64‑Bit Features

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

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

64-bitaarch64ARMv8processor architecture
Open Source Linux
Written by

Open Source Linux

Focused on sharing Linux/Unix content, covering fundamentals, system development, network programming, automation/operations, cloud computing, and related professional knowledge.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.