Beruflich Dokumente
Kultur Dokumente
T
TM
1L
ARM Ltd
Licenses ARM core designs to semiconductor partners who fabricate and sell to
their customers.
Also develop technologies to assist with the design-in of the ARM architecture
TM
TM
TM
Intellectual Property
to protect ARM IP
TM
Jazelle cores can also execute Java byte code (8-bit instructions)
TM
Processor Modes
User : Normal Program execution (unprivileged mode) under which most tasks run
FIQ : Data transfer state (DMA) entered when a high priority (fast) interrupt is raised
Supervisor : Protected mode for OS, entered on reset and when a Software Interrupt
instruction is executed
System : Operating System privileged mode for user (using the same registers as
user mode)
TM
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
r15 (pc)
cpsr
spsr
FIQ
IRQ
SVC
Undef
Abort
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
spsr
spsr
spsr
spsr
spsr
TM
FIQ
User
mode
r0-r7,
r15,
and
cpsr
IRQ
User
mode
r0-r12,
r15,
and
cpsr
SVC
Undef
User
mode
r0-r12,
r15,
and
cpsr
User
mode
r0-r12,
r15,
and
cpsr
Abort
User
mode
r0-r12,
r15,
and
cpsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
r13 (sp)
r14 (lr)
spsr
spsr
spsr
spsr
spsr
Thumb state
Low registers
Thumb state
High registers
cpsr
TM
The Registers
TM
10
10
Registers
TM
11
11
Registers(2)
TM
12
12
Register : r15
When
state
All instructions are 32 bit wide
All instructions are word aligned
Pc value is stored in bits [31:2] with bits
[1:0] undefined
TM
13
13
28 27
N Z C V Q
24
23
16 15
J bit
I F T
mode
c
Architecture xT only
T = 0: Processor in ARM state
T = 1: Processor in Thumb state
Mode bits
T Bit
TM
14
14
Processor Modes
TM
15
15
TM
16
16
Privileged Modes
TM
17
17
TM
18
18
Banked Registers
Register file contains in all 37 registers
TM
19
19
SPSR
TM
20
20
Mode Changing
TM
21
21
Little
Endian
Little Endian
D0-D7 at
00
D8-D15 at 01
D16-D23 at 10
D24-D31 at 11
address
address
address
address
Big Endian
D24-D31 at
D16-D23 at
D8-D15 at
D0-D7 at
address
address
address
address
00
01
10
11
TM
22
22
TM
23
23
Exception Handling
0x0C
FIQ
IRQ
(Reserved)
Data Abort
Prefetch Abort
0x08
Software Interrupt
0x04
Undefined Instruction
0x00
Reset
0x1C
0x18
0x14
0x10
Vector Table
TM
24
24
Development of the
ARM Architecture
1
2
3
Early ARM
architectures
Halfword
and signed
halfword /
byte support
System
mode
ARM7TDMI
ARM720T
5TE
CLZ
SA-110
SA-1110
Thumb
instruction
set
Improved
ARM/Thumb
Interworking
4T
ARM9TDMI
ARM940T
Saturated maths
DSP multiplyaccumulate
instructions
ARM1020E
Jazelle
5TEJ
Java bytecode
execution
ARM9EJ-S
ARM926EJ-S
ARM7EJ-S
ARM1026EJ-S
SIMD Instructions
Multi-processing
XScale
ARM9E-S
ARM966E-S
TM
V6 Memory
architecture (VMSA)
Unaligned data
support
ARM1136EJ-S
25
25
ARM Versions
Version 1 (1983-1985): 26 bit addressing; No multiply operation; No Co-processor
Version 2 : 32 bit; Includes result multiplication co-processor
Version 3: 32 bit addressing (EX: ARM6, ARM7)
Version 4: Added signed and unsigned operations (EX: Strong ARM Intel)
Version 4T : (Thumb Mode) Embedding a 16 bit variant in a 32 bit processor (EX:
LPC21xx)
Version 5T: Superset of 4T adding new instructions.
Version 5TE : Added DSP extension. (EX: ARM9E-S)
Version 6: SIMD instructions provide greatly increased audio/video codec performance
-LDREX/STREX instructions improve multi-processing support
-VMSA (Virtual Memory System Architecture)
-Hardware and instruction set support for mixed-endianness
-1136JF-S has integral VFP coprocessor
39v10 The ARM Architecture
TM
26
26
TDMI
T : Thumb
TM
27
27
Fetch
Decode
Fetch
Execute
Decode
Fetch
Execute
Decode
Execute
3
instruction
time
TM
28
28
3 stage Pipeline
TM
29
Pipeline Operation
Not
TM
30
30
Architecture Summary
32-bit RISC-processor core (32-bit instructions)
Used especially in portable devices due to low power consumption and reasonable performance (MIPS /
watt)
37 pieces of 32-bit integer registers (16 available) , uniform Register file.
Employs Load Store Architecture- Here operations operate on registers and not in memory locations
Architecture is of uniform and fixed length (instructions)
All instructions are conditional
Pipelined (ARM7: 3 stages)
Cached (depending on the implementation)
Von Neuman-type bus structure (ARM7), Harvard (ARM9)
Data can be 8-bit bytes, 16-bit half words, or 32-bit words
Words must be aligned to 4-byte boundaries (ARM),Half words must be aligned to 2-byte boundaries
(Thumb).
39v10 The ARM Architecture
TM
31
31
TM
32
32
A Barrel shifter on the data path can preprocess data before it enters ALU
TM
33
33
TM
34
34
Architecture
Architecture is characterized by Data path and
control path
No data processing takes place in memory locations
Instructions typically use 3 registers. 2 source
registers and 1 destination register.
Barrel Shifter preprocesses data, before it enters
ALU
TM
35
35
Block Diagram
TM
36
36
Debugger (+ optional
trace tools)
TAP
controller
ETM
EmbeddedICE
Logic
ARM
core
Trace Port
JTAG port
EmbeddedICE Logic
TM
37
37
ARM7TDMI-S core
TM
38
38
Functional Diagram
TM
39
39
TM
40
40
TM
41
41
ARM ETM
Time Trace
Code coverage
Triggering
Performance analysis tool set
Extensive code verification
Software testing
TM
42
42
System Peripherals
On
chip Flash
SRAM
Memory
External
Phase
Locked Loop
TM
43
43
Internal buses
TM
44
44
Internal buses
Advanced
TM
45
45
Memory MAP
TM
46
46
Memory MAP
TM
47
47
TM
48
48
Memory bottleneck
ARM
Solution-1: As RAM is faster load critical section of the code into Ram and
execute.
Drawback : RAM is finite and precise resource
Solution-2: on-chip cache
Drawback: large portion of the LPC200 die area will be occupied
Solution-3: Memory Accelerator Module
TM
49
49
TM
50
50
FLASH memory is split into two banks which are 128 bits wide,
independently accessed.
TM
51
51
TM
52
52
TM
53
53
For the RAM mode the contents of 0x40000000x400003F will be mapped to the start of memory
TM
54
54
TM
55
55
TM
56
56
Clock Content
-all state changes within the processor are controlled
by mclk, the memory clock
- internal clock a mclk AND wait
- eclk clock output reflects the clock used by the core
Memory interface
-32-bit address A[31:0], bidirectional data bus
D[31:0],separate data out Dout [31:0]data in
Din [31:0]
TM
57
57
which
TM
58
58
Interface Signals
-b[3:0], externally controlled enables on
latches on each of the 4 bytes on the data
input bus
MIMU interface
-\trans (translation control),0:user mode,
1:privileged mode
-\mode[4:0], bottom 5 bits of the CPSR(inverted)
-abort , disallow access
State
-T bit, whether the processor is currently executing ARM
or Thumb instruction
Configuration
-bigend, big-endian or little-endian
39v10 The ARM Architecture
TM
59
59
Interface Signals
TM
60
60
Interface Signals(contd.)
Interrupt
TM
61
61
Sequential (S cycle)
-(nMREQ , SEQ)=(0,1)
- The ARM core requests a transfer to or from an
address which is either the same , or one word or
one-half-word greater than the preceding address
Non-sequential (N cycle)
-(nMREQ , SEQ)=(0,0)
-The ARM core requests a transfer to or from an
address which is unrelated to the address used in
the preceding cycle
39v10 The ARM Architecture
TM
62
62
Internal (I cycle)
-(nMREQ , SEQ)=(1,0)
- The ARM core does not require a transfer , as it
is performing an internal function , and no useful
prefetching can be performed at the same time.
TM
63
63
16 bit RAM
32 bit RAM
Interrupt
Controller
nIRQ
8 bit ROM
I/O
Peripherals
nFIQ
ARM
Core
TM
64
64
AMBA
Arbiter
External
RAM
ARM
TIC
External
Bus
Interface
Decoder
Interrupt
Controller
On-chip
RAM
APB
System Bus
Peripheral Bus
ADK
Remap/
Pause
AHB or ASB
AMBA
Timer
Bus Interface
Bridge
External
ROM
Reset
ACT
PrimeCell
TM
65
65
TM
66
66
TM
67
67
TM
68
68
TM
69
69
ARM9TDMI
Harvard Architecture
Increases available memory bandwidth
- Instruction memory interface
- Data memory interface
5 stage pipeline
Changes implemented to
TM
70
70
Data
back
TM
71
71
Fetch
Instruction Fetch
ARM9TDMI:
Decode
Thumb
De-compressor
decode
Instructi
on Fetch
read
decode
Fetch
ARM
Reg
reg
Read
write
Execute
shift ALU
Data
Shift ALU memory
access
Decode
Execute
TM
Memory
Reg
write
Write
72
72
39v10
The ARM Architecture
QADD
, QSUB
, QDADD , QDSUB
TM
73
73
Enhancement in 9E
TM
74
74
ARM v5TEJ
J:
Offering
TM
75
75
ARM v6 Architecture
SIMD(single
High
By
Examples:QADD8<cond>
Signed
Rd, Rn , Rm
TM
76
76
Other features
Dual 16 x 16 multiply
Cryptographic multiplication
TM
77
77
TM
78
78
TM
79
79
TM
80
80
TM
81
81
TM
82
82
TM
83
83
TM
84
84
TM
85
85
TM
86
86
TM
87
87