The ARM architecture – yesterday, today, and tomorrow
ARM Story

The ARM architecture has shaped modern computer history, and with the rise of mobile computing, ARM is more important than ever. We take a look at the ARM architecture and where it might be heading.
In many ways, what commentators are calling the mobile revolution is also the ARM revolution. The versatile, inexpensive, and energy-efficient ARM architecture is suddenly in the foreground as Linux and other operating systems move from the clunky desktop systems of the past to tiny and agile mobile devices. Even gigantic high-performance systems, as well as other enterprise-grade servers, are including ARM processors to make the most of the low cost, low energy, and low heat.
What is ARM, and how did it get here? How is it different from the x86 chips that so many associate with personal computing? In this article, we take a close look at the ARM architecture, provide a glimpse at why it is so attractive to hardware vendors, and describe some new ARM innovations that might figure prominently in the next generation of computers.
A Little History
The beginnings of the ARM architecture date back to the early 1980s, when the British computer manufacturer Acorn was searching for a new processor for its computer. The 6502 processor used previously was not powerful enough, and alternative architectures seemed inappropriate.
This prompted a team under the direction of Steve Furber and Sophie Wilson to develop their own architecture – the Acorn RISC Architecture, or ARM for short. In the mid-1980s, the first finished products were used in coprocessor cards for the Acorn BBC Micro; then in 1987, the first ARM-only machines hit the market in the form of the Acorn Archimedes, which was followed by other machines in the years to come.
RISC
The RISC (Reduced Instruction Set Computer) philosophy involves making the instruction set as simple as possible and avoiding giving each command many addressing variants. The add command on a CISC machine can use both register and memory content directly or indirectly for the operands and the result: this results in a large number of possible combinations.
RISC machines do without this diversity: arithmetic and logical instructions operate only in registers, and access to memory is handled by special commands (load/store). This makes programs larger, but it simplifies the processor architecture significantly. The additional overhead of loading into the register is only apparent because a CISC machine only needs to load two memory words before adding; however, this happens internally and is hidden from the programmer. As a consequence, RISC machines usually have more free usable registers than comparable CISC machines.
For a fictional machine, the process for adding the memory contents of M1 and M2 and storing the result in M3 might look like Listing 1.
Listing 1
CISC and RISC Addition
;CISC Addition ADD M3 M1 M2 ; M1 + M2 -> M3 ;RISC Addition LD R1 M1 ; M1 -> R1 LD R2 M2 ; M2 -> R2 ADD R3 R1 R2 ; R1 + R2 -> R3 ST M3 R3 ; R3 -> M3
In the late 1980s Acorn's architecture attracted Apple's interest. The company was planning its use in a new type of mobile device. To allow this to happen, Acorn outsourced the development of its architecture to a new company (Advanced RISC Machines Ltd.). In collaboration with Apple, it developed the sixth variant of the ARM processor, which was then used in Apple's Newton pen handheld system in 1992.
In the following years, other licensees followed, although Acorn's computer business increasingly lost importance, with the company finally going under around the turn of the millennium. Since then, ARM Ltd. has continued to develop the architecture further and with great success; this success has led to new versions of the architecture and adaptation of the processor core to various manufacturing processes.
Cores versus Architecture
The ARM architecture version is designated ARMvX and currently extends from ARMv1 to ARMv8. The ARMv1 (which originated in 1985) to ARMv6 (used in the first iPhones and Androids) architectures were implemented in the ARM1 to ARM11 cores.
With the change to ARMv7, the Brits also changed the names of the corresponding cores. Since then, there have been three series of Cortex cores, whose short forms also describe their applications: Cortex Rx (real-time applications: low latency, predictability, protected memory), Cortex Mx (microcontrollers: low transistor count, predictability), and Cortex Ax (application processors: high performance with low power consumption, optimized for multitasking).
Depending on the intended use, the cores are implemented very differently. From simple in-order cores with no pipeline to complex out-of-order execution, branch prediction, and speculative execution in modern application processors, they cover almost the entire range of acceleration techniques that x86 CPUs also use.
Licensing Models
The hardware, that is, the specific processors with these cores, is not manufactured and sold by ARM Ltd. itself. Instead the business model relies on sales of intellectual property to licensees [1] such as Samsung, Broadcom, Freescale, or Calxeda. ARM Ltd. uses two strategies: On the one hand, they license the blueprints of cores – what they refer to as IP cores. This allows licensees to integrate the core unchanged into their own system-on-chip (SoC) design. Examples of this approach are found in many smartphones and tablets. For example, Samsung's Exynos dual 5 chipset [2], which is in the Google Nexus 10, contains two Cortex A15 cores. On the other hand, the architecture can be licensed, which makes it possible to develop your own processor cores that are compatible with the licensed version of the architecture. One example is the Krait cores [3] by Qualcomm, which powers Google's Nexus 4.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
News
-
The GNU Project Celebrates Its 40th Birthday
September 27 marks the 40th anniversary of the GNU Project, and it was celebrated with a hacker meeting in Biel/Bienne, Switzerland.
-
Linux Kernel Reducing Long-Term Support
LTS support for the Linux kernel is about to undergo some serious changes that will have a considerable impact on the future.
-
Fedora 39 Beta Now Available for Testing
For fans and users of Fedora Linux, the first beta of release 39 is now available, which is a minor upgrade but does include GNOME 45.
-
Fedora Linux 40 to Drop X11 for KDE Plasma
When Fedora 40 arrives in 2024, there will be a few big changes coming, especially for the KDE Plasma option.
-
Real-Time Ubuntu Available in AWS Marketplace
Anyone looking for a Linux distribution for real-time processing could do a whole lot worse than Real-Time Ubuntu.
-
KSMBD Finally Reaches a Stable State
For those who've been looking forward to the first release of KSMBD, after two years it's no longer considered experimental.
-
Nitrux 3.0.0 Has Been Released
The latest version of Nitrux brings plenty of innovation and fresh apps to the table.
-
Linux From Scratch 12.0 Now Available
If you're looking to roll your own Linux distribution, the latest version of Linux From Scratch is now available with plenty of updates.
-
Linux Kernel 6.5 Has Been Released
The newest Linux kernel, version 6.5, now includes initial support for two very exciting features.
-
UbuntuDDE 23.04 Now Available
A new version of the UbuntuDDE remix has finally arrived with all the updates from the Deepin desktop and everything that comes with the Ubuntu 23.04 base.