What features does ARM provide?
British multinational semiconductor and software design company, ARM Holdings plc, offers complete solutions that are essential for the manufacturing process, but the company does not manufacture ICs. Moreover, it provides software development tools under the brand Keil and RealView. It also provides ARM architecture licensing for the companies that want to manufacture ARM-based CPUs or ‘system-on-chip’ products.
The ARM architecture is a simple hardware design allowing things to be left off the chip. It helps in creating small die-sized chip which helps in considerably reducing the cost. Its low cost, simple pipeline construction and the freedom to put the design point where the designer finds it suitable for low-power consumption adds onto the benefits it provides for embedded applications.
ARM allows an instruction set called ‘Thumb’, which compresses 32-bit instructions to 16 bits, enabling programs to be coded much more densely than standard RISC instruction sets. Processors enabled to execute ‘Thumb’ also allow 32-bit instructions to run on the same hence allowing 16-bit and 32-bit instructions to mix together without affecting the performance, maintaining powerful computing capabilities.
ARM designs and licences intellectual property (IP) instead of manufacturing the chips. Two types of licences that ARM provides are ‘implementation licence’ and ‘architecture licence.’ Implementation licence provides information to design integrated circuit containing the ARM core. The architecture licence enables the licencees to design their own processor with ARM instruction set architecture.
ARM cores are simple compared to other processors since it can be manufactured with few transistors. ARM is a 32-bit instruction set architecture. Today, many embedded applications like smartphones, set-top boxes, digital televisions and digital cameras use an ARM processor due to their cost-effectiveness and low-power consumption. ARM architecture is compatible with all four major operating systems, i.e., Symbian OS, Palm OS, Windows and Android OS.
The instruction sets in ARM processor are classified as ARM instruction set, Thumb instruction set and Jazelle mode. ARM mode is a standard 32-bit instruction set. Thumb instruction set is a 16-bit compressed form that provides better performance than complex instruction set computers (CISCs). Jazelle DBX (direct bytecode eXecution) allows some ARM processor to execute Java bytecode.
An ARM processor consists of 31 general-purpose 32-bit registers. Sixteen registers, namely R0-R15, are visible, which means they can be modified by the user whereas other registers help to speed up the exception process. Some registers play some special roles, like R14 acts as a link register (LR), R15 acts as a program counter (PC) and R13 acts as a stack pointer.
There are seven modes of operations as shown in the box (on previous page). Their modes are categorised as user mode, privileged mode and exception mode. User mode is a normal program execution mode in which the system resources are unavailable. If some exception occurs, then the mode is changed to the exception mode. In exception mode, all system resources are available.
There are two important registers in ARM, namely current program status register (CPSR) and saved program status register (SPSR). CPSR is similar to PSWR register in 8051 microcontroller which indicates some important flag bits like carry bits and zero flag bits as shown in Fig. 1, whereas SPSR is used in exception modes. Whenever exception occurs, the contents of CPSR are copied to SPSR. The organisation of registers in an ARM processor is as shown in Fig. 2.
The ARM architecture has evolved through many stages; the smartphones employ ARMv5 architecture and the later releases. Hardware floating-point unit (FPU) is the major change brought in ARMv7 to provide more speed than the software-based floating point. Even DSP instructions were added to the set to improve the ARM architecture for use in digital signal processing (DSP) and multimedia applications. In ARMv7, even the Thumb-2 feature, to obtain code density as Thumb and performance as ARM instruction set, was added that extends 16-bit Thumb instruction set with 32-bit instructions, producing instruction sets of variable lengths.
A new ‘unified assembly language’ (UAL) support is provided to generate Thumb-2 or ARM instructions, whichever is required from the same source code. The new ARMv8 has undergone a considerable change by using 64-bit architecture and cryptography instructions supporting AES and SHA-1/SHA-256, and even allows 32-bit applications to be executed. An optimised ARM smartphone block diagram is shown in Fig. 3 (Source: www.arm.com).
Therefore this ARM architecture with brilliant features is widely adopted by many organisations (more than 2500 organisations are licenced with IP), as a result of which it is the world’s leading semiconductor IP supplier, having over 40 billion ARM processor based chips shipped to date, providing each user with smooth experience. So with ARM and its ever-improving architecture, the future of computing devices not only has a better scope by being cost-effective, but they also have plenty of features to offer.
The authors are BE final year students at NMAMIT, Nitte