Professional Documents
Culture Documents
Agenda
Introduction to ARM Ltd ARM Architecture/Programmers Model Data Path and Pipelines AMBA Development Tools
ARM Ltd
Founded in November 1990 Spun out of Acorn Computers Designs the ARM range of RISC processor cores Licenses ARM core designs to semiconductor partners who fabricate and sell to their customers. ARM does not fabricate silicon itself Also develop technologies to assist with the designin of the ARM architecture Software tools, boards, debug hardware, application software, bus architectures, peripherals etc
Agenda
Introduction to ARM Ltd ARM Architecture/Programmers Model Data Path and Pipelines AMBA Development Tools
Architecture Revisions
version ARMv7 (Future) ARM1156T2F-S ARM1136JF-S ARMv6 ARM102xE ARMv5
ARM7TDMI-S StrongARM
XScaleTM
ARM1176JZF-S ARM1026EJ-S
V4 SC100 ARM720T
1994
1996
1998
2000
2002
2004
2006 time
Processor Modes
The ARM has seven basic operating modes: User : unprivileged mode under which most tasks run FIQ : entered when a high priority (fast) interrupt is raised IRQ : entered when a low priority (normal) interrupt is raised Supervisor : entered on reset and when a Software Interrupt instruction is executed Abort : used to handle memory access violations Undef : used to handle undefined instructions System : privileged mode using the same registers as user mode
9
FIQ
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
IRQ
SVC
Undef
Abort
spsr
spsr
spsr
spsr
spsr
10
Exception Handling
When an exception occurs, the ARM:
Copies CPSR into SPSR_<mode> Sets appropriate CPSR bits Change to ARM state Change to exception mode Disable interrupts (if appropriate) Stores the return address in LR_<mode> Sets PC to vector address Restore CPSR from SPSR_<mode> Restore PC from LR_<mode>
Reset
Vector Table
Vector table can be at 0xFFFF0000 on ARM720T and on ARM9/10 family devices
11
12
Branch instructions
B{<cond>} label Branch : Branch with Link : BL{<cond>} subroutine_label
31
28 27
25 24 23
Cond
1 0 1 L
Offset
Link bit
Condition field
The processor core shifts the offset field left by 2 positions, sign-extends it and adds it to the PC 32 Mbyte range How to perform longer branches?
13
These instructions only work on registers, NOT memory. Syntax: <Operation>{<cond>}{S} Rd, Rn, Operand2 Comparisons set flags only - they do not specify Rd Data movement does not specify Rn Second operand is sent to the ALU via barrel shifter.
14
Barrel Shifter
ALU
Result
16
Agenda
Introduction to ARM Ltd ARM Architecture/Programmers Model Data Path and Pipelines AMBA Development Tools
18
Address Incrementer
Incrementer
Address Register
P C
Register Bank
A L U B B u s u s A B
PC Update
Instruction Decoder
BIGEND MCLK nWAIT nRW MAS[1:0] ISYNC nIRQ nFIQ nRESET ABORT nTRANS nMREQ SEQ LOCK nM[4:0] nOPC nCPI CPA CPB
and
Barrel Shifter
Control Logic
32 Bit ALU
DBE
D[31:0]
19
ARM7TDMI
Instruction Fetch ThumbARM decompress ARM decode Reg Select Reg Read Shift ALU Reg Write
FETCH
DECODE
EXECUTE
ARM9TDMI
Instruction Fetch ARM or Thumb Inst Decode Reg Reg Decode Read Shift + ALU Memory Access Reg Write
FETCH
DECODE
EXECUTE
MEMORY
WRITE
20
Multiply
FETCH
ISSUE
DECODE
EXECUTE
MEMORY
WRITE
ARM11
Shift ALU Saturate
Fetch 1
Fetch 2
Decode
Issue
MAC 1
Write back
Address
21
Agenda
Introduction to ARM Ltd ARM Architecture/Programmers Model Data Path and Pipelines AMBA Development Tools
22
AMBA
Arbiter Reset
ARM
TIC Bridge External ROM External RAM Bus Interface External Bus Interface On-chip RAM Timer Remap/ Pause
Decoder
Interrupt Controller
AMBA Advanced Microcontroller Bus Architecture ADK Complete AMBA Design Kit
OKAY A
OKAY B
24
Agenda
Introduction to ARM Ltd ARM Architecture/Programmers Model Data Path and Pipelines AMBA Development Tools
25
EmbeddedICE Logic Provides breakpoints and processor/system access JTAG interface (ICE) Converts debugger commands to JTAG signals Embedded trace Macrocell (ETM) Compresses real-time instruction and data access trace Contains ICE features (trigger & filter logic) Trace port analyzer (TPA) Captures trace in a deep buffer
JTAG port
Trace Port
TAP controller
ETM
EmbeddedICE Logic
ARM core
26
http://www.keil.com/demo/
27
28
29