The ARM architecture refers to a processor architecture that has evolved from RISC design principles and is used in embedded systems. Chapter 13 examines RISC design principles in detail. In this section, we give a brief overview of the con cept of embedded systems, and then look at the evolution of the ARM.
Embedded Systems
The term embedded system refers to the use of electronics and software within a product, as opposed to a generalpurpose computer, such as a laptop or desktop sys tem. The following is a good general definition:9
8With the Pentium 4, Intel switched from Roman numerals to Arabic numerals for model numbers.
9Michael Barr, Embedded Systems Glossary. Netrino Technical Library.
http://www.netrino.com/Publications/ Glossary/index.php
Table 2.7 Examples of Embedded Systems and Their Markets [NOER05]
Market Embedded Device
Automotive Ignition
system Engine control Brake system
Consumer electronics
Digital and analog televisions
Settop boxes (DVDs, VCRs, Cable boxes) Personal digital assistants (PDAs)
Kitchen appliances (refrigerators, toasters, microwave ovens) Automobiles
Toys/games
Industrial control Robotics and controls systems for manufacturing Sensors
Medical
Infusion pumps Dialysis machines Prosthetic devices Cardiac monitors
Office automation
Fax machine Photocopier Printers Monitors Scanners
Embedded systems far outnumber generalpurpose computer systems, encom passing a broad range of applications (Table 2.7). These systems have widely varying requirements and constraints, such as the following [GRIM05]:
• Small to large systems, implying very different cost constraints, thus different needs for optimization and reuse
• Relaxed to very strict requirements and combinations of different quality re
quirements, for example, with respect to safety, reliability, realtime, flexibility, and legislation
• Short to long life times
• Different environmental conditions in terms of, for example, radiation, vibra tions, and humidity
• Different application characteristics resulting in static versus dynamic loads, slow to fast speed, compute versus interface intensive tasks, and/or combinations thereof
• Different models of computation ranging from discreteevent systems to those involving continuous time dynamics (usually referred to as hybrid systems)
Often, embedded systems are tightly coupled to their environment. This can give rise to realtime constraints imposed by the need to interact with the envi
ronment. Constraints, such as required speeds of motion, required precision of measurement, and required time durations, dictate the timing of software operations.
External environment
Figure 2.13 Possible Organization of an Embedded System
If multiple activities must be managed simultaneously, this imposes more complex realtime constraints.
Figure 2.13, based on [KOOP96], shows in general terms an embedded system organization. In addition to the processor and memory, there are a number of ele ments that differ from the typical desktop or laptop computer:
• There may be a variety of interfaces that enable the system to measure, ma
nipulate, and otherwise interact with the external environment.
• The human interface may be as simple as a flashing light or as complicated as realtime robotic vision.
• The diagnostic port may be used for diagnosing the system that is being controlled—not just for diagnosing the computer.
• Specialpurpose field programmable (FPGA), application specific (ASIC), or even nondigital hardware may be used to increase performance or safety.
• Software often has a fixed function and is specific to the application.
ARM Evolution
ARM is a family of RISCbased microprocessors and microcontrollers designed by ARM Inc., Cambridge, England. The company doesn’t make processors but instead designs microprocessor and multicore architectures and licenses them to manufac turers. ARM chips are highspeed processors that are known for their small die size and low power requirements. They are widely used in PDAs and other handheld de vices, including games and phones as well as a large variety of consumer products. ARM chips are the processors in Apple’s popular iPod and iPhone devices. ARM is probably the most widely used embedded processor architecture and indeed the most widely used processor architecture of any kind in the world.
The origins of ARM technology can be traced back to the Britishbased Acorn Computers company. In the early 1980s, Acorn was awarded a contract by the
Table 2.8 ARM Evolution
Family Notable Features Cache Typical MIPS
@ MHz
ARM1 32bit RISC None
ARM2 Multiply and swap instructions; Integrated memory management unit, graphics and I/O processor
None 7 MIPS @ 12 MHz
ARM3 First use of processor cache 4 KB unified 12 MIPS @ 25 MHz
ARM6 First to support 32bit addresses; floatingpoint unit
4 KB unified 28 MIPS @ 33 MHz
ARM7 Integrated SoC 8 KB unified 60 MIPS @ 60 MHz
ARM8 5stage pipeline; static branch prediction 8 KB unified 84 MIPS @ 72 MHz
ARM9 16 KB/16 KB 300 MIPS @ 300 MHz
ARM9E Enhanced DSP instructions 16 KB/16 KB 220 MIPS @ 200 MHz
ARM10E 6stage pipeline 32 KB/32 KB
ARM11 9stage pipeline Variable 740 MIPS @ 665 MHz
Cortex 13stage superscalar pipeline Variable 2000 MIPS @ 1 GHz
XScale Applications processor; 7stage pipeline 32 KB/32 KB L1 512 KB L2
1000 MIPS @ 1.25 GHz
DSP = digital signal processor SoC = system on a chip
British Broadcasting Corporation (BBC) to develop a new microcomputer architec ture for the BBC Computer Literacy Project. The success of this contract enabled Acorn to go on to develop the first commercial RISC processor, the Acorn RISC Machine (ARM). The first version, ARM1, became operational in 1985 and was used for internal research and development as well as being used as a coprocessor in the BBC machine. Also in 1985, Acorn released the ARM2, which had greater func tionality and speed within the same physical space.
Further improvements were achieved with the release in 1989 of the ARM3.
Throughout this period, Acorn used the company VLSI Technology to do the actual fabrication of the processor chips. VLSI was licensed to market the chip on its own and had some success in getting other companies to use the ARM in their prod ucts, particularly as an embedded processor.
The ARM design matched a growing commercial need for a high
performance, lowpowerconsumption, smallsize and lowcost processor for embedded applica tions. But further development was beyond the scope of Acorns capabilities. Accordingly, a new company was organized, with Acorn,
VLSI, and Apple Com puter as founding partners, known as ARM Ltd. The Acorn RISC Machine became the Advanced RISC Machine.10 The new company’s first offering, an improvement on the ARM3, was designated ARM6.
Subsequently, the company has introduced a number of new families, with increasing functionality and performance. Table 2.8
10The company dropped the designation Advanced RISC Machine in the late 1990s. It is now simply known as the ARM architecture.
shows some characteristics of the various ARM architecture families. The numbers in this table are only approximate guides; actual values vary widely for different im plementations.
According to the ARM Web site arm.com, ARM processors are designed to meet the needs of three system categories:
• Embedded realtime systems: Systems for storage, automotive body and powertrain, industrial, and networking applications
• Application platforms: Devices running open operating systems including Linux, Palm OS, Symbian OS, and Windows CE in wireless, consumer enter tainment and digital imaging applications
• Secure applications: Smart cards, SIM cards, and payment terminals