The ARM architecture – yesterday, today, and tomorrow

ARM Story

Article from Issue 156/2013
Author(s): , Author(s):

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

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Canonical Ports Ubuntu on ARM Platform

    End of last week ARM Ltd and Canonical Ltd announced that they would port Linux to the ARMv7 processor architecture. If all goes well, the two collaborating firms should provide further hardware manufacturers with the basis to develop new, energy-efficient mobile devices, especially for the popular netbooks and so-called hybrid computers.

  • Xeon 7300: Intel's First Quadruple-Core Processor Platform

    The Xeon 7300er processor family is Intel's first quad-core processor for multiple processor servers. The energy efficiency of the new processors differs depending on the speed with 2.93 GHz requiring 130 Watts compared to 50 Watts for a 1.86 GHz version.

  • RISC-V

    The open source RISC-V processor architecture is poised to shake up the processor industry. Thanks to the Qemu emulator, you can get to know the RISC-V without waiting for affordable hardware.

  • Chromebooks on Linux

    Chromebooks are firmly locked in the Google jail, but with the right know-how, you can break out of vendor lock-in and operate the devices with free software.

  • Programming the Cell

    The Cell architecPIture is finding its way into a vast range of computer systems – from huge supercomputers to inauspicious Playstation game consoles. We'll show you around the Cell and take a look at a sample Cell application.

comments powered by Disqus
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.

Learn More

News