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
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.
-
Fedora 41 Beta Available with Some Interesting Additions
If you're a Fedora fan, you'll be excited to hear the beta version of the latest release is now available for testing and includes plenty of updates.
-
AlmaLinux Unveils New Hardware Certification Process
The AlmaLinux Hardware Certification Program run by the Certification Special Interest Group (SIG) aims to ensure seamless compatibility between AlmaLinux and a wide range of hardware configurations.
-
Wind River Introduces eLxr Pro Linux Solution
eLxr Pro offers an end-to-end Linux solution backed by expert commercial support.
-
Juno Tab 3 Launches with Ubuntu 24.04
Anyone looking for a full-blown Linux tablet need look no further. Juno has released the Tab 3.
-
New KDE Slimbook Plasma Available for Preorder
Powered by an AMD Ryzen CPU, the latest KDE Slimbook laptop is powerful enough for local AI tasks.
-
Rhino Linux Announces Latest "Quick Update"
If you prefer your Linux distribution to be of the rolling type, Rhino Linux delivers a beautiful and reliable experience.