ARM stands for ‘Advanced RISC Machines’. It is a processor architecture that is based on Reduced Instruction Set Computer (RISC) principles. ARM processors are designed with a focus on power efficiency which makes them well-suited for use in mobile devices and embedded systems.
History of ARM
The history of ARM processors goes back to the early 1980s. At that time, Acorn Computers was working on a new 32-bit RISC processor for their personal computers. They partnered with VLSI Technology to develop the processor design and the first ARM chip was released in 1985. This was known as the ARM1 and operated at 8MHz.
In the 1990s, Apple was looking for a new processor architecture for their Newton PDA. They chose the ARM architecture and this helped bring attention and new licensing deals for ARM. As ARM evolved through the ARM2, ARM3, ARM6 and ARM7 designs in the 1990s, it continued gaining adoption in embedded systems.
A major milestone came in 1997 when ARM transitioned to the ARMv4 architecture. This included features like Thumb instruction set and on-chip cache which helped improve performance and efficiency. The real explosion in ARM’s popularity came with the rise of smartphones and mobile computing in the 2000s. As these devices required low power consumption, the ARM architecture was a perfect fit.
Today, ARM CPU cores are found in over 95% of smartphones. Major companies like Apple, Samsung, Qualcomm and MediaTek design their own CPUs based on the ARM instruction set. ARM chip designs span from tiny microcontrollers to multi-core application processors powering mobile devices today.
ARM Processor Architecture
The key principles behind the ARM processor architecture include:
- Reduced Instruction Set Computing (RISC) – ARM uses a simpler instruction set compared to complex instruction set computers. This allows faster processing and better power efficiency.
- Load/store architecture – Data processing occurs using registers only and memory access is limited to load and store instructions. This is more efficient than accessing memory frequently.
- Fixed length 32-bit instruction set – Having fixed length instructions simplifies decoding and pipelining.
- Condition code flags – ARM instructions alter condition codes that support flags-based execution and conditional execution.
- Highly integrated designs – Many ARM processor cores integrate features like MMU, caches, DSP, floating point, and memory interfaces.
- Thumb instruction set – A compressed 16-bit instruction set that provides higher code density and lower memory usage.
Some key architectural features of ARM processors include:
- Registers – ARM processors have 31 general purpose 32-bit registers. Register 15 is the program counter.
- Operating Modes – Supports different processor modes like USR, SVC, IRQ, FIQ, Abort, Undef, System.
- Pipelines – Modern ARM cores use multi-stage instruction pipelines for faster processing.
- Memory Access – Supports byte, halfword and word access to memory.
- Addressing Modes – Supports a flexible mix of addressing modes like immediate, register and scaled register.
- Interrupts – Fast interrupt processing support via separate banked registers for different processor modes.
ARM Instruction Set
The ARM instruction set provides a wide variety of instructions that operate on registers and support structured programming. Here are some examples:
- Data Processing – Arithmetic, logical, and move operations like ADD, SUB, AND, ORR, MOV.
- Load/Store – LDR and STR instructions for memory access.
- Flow Control – Supports conditional execution, branches, procedure calls.
- PSR Transfer – Instructions like MRS and MSR to access the program status registers.
- Multiply & Multiply-Accumulate – Unsigned and signed multiplies, with options like long multiply.
- Saturating Arithmetic – Adds bounds checking to avoid overflow.
- Packing & Saturation – Pack and saturate instructions for signal processing.
- SIMD – Supports single instruction multiple data extensions like NEON.
One unique aspect of ARM is the Thumb instruction set – a compressed 16-bit encoding of the most commonly used 32-bit ARM instructions. This provides higher code density and lower memory footprint.
ARM Operating Modes and Privilege Levels
ARM processors provide operational modes and privilege levels for protected, multitasking operations:
- User (USR) – Unprivileged mode for application execution.
- Fast Interrupt (FIQ) – For low latency interrupt handling.
- Interrupt (IRQ) – For general interrupt handling.
- Supervisor (SVC) – Privileged operating system mode.
- Abort – Entered on data abort exceptions.
- Undefined – Mode for undefined instruction handling.
- System (SYS) – Highest privilege level for OS kernel.
This privileges and mode infrastructure allows ARM processors to efficiently handle multitasking, protected memory, and interrupts critical for embedded and general-purpose operating systems.
ARM Cores and Microarchitectures
ARM offers a variety of CPU cores implementing the ARM architecture optimized for different performance levels and use cases. Some examples include:
- ARM Cortex-A Series – High performance application processors for mobile and enterprise.
- ARM Cortex-R Series – High reliability processors for safety-critical applications.
- ARM Cortex-M Series – Microcontroller class processors for embedded devices.
- ARM11 – Classic embedded and mobile application processors.
- ARM9 – Entry level embedded ARM cores.
- ARM7 – Early embedded ARM cores focused on low cost and power.
These cores use different microarchitectures to optimize the ARM instruction set for their target applications. Key microarchitectural advances include:
- Pipelining – Concurrent instruction execution for higher throughput.
- Superscalar Execution – Improves IPC by executing multiple instructions per clock cycle.
- Branch Prediction – Hardware that predicts branch outcomes to minimize stalls.
- Out-of-Order Execution – Reorder instructions dynamically to maximize utilization.
- SIMD – Vector processing extensions like NEON for multimedia workloads.
- Multicore – Integrate multiple cores on one chip for thread-level parallelism.
- Caches – Low latency on-chip instruction and data caches.
- Speculative Execution – Predictive instruction execution for greater speed.
Chip vendors like Apple, Qualcomm, Samsung, Nvidia, Marvell integrate ARM CPU cores along with graphics, video, communication and other accelerators to create full System-on-Chip (SoC) designs for mobile devices.
ARMv8 64-bit Architecture
The latest generation ARMv8 architecture adds 64-bit processing support. Key enhancements in ARMv8 include:
- 64-bit registers – Doubles the number of general purpose registers.
- 64-bit address space – Supports large memory configurations.
- AArch64 execution state – New 64-bit specific operating state.
- Enhanced virtualization support – For Type 2 hypervisors.
- Large physical address space – For demand paged virtual memory.
- Advanced SIMD – With longer vector registers.
ARMv8-A is the 64/32-bit application profile that supports ARM’s 64-bit transition. ARMv8-R is the realtime profile for embedded. ARMv8-M adds 64-bit support to the microcontroller profile.
Licensing and Business Model
ARM is licensed and does not manufacture its own chips. An innovative business model has enabled ARM’s success:
- IP licensing – ARM licenses its cores & architectures as IP to partners.
- Architecture neutral – Partners design their own cores based on ARM ISA.
- Customization – Partners customize and optimize ARM cores for their needs.
- Ecosystem – Partners create SoCs by integrating CPU, graphics, etc.
- Fabrication – Partners use third party foundries for manufacturing.
By licensing IP rather than selling chips, ARM enables customization for a wide range of markets and applications. Over 500 companies license ARM technology.
Significance and Impact of ARM
ARM processors power over 95% of smartphones demonstrating the scale of its reach. Here are some key aspects of ARM’s significance and impact:
- Mobile computing – ARM powered the mobile revolution in smartphones and tablets.
- Embedded systems – Dominant architecture for embedded devices and IoT.
- Energy efficiency – Helped make computing more energy efficient.
- Partnership model – Architectural licensing model enabled wide adoption.
- Customization – Ability to customize cores drove adoption in diverse markets.
- Ecosystem – Diversity of ARM chips from different vendors.
- Future growth – Well positioned in emerging areas like AI, 5G, self-driving cars.
By combining an innovative RISC architecture with an ecosystem friendly licensing model, ARM has become one of the most influential companies in electronics and computing today.