Field Guide · concept

Also known as: ARM, AArch64

ARM is a family of RISC instruction set architectures licensed by Arm Holdings, known above all for power efficiency and its reach across phones, embedded devices, and — increasingly — laptops and servers.1

Arm Holdings designs ISA + core IP Qualcomm phone SoC Apple M-series Broadcom Raspberry Pi Ampere server CPU licensees integrate ARM cores into their own silicon
Arm Holdings sells the architecture and core blueprints but builds no chips itself; dozens of licensees drop ARM cores into their own systems-on-a-chip, which is how one efficient instruction set ended up in nearly every phone as well as single-board computers, Apple laptops, and cloud servers.

Overview

ARM follows the RISC philosophy of a small set of simple, fixed-length instructions, which keeps decode logic modest and power draw low. Arm Holdings designs the architecture and reference core blueprints but does not manufacture chips itself; instead it licenses them — either a ready-made core design or an architecture licence to build a custom implementation — to companies that integrate ARM cores into their own systems-on-a-chip.

The current 64-bit variant, introduced with ARMv8 in 2011, is called AArch64 (or ARM64). It runs alongside the older 32-bit AArch32 mode on most application-class cores. This licensing model, combined with a strong performance-per-watt story, put ARM cores in nearly every smartphone, in vast numbers of embedded and IoT devices, in Apple’s desktop and laptop Macs, and in a growing share of the server and cloud market.

How it compares

The clearest way to place ARM is against the incumbent x86 and the open RISC-V:

Trait ARM x86 RISC-V
Style RISC CISC RISC
Licensing Paid licence from Arm Intel/AMD only Open, royalty-free
Instruction length Fixed (mostly) Variable Fixed
Traditional stronghold Mobile & embedded PC & server Research & embedded
64-bit name AArch64 x86-64 RV64

The fixed-length, load/store design shared by ARM and RISC-V is what makes their decoders simpler than x86’s variable-length instructions — one reason the RISC families started in low-power niches, though ARM’s reach now extends well up into high-performance computing.

Where it fits

ARM’s efficiency made it the default for battery-powered and embedded computing, the opposite end of the spectrum from where x86 grew up. The Raspberry Pi and most single-board computers use ARM CPUs, which is exactly why a low-power GopherTrunk capture node sitting by the antenna usually runs on ARM rather than x86 — Go cross-compiles the same decoder source to an AArch64 target with no code changes.

Sources

  1. ARM architecture family — Wikipedia, on ARM, its RISC design, the AArch64 64-bit mode, and Arm Holdings’ licensing model. 

See also