The ARMs Race
Intro to the ARM Holdings
Fig. 1: ARM logo
The Success of ARM Holdings:
- A RISC-based computer design approach means ARM processors require significantly fewer transistors than typical processors in average computers. This approach reduces costs, heat and power use. These are desirable traits for light, portable, battery-powered devices—like smartphones, tablets, and other embedded systems.
- A simpler design facilitates more efficient multi-core CPUs and higher core counts at lower cost, providing higher processing power and improved energy efficiency.
Fast ARM Facts:
In 2005, about 98% of all mobile phones sold used at least one ARM processor. 37 billion ARM processors have been produced as of 2013, up from 10 billion in 2008.
According to ARM Holdings, in 2010 alone, producers of chips based on ARM architectures reported shipments of 6.1 billion ARM Based processors, representing 95% of smartphones, 35% of digital televisions and set-top boxes and 10% of mobile computers. It is the most widely used 32-bit instruction set architecture in terms of quantity produced.
ARM vs X86 Processor - Comparison:
- ARM is based of RISC and X86 is CISC based.
- ARM is smaller in size and highly efficient in terms of power compared to X86 due to its Reduced ISA and reasonable performance where it serves the huge market of smartphone and battery powered portable devices market.
- On the other side X86 based processors finds huge applications in desktop and server computing where performance is of first priority rather than the power.
Fig 3: ARM vs X86 application level
The ARM7 family is a range of low-power 32-bit RISC microprocessor cores optimized for cost and power-sensitive consumer applications. It incorporates the Thumb 16-bit instruction set - enabling 32-bit performance at 8/16-bit system cost. The ARM7TDMI core uses three stage instruction pipeline to increase the speed of the flow of instructions to the processor. This enables several operations to take place simultaneously, and the processing and memory systems to operate continuously.
Fig: Instruction Pipeline of ARM7
Key facts about the ARM7
- The ARM7TDMI core is delivered as a hard macro cell optimized to provide the best combination of performance, power and area characteristics.
- Generic layout can be ported to specific process technologies
- Unified memory bus simplifies SoC integration process
- Code written for ARM7TDMI-S is binary-compatible with other members of the ARM7 Family and forwards compatible with ARM9, ARM9E and ARM10 families, thus it's quite easy to port your design to higher level microcontroller or microprocessor.
- Typical code execution at ~1.9CPI :: Typical average Instruction cycle time of 32ns.
The architecture has evolved over time, and version seven of the architecture, ARMv7, defines three architecture "profiles". A-profile, the "Application" profile, implemented by 32-bit cores in the Cortex-A series and by some non-ARM cores. R-profile, the "Real-time" profile, implemented by cores in the Cortex-R series. M-profile, the "Microcontroller" profile, implemented by most cores in the Cortex-M series.
What is a Thumb Instruction Set?
The Thumb instruction set is a subset of the most commonly used 32-bit ARM instructions. Thumb code is typically 65% of the size of ARM code, and provides 160% of the performance of ARM code when running from a 16-bit memory system. Thumb, therefore, makes the ARM7TDMI core ideally suited to embedded applications with restricted memory bandwidth, where code density and footprint is important.
The availability of both 16-bit Thumb and 32-bit ARM instruction sets gives designers the flexibility to emphasize performance or code size on a subroutine level, according to the requirements of their applications. For example, critical loops for applications such as fast interrupts and DSP algorithms can be coded using the full ARM instruction set then linked with Thumb code.
Thumb-2 extends the limited 16-bit instruction set of Thumb with additional 32-bit instructions to give the instruction set more breadth, thus producing a variable-length instruction set. Thumb-2 extends the Thumb instruction set with bit-field manipulation, table branches and conditional execution.
The ARM-Cortex microcontroller is a most popular microcontroller in the digital embedded system world due to its high performance, low cost and efficiency. These series of MCU (Microcontroller Unit) could be seen a wide range of products like in Automotives, Drones, Industrial applications, Medical devices, Wearables, IoT devices and so on. Let's look at some examples:
Fig: ARM Cortex-M0 and Cortex-M3 microcontroller ICs
World's Smallest Computer
On 21 June 2018, the "world's smallest computer," or computer device was announced – based on the ARM Cortex-M0+ (and including RAM and wireless transmitters and receivers based on photovoltaics) – by University of Michigan researchers at the 2018 Symposia on VLSI Technology and Circuits with the paper "A 0.04mm3 16nW Wireless and Battery-less Sensor System with Integrated Cortex-M0+ Processor and Optical Communication for Cellular Temperature Measurement." The device is 1/10th the size of IBM's previously claimed world-record-sized computer from months back in March 2018, which is smaller than a grain of salt.