Embedded Systems Design - 2: Dr. N. Mathivanan
Embedded Systems Design - 2: Dr. N. Mathivanan
(ICE – NITT)
ARM Processors
Dr. N. Mathivanan
Topics
• Features of ARM processors
• ARM architecture variants and professor families
• ARM7-TDMI internal architecture
• Register organization
• Pipelining
• Operating modes
• Exception handling
• ARM bus architecture
• Debug architecture
• Interface signals
ARM Processors
• Advanced RISC Machine -
ARM Ltd. not a manufacturing Co., provides license to manufacturers
Used in high end applications involving complex computation
Hand held device, Robotic, Automation system, Consumer electronics
• Features
High performance, low power, small in size (ideal for embedded sys)
Large Register File, Small instruction set, Load-Store instructions,
Fixed length instructions, Conditional execution of instructions,
High code density, most instructions executable in single cycle,
32-bit in-line barrel shifter, built-in circuit for hardware debugging,
DSP enhanced instructions, Jazelle (Java byte code extn. 3 rd state),
TrustZone (SoC approach to security)
ARM Architecture Variants (core), Processor Families
• Each family has its own instruction set, mem management, etc.
Architecture Processor
Processor Features Microcontroller
version Families
ARM7TDMI ARM720T Von Neumann,
LPC2100 series
(1995) ARM740T 3-stage pipeline
ARM v4T ARM920T
MMU, Harvard, SAM9G, LPC29xx,
ARM9TDMI ARM922T
5-stage pipeline LPC3xxx, STR9
ARM942T
ARM926EJ-S, MMU, DSP, Jazelle, SAM9XE
ARM9E
ARM946E-S, MPU, DSP
ARM v5TE, (1997)
ARM966HS MPU (optional), DSP
ARM v5TEJ
ARM10E ARM1020E MMU, DSP
(1999) ARM1026EJ-S MMU/MPU, DSP, Jazelle
ST32F512-M, LPC1300,
ARM v7-M Cortex Cortex-M3 MPU (optional), NVIC
1700, 1800
STA1095, SAM4L,
Cortex-R4 MPU, DSP
SAM4N, SAM4S
y – MMU
z – Cache
T – Thumb
D – Debugger
M – Multiplier
F – Floating-point
S – Synthesizable version
ARM7-TDMI – Internal Architecture
A d d re ss B u s
A [3 1 :0 ]
In cre m e n te r B u s
• Data bus – 32-bit
PC Bus
A d d re ss
I n s t r u c ti o n D e c o d e r a n d
R e g is t e r B a n k
L o g ic C o n t r o l
• Register bank – (31+6) 32-bit regs. 32 x 8
m u l ti p l i e r
ALU Bus
A Bus
B Bus
• Multiplier B a r r e l S h i ft e r
• ALU ALU
• Incrementer
• Address register D a t a O u t R e g is t e r D a t a I n R e g is t e r
Named as r0 – r15 r3
r4
r13,r14, r15 are SP, LR, PC
r5
8-bit/16-bit/32-bit data can be r6
B a n k e d R e g is te rs
F IQ
read/write r7
r8 r 8 _ fi q
6 status registers r9 r 9 _ fi q
r1 0
Only 1 is accessible r 1 0 _ fi q
r1 1 r 1 1 _ fi q
Named as CPSR, SPSR r1 2
IR Q Undef A b o rt SV C
r 1 2 _ fi q
r1 4 _ lr r 1 4 _ fi q r 1 4 _ ir q r1 4 _ u n d r1 4 _ ab t r1 4 _ svc
r1 5 _ p c
Register bank has
2 read and 1 write port and CPSR
S P S R _ fi q S P S R _ ir q SPSR_ und SP SR_ ab t SP SR _ svc
1 read and 1 write port for PC
• Bit definitions of Program Status registers
B31 B24 B23 B16 B15 B8 B7 B0
N Z C V I F T M 4 M 3 M 2 M 1 M 0
M ode
O v e r fl o w
C arry T h u m b S t a t e F la g
Ze ro F IQ In t e r r u p t M a s k
N e g a ti v e IR Q I n t e r r u p t M a s k
• Barrel shifter
• Multiplier