School of Computer Science and Engineering
BCSE305L – Embedded Systems
Module ~ I – Introduction
Advanced RISC Machine (ARM)
Presentation by
[Link]
Assistant Professor Senior Grade I
Department of IOT
School of Computer Science and Engineering
VIT University, Vellore
INTRODUCTION
• ARM is a RISC processor.
• ARM stands for Advanced RISC Machine. It is one of the most licensed and
extensive processor cores in the world.
• It is used for small size and high performance applications.
• Simple architecture – low power consumption.
[Link], SCOPE, VIT - Vellore 2
TIMELINE
• 1978: first ARM processor was introduced by Cambridge University
• 1985: Acorn Computer Group manufactures the first commercial RISC
microprocessor.
• 1990: Acorn and Apple participation leads to the founding of Advanced RISC
Machines (A.R.M.). ARM was founded and became very popular in 1990.
• 1991: ARM6, First embeddable RISC microprocessor.
• 1992 – 1994: Various companies use ARM (Sharp, Samsung), while in 1993 ARM7,
the first multimedia microprocessor is introduced.
[Link], SCOPE, VIT - Vellore 3
TIMELINE
• 1995: Introduction of Thumb and ARM8.
• 1996 – 2000: Alcatel, Huindai, Philips, Sony, use ΑRM, while in 1999 η ARM
cooperates with Erickson for the development of Bluetooth.
• 2000 – 2002: ARM’s share of the 32 – bit embedded RISC microprocessor market is
80%. ARM Developer Suite is introduced.
• 2007, ARM processors were used in more than 98% of mobile phones and
approximately 10 billion processors were shipped in 2008.
• ARM was the latest technology which was replaced by micro-controllers and
microprocessors. In general, ARM is a 16-bit/32-bit processor or controller. In
advanced digital products, ARM acts as a heart.
[Link], SCOPE, VIT - Vellore 4
• ARM needs very few instruction sets and transistors.
• It has very small in size. This is the reason that it is a perfect fit for small-size devices.
• It has less power consumption along with reduced complexity in its circuits.
• They can be applied to various designs such as 32-bit devices and embedded systems.
They can even be upgraded according to user needs
• These processors are specially used in portable devices like digital cameras, mobile
phones, home network modules, wireless communication technologies, access control,
communication gateways, medical Systems and in many other embedded systems.
[Link], SCOPE, VIT - Vellore 5
ARM Architecture Version
[Link], SCOPE, VIT - Vellore 6
[Link], SCOPE, VIT - Vellore 7
ARM ARCHITECTURE
[Link], SCOPE, VIT - Vellore 8
ARM OPERATIONS
• Arithmetic Logic Unit
all logical operations
• MAC
Multilply and accumulate
• Barrel shifter
This field indicates the kind of shift to be performed (logical left or right,
arithmetic right or rotate right). The quantity by which the register ought to be shifted is
contained in an immediate field within the instruction or it might be the lower 6 bits of a
register within the register file.
[Link], SCOPE, VIT - Vellore 9
Control unit
• For any microprocessor, control unit is the heart of the whole process and it is
responsible for the system operation, so the control unit design is the most important
part within the whole design.
• The control unit is sometimes a pure combinational circuit design. Here, the control
unit is implemented by easy state machine.
• The processor timing is additionally included within the control unit.
• Signals from the control unit are connected to each component within the processor to
supervise its operation.
[Link], SCOPE, VIT - Vellore 10
3-Stage Pipeline ARM Organization
[Link], SCOPE, VIT - Vellore 11
ARM single-cycle instruction 3- stage pipeline operation
[Link], SCOPE, VIT - Vellore 12
3-Stage Pipeline
• At any time slice, 3 different instructions may occupy each of these stages, so the
hardware in each stage has to be capable of independent operations
• When the processor is executing data processing instructions , the latency = 3
cycles and the throughput = 1 instruction/cycle
[Link], SCOPE, VIT - Vellore 13
ARM Registers Organization
• 37 registers
• 31 general 32 bit registers, including PC
• 6 status registers
• In user mode - 15 general registers (R0 to R12),
counter are visible at any time –when you write user-level programs
• R13 (SP- stack pointer) - individual stack for each processor mode
• R14 (LR – Linked Register) – holds the return address of the subroutine to continue
main program
• R15 (PC – Program Counter) – fetch next instruction for execution
• The visible registers depend on the processor mode
• The other registers (the banked registers) are switched in to support IRQ, FIQ,
Supervisor, Abort and Undefined mode processing
[Link], SCOPE, VIT - Vellore 14
ARM Programming Model
r0 usable in user mode
r1
r2
r3 system modes only
r4
r5
r6
r7
r8 r8_fiq
r9 r9_fiq
r10 r10_fiq
r1 1 r11_fiq
r12_fiq r13_irq r13_und
r12 r13_svc r13_abt r14_und
R13 (SP) r13_fiq r14_abt r14_irq
r14_fiq r14_svc
R14 (LR)
r15 (PC)
SPSR_irq SPSR_und
CPSR SPSR_svc SPSR_abt
SPSR_fiq
fiq svc abort irq undefi ned
user mode mode mode mode mode mode
[Link], SCOPE, VIT - Vellore 15
Program Status Registers
• The ARM contains a Current Program Status Register (CPSR), plus five Saved Program
Status Registers (SPSRs) for use by exception handlers.
These register’s functions are:
• Hold information about the most recently performed ALU operation.
• Control the enabling and disabling of interrupts.
• Set the processor operating mode
ARM CPSR format
31 28 27 8 7 6 5 4 0
NZ C V unused IF T mode
N: Negative
Z: Zero
C: Carry
V: Overflow
[Link], SCOPE, VIT - Vellore 16
CPSR - Current Program Status Register
ARM CPSR format
31 28 27 8 7 6 5 4 0
NZ C V unused IF T mode
The N, Z, C and V are condition code flags
• may be changed as a result of arithmetic and logical operations in the processor
• may be tested by all instructions to determine if the instruction is to be executed
•N : Negative. Z : Zero. C : Carry. V : oVerflow
–The I and F bits are the interrupt disable bits
–The T bit is thumb bit
–The M0, M1, M2, M3 and M4 bits are the mode bits
[Link], SCOPE, VIT - Vellore 17
Features of ARM
• In this designed processor there are only 25 basic instruction types.
• Through registers most of operations are implemented.
• Here every instruction has its own conditions with registers.
• This processor offers multiple modes of addressing.
• Manual stack manipulation is done here.
• Stack addressing and subroutines consist of explicitly programmed techniques.
• Because of 32 bits microprocessor, it is possible to have access to memory and
data manipulation saved in these 32 bits.
• The address range of this processor is widely 26 bit.
• For direct access it allows 64 megabytes of memory.
• It consists of single cycle execution method.
[Link], SCOPE, VIT - Vellore 18
ARM Applications
Here mentioning some of the applications of ARM
• Portable Media Players, Camcorders: Apple iPod Nano, original Zune 30 GB, Juice
Box, Empeg Car, M6 Mini Player etc.
• Mobile Phone, PDAs, Cameras: Nokia N93, Samsung Moment, Sony CLIÉ NX60,
Canon PowerShot A470 etc.
• GPS Navigation Systems: Tom Tom 300, Zarlink GPS receiver, Sun SPOT, Garmin
Navigation Devices etc.
• Portable Games Consoles: GameBoy Advance, 3DO Interactive Multiplayer,
Nintendo 3DS etc.
• Set Top Boxes, TVs, Hard Discs, Routers: Asus Tinker Board, Zipit Wireless
Messenger, Acorn Risc PC, Gumstix basix & connex etc.
[Link], SCOPE, VIT - Vellore 19
Advantages of ARM Processor :
• They are cheaper as compared to other processors.
• It consumes less power.
• Better battery life than other processors.
• It works faster because it performs one operation at a time.
• Users choose ARM processors because of availability and applications support.
Disadvantages of ARM Processor :
• You can not run windows on it very soon because it is not binary compatible with x86.
• The speeds and memory bandwidths are limited in such cases because of ARM
processor’s clock frequencies.
• Debugging is difficult because of scheduling of instructions.
• The performance of these processors totally depend on execution so if programmer does
not execute it properly then it can take a long time to work properly.
[Link], SCOPE, VIT - Vellore 20
8051 Vs ARM
8051 ARM
8 bit for standard core bus width is present in 8051 Mostly 32 bit bus width is present in ARM
micro-controller. micro-controller and also 64-bit is available.
Its speed is 12 clock cycles per machine cycle. Its speed is 1 clock cycle per machine cycle.
It is based on RISC Instruction Set
is based on CISC Instruction set Architecture.
Architecture.
8051 micro-controller is a Harvard-based ARM micro-controller is based on Harvard
architecture, but it allows us to connect external architecture.
memory and simulate von Neumann’s architecture.
Power consumption of 8051 micro-controller is Power consumption of ARM micro-controller is
average. low.
Its manufacturers are Atmel, NXP, Silicon Labs, Its manufacturers are Nvidia, Qualcomm,
Dallas, Cyprus, Infineon, etc. Apple, Samsung Electronics, and TI etc.
Popular micro-controllers include AT89C51, P89v51, Popular micro-controllers include ARM
etc. Cortex-M0 to ARM Cortex-M7, etc.
[Link], SCOPE, VIT - Vellore 21
LATEST PIC OF ARM
[Link], SCOPE, VIT - Vellore 22
Reference
• [Link]
[Link], SCOPE, VIT - Vellore 23