SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
1
Confidential
11
ARM Architecture
Overview
222
Development of the ARM Architecture
4T
ARM7TDMI
ARM922T
Thumb
instruction set
ARM926EJ-S
ARM946E-S
ARM966E-S
Improved
ARM/Thumb
Interworking
DSP instructions
Extensions:
Jazelle (5TEJ)
5TE 6
ARM1136JF-S
ARM1176JZF-S
ARM11 MPCore
SIMD Instructions
Unaligned data support
Extensions:
Thumb-2 (6T2)
TrustZone (6Z)
Multicore (6K)
7
§ Note: Implementations of the same architecture can be very different
§ ARM7TDMI - architecture v4T. Von Neuman core with 3 stage pipeline
§ ARM920T - architecture v4T. Harvard core with 5 stage pipeline and MMU
Cortex-A8/R4/M3/M1
Thumb-2
Extensions:
v7A (applications) – NEON
v7R (real time) – HW Divide
V7M (microcontroller) – HW
Divide and Thumb-2 only
§ Processor Architecture = Instruction Set + Programmer’s model
2
Confidential
333
ARM Architecture profiles
§ Application profile (ARMv7-A à e.g. Cortex-A8)
§ Memory management support (MMU)
§ Highest performance at low power
§ Influenced by multi-tasking OS system requirements
§ TrustZone and Jazelle-RCT for a safe, extensible system
§ Real-time profile (ARMv7-R à e.g. Cortex-R4)
§ Protected memory (MPU)
§ Low latency and predictability ‘real-time’ needs
§ Evolutionary path for traditional embedded business
§ Microcontroller profile (ARMv7-M à e.g. Cortex-M3)
§ Lowest gate count entry point
§ Deterministic and predictable behavior a key priority
§ Deeply embedded use
444
Programmer’s Model
3
Confidential
555
Data Sizes and Instruction Sets
§ When used in relation to the ARM:
§ Halfword means 16 bits (two bytes)
§ Word means 32 bits (four bytes)
§ Doubleword means 64 bits (eight bytes)
§ Most ARMs implement two instruction sets
§ 32-bit ARM Instruction Set
§ 16-bit Thumb Instruction Set
§ Latest ARM cores introduce a new instruction set Thumb-2
§ Provides a mixture of 32-bit and 16-bit instructions
§ Maintains code density with increased flexibility
§ Jazelle-DBX cores can also execute Java bytecode
666
§ The ARM has seven basic operating modes:
§ Each mode has access to own stack and a different subset of registers
§ Some operations can only be carried out in a privileged mode
Processor Modes
Entered when a high priority (fast) interrupt is
raised
FIQ
Entered when a low priority (normal) interrupt
is raised
IRQ
Used to handle memory access violationsAbort
Used to handle undefined instructionsUndef
Privileged mode using the same registers as
User mode
System
Unprivileged
mode
Mode under which most Applications / OS
tasks run
User
Privileged
modes
Entered on reset and when a Software Interrupt
instruction (SWI) is executed
Supervisor
(SVC)
DescriptionMode
Exceptionmodes
4
Confidential
777
The ARM Register Set
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
User mode
spsr
r13 (sp)
r14 (lr)
IRQ FIQ
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr spsr
r13 (sp)
r14 (lr)
Undef
spsr
r13 (sp)
r14 (lr)
Abort
spsr
r13 (sp)
r14 (lr)
SVC
Current mode Banked out registers
ARM has 37 registers, all 32-bits long
A subset of these registers is accessible
in each mode
888
Program Status Registers
§ Condition code flags
§ N = Negative result from ALU
§ Z = Zero result from ALU
§ C = ALU operation Carried out
§ V = ALU operation oVerflowed
§ Sticky Overflow flag - Q flag
§ Architecture 5TE and later only
§ Indicates if saturation has occurred
§ J bit
§ Architecture 5TEJ and later only
§ J = 1: Processor in Jazelle state
§ Interrupt Disable bits
§ I = 1: Disables IRQ
§ F = 1: Disables FIQ
§ T Bit
§ T = 0: Processor in ARM state
§ T = 1: Processor in Thumb state
§ Introduced in Architecture 4T
§ Mode bits
§ Specify the processor mode
f s x c
2731
N Z C V Q
28 67
I F T mode
1623 15 5 4 024
U n d e f i n e dJ
§ New bits in V6
§ GE[3:0] used by some SIMD
instructions
§ E bit controls load/store endianness
§ A bit disables imprecise data aborts
§ IT [abcde] IF THEN conditional
execution of Thumb2 instruction
groups
10 8919
GE[3:0] E AIT cond_abcde
5
Confidential
999
Data alignment
§ Prior to architecture v6 data accesses must be appropriately aligned for
access size
§ Unaligned addresses will produce unexpected/undefined results
§ Unaligned data can be accessed using multiple aligned accesses
combined with shift/mask operations
Byte access
(byte aligned)
Halfword access
(halfword aligned)
Word access
(word aligned)
3 2 1 0
7 6 5 4
02
46
8a
ce
0
89ab
cdef
4
8
c
101010
Vector Table
Exception Handling
§ When an exception occurs, the core:
§ 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
§ To return, exception handler needs to:
§ Restore CPSR from SPSR_<mode>
§ Restore PC from LR_<mode>
§ Must be done in ARM state in most cores, but...
...Thumb-2 capable cores can do this in Thumb state
Vector table can also be at
0xFFFF0000 on most cores
FIQ
IRQ
(Reserved)
Data Abort
Prefetch Abort
Software Interrupt
Undefined Instruction
Reset
0x1C
0x18
0x14
0x10
0x0C
0x08
0x04
0x00
6
Confidential
111111
Introduction to
Instruction Sets
121212
ARM Instruction Set
§ All instructions are 32 bits long / many execute in a single cycle
§ Instructions are conditionally executed
§ A load / store architecture
§ Example data processing instructions
SUB r0,r1,#5
ADD r2,r3,r3,LSL #2
ADDEQ r5,r5,r6
§ Example branching instruction
B <Label>
§ Example memory access instructions
LDR r0,[r1]
STRNEB r2,[r3,r4]
STMFD sp!,{r4-r8,lr}
r0 = r1 - 5
r2 = r3 + (r3 * 4)
IF EQ condition true r5 = r5 + r6
Branch forwards or backwards relative to
current PC (+/- 32MB range)
Load word at address r1 into r0
IF NE condition true, store bottom byte
of r2 to address r3+r4
Store registers r4 to r8 and lr on
stack. Then update stack pointer
7
Confidential
131313
Thumb Instruction Set
§ Thumb is a 16-bit instruction set
§ Optimized for code density from C code (~65% of ARM code size)
§ Improved performance from narrow memory
§ Subset of the functionality of the ARM instruction set
§ Thumb is not a “regular” instruction set!
§ Constraints are not generally consistent
§ Targeted at compiler generation, not hand coding
141414
Thumb-2 Instruction Set
§ Thumb-2 is a major extension to the Thumb ISA
§ Adds 32-bit instructions to implement almost all of the ARM ISA functionality
§ Retains the complete 16-bit Thumb instruction set
§ Design objective: ARM performance with Thumb code density
§ No switching between ARM-Thumb states
§ Compiler automatically selects mix of 16 and 32 bit instructions
8
Confidential
151515
Thumb 2 Performance / Density
Performance
Code density
100% ARM code
100% Thumb code
Random mix ‘Profiled’ mix
Thumb-2
161616
Processor Cores
9
Confidential
171717
ARM7TDMI Processor
§ Architecture v4T
§ 3-stage pipeline
§ Single interface to memory
181818
ARM926EJ-S Processor
ARM926EJ-S
§ Architecture v5TE
§ 5-stage pipeline
§ Single-cycle 32x16 multiplier
§ Caches and TCMs
§ Memory management unit (MMU)
§ 2 AHB memory interfaces
§ Jazelle technology
10
Confidential
191919
ARM1176JZ(F)-S Processor Core
§ TrustZone
§ 8-stage pipeline
§ Branch prediction
§ Four AXI memory ports
§ IEM (Intelligent Energy
Management)
§ Integrated VFP coprocessor
202020
ARM11 MPCore Processor
§ 1 – 4 MP11 processors
§ Cache coherency
§ Distributed interrupt controller
MP11 MP11 MP11 MP11
11
Confidential
212121
ARM Cortex-M3 Processor
§ Architecture v7-M (Thumb-2 only) à
Very different from previous ARM
processors
§ No CPSR register
§ Vector table contains addresses, not
instructions
§ Processor automatically saves/restores
state in exceptions
§ Only 2 processor modes (Thread/Handler)
§ No Coprocessor 15 3-stage pipeline with
static branch prediction
§ Atypical Implementation
§ Fixed memory map
§ Integrated interrupt controller
§ Serial-Wire Debug
222222
ARM Cortex-A8 Processor
§ Architecture v7-A
§ 14 stage pipeline
§ NEON media processor
12
Confidential
232323
The Instruction Pipeline
242424
The Instruction Pipeline
§ The ARM7TDMI uses a 3-stage pipeline in order to increase the
speed of the flow of instructions to the processor
§ Allows several operations to be performed simultaneously, rather than
serially
§ The PC points to the instruction being fetched, not executed
§ Debug tools will hide this from you
§ This is now part of the ARM Architecture and applies to all processors
FETCH
DECODE
EXECUTE
Instruction fetched from memory
Decoding of registers used in instruction
Register(s) read from Register Bank
Shift and ALU operation
Write register(s) back to Register Bank
PC PC
PC - 4 PC-2
PC - 8 PC - 4
ARM Thumb
13
Confidential
252525
Cycle
Operation
ADD
SUB
ORR
AND
EOR
ORR
Optimal Pipelining
§ All operations here are on registers (single cycle execution)
§ In this example it takes 6 clock cycles to execute 6 instructions
§ Clock cycles per Instruction (CPI) = 1
1 2 3 4 5 6 7 8 9
F D E
F D E
F E
F D E
F D E
D
F D E W
F - Fetch D - Decode E - Execute
M
262626
§ Breaking the pipeline
§ Note that the core is executing in ARM state
Cycle
Address Operation
0x8000 BL 0x8FEC
0x8004 SUB
0x8FF0 ORR
0x8FEC AND
0x8FF4 EOR
0x8008 ORR
1 2 3 4 5 6 7 8 9
F D E
F D
F E
F D E
F
D
F D E W
F - Fetch D - Decode E – Execute L – Linkret A - Adjust
M
EL EA
Branch Pipeline Example
14
Confidential
272727
Cortex-A8 Integer Pipeline
Instruction Execute / Load Store
Instruction Fetch
F1 F2F0
Instruction Decode
Replay Penalty
D0 D1 D2 D3 D4 E0 E1 E2 E3 E4 E5
Branch Mispredict Penalty
AGU
Queue
RAM
TLB
Branch
Pred.
Early
DEC DEC
Queue
DEC
SEQ Regfile
Remap
Score
board
& Issue
Logic
Shift SATALU WBBP
Update
Reg
File
Early
DEC
DEC
Pending
Replay
Queue
Route MUL2MUL1 WBADD
Shift SATALU WB
BP
Update
AGU Format
Fwd
RAM +
TLB
WB
ALU
MUL
PIPE0
ALU
PIPE1
LOAD
STORE
BP
Update
§ Optimising code to make use of the processor pipeline is very difficult
§ Leave it to the compiler!!
282828
Reference Slides
15
Confidential
292929
Reference Material
§ ARM ARM(“Architecture Reference Manual”)
§ ARM DDI 0100E covers v5TE DSP extensions
§ Can be purchased from booksellers - ISBN 0-201-737191 (Addison-Wesley)
§ Available for download from ARM’s website
§ ARM v7-M ARM available for download from ARM’s website
§ Contact ARM if you need a different version (v6, v7-AR, etc.)
§ Steve Furber “ARM system-on-chip architecture” - 2nd edition
§ ISBN 0-201-67519-6 (Addison-Wesley)
§ Sloss, Symes & Wright – “ARM System Developer's Guide”
§ ISBN: 1-55860-874-5 (Morgan Kaufman)
§ RVCT Assembler Guide
§ Available for download from ARM’s website
§ Technical Reference Manuals for processor core being used
§ Available for download from ARM’s website
303030
Naming Conventions
§ ARMx1z (e.g. ARM710T) indicates cache & full MMU
§ ARMx2z (e.g. ARM720T) indicates cache, MMU & Process ID support
§ ARMx3z (e.g. ARM1136J-S) indicates physically mapped caches and MMU
§ ARMx4z (e.g. ARM740T) indicates cache and MPU
§ ARMx5z (e.g. ARM1156T2-S) indicates cache, MPU and error correcting memory
§ ARMx6z (e.g. ARM966E-S) indicates write buffer but no caches
§ ARMx7z (e.g. ARM1176JZ-S) indicates AXI bus, & physically mapped caches and
MMU
§ ARMxy6 (e.g. ARM946E-S) indicates TCMs
16
Confidential
313131
Which architecture is my processor?
Processor core Architecture
§ ARM7TDMI family v4T
§ ARM720T, ARM740T
§ ARM9TDMI family v4T
§ ARM920T,ARM922T,ARM940T
§ ARM9E family v5TE, v5TEJ
§ ARM946E-S, ARM966E-S, ARM926EJ-S
§ ARM10E family v5TE, v5TEJ
§ ARM1020E, ARM1022E, ARM1026EJ -S
§ ARM11 family v6
§ ARM1136J(F)-S v6
§ ARM1156T2(F)-S v6T2
§ ARM1176JZ(F)-S v6Z
§ ARM11 MPCore v6
§ Cortex family
§ ARM Cortex -A8 v7-A
§ ARM Cortex -R4(F) v7-R
§ ARM Cortex -M3 v7-M
§ ARM Cortex -M1 v6-M
§ For ARM processor naming conventions and features, please see the Appendix
323232
ARMv4T Cores:
No
N/A
No
None
None
N/A
N/A
No
N/A
None
von Neumann
7TDMI
Yes
Yes
Yes
MMU
16 Words
4 Addresses
Write Through
Write Back
Random
Round Robin
No
64- way
16K Instr +
16K Data
8 words/line
Harvard
920T
YesYesNoNoStandby
Mode
YesYesYesYesStreaming
YesYesNoYesHi Vectors
MMUMPUMPUMMUMMU/MPU
8 Words
4 Addresses
8 Words
4 Addresses
8 Words
4 Addresses
8 Words
4 AddressesWrite Buffer
Write Back
Write Through
Write Back
Write ThroughWrite Through
Write
Strategy
Round RobinRandomRandomRandomReplacement
NoNoNoNoTCM
32- way64- way4-way4-wayAssociativity
16K Instr +
16K Data
4 words/line
4K Instr + 4K
Data
4 words/line
8K Unified
4 words/line
8K Unified
4 words/lineCache
HarvardHarvardvon Neumannvon NeumannArchitecture
SA1100940T740T720T
17
Confidential
333333
ARMv5 Cores:
Yes
Yes
Yes
MMU or MPU
8 Words
Data or
Address
Write Through
Write Back
Random
Round Robin
0-1024K Instr
0-1024K Data
4-way
0-128K Instr
0-128K Data
8 words/line
Harvard
1026EJ-S
Yes
N/A
Yes
None
12 Words
Data or
Address
N/A
N/A
0-64M Instr
0-64M Data
N/A
None
Harvard
966E-S
YesYesYesYesStandby
Mode
YesN/AYesYesStreaming
YesYesYesYesHi Vectors
MMU
With
extensions
NoneMPUMMUMMU/MPU
8 x 16 Bytes
Coalescing
12 Words
Data or
Address
16 Words
Data or
Address
16 Words
4 AddressesWrite Buffer
Write Through
Write Back
Write Through
Write Back
Write Through
Write Back
Write Through
Write Back
Write
Strategy
Random
Round Robin
N/A
Random
Round Robin
Random
Round RobinReplacement
No
0-64M Instr
0-64M Data
0-1024K Instr
0-1024K Data
0-1024K Instr
0-1024K DataTCM
32- wayN/A4-way4-wayAssociativity
32K Instr
32K Data
8 words/line
None0-1024K Instr
0-1024K Data
8 words/line
4-128K Instr
4-128K Data
8 words/line
Cache
HarvardHarvardHarvardHarvardArchitecture
XScale968E-S946E-S926EJ-S
343434
ARMv6 Cores:
AXIAXIAXIAHB/APBBus
YesYesYesYes
Standby
Mode
YesYesYesYesVFP Support
N/A
Yes
MMU
Write Through
Write Back
Random
Round Robin
0-64K Instr
0-64K Data
4-way
4-64K Instr
4-64K Data
8 words/line
Harvard
1176JZ(F)-
S
YesYesYesStreaming
YesYesYesHi Vectors
MMUMPUMMUMMU/MPU
Write Through
Write Back
Write Through
Write Back
Write Through
Write Back
Write
Strategy
Random
Round Robin
Random
Round Robin
Random
Round Robin
Replacemen
t
None
0-256K Instr
0-256K Data
0-64K Instr
0-64K DataTCM
4-way4-way4-wayAssociativity
16-64K Instr
16-64K Data
8 words/line
0-64K Instr
0-64K Data
8 words/line
4-64K Instr
4-64K Data
8 words/line
Cache
HarvardHarvardHarvardArchitecture
MPCore11
1156T2(F)-
S
1136EJ(F)-
S
18
Confidential
353535
Cortex Cores:
AXIAXIAHB Lite/APBAHB Lite/APBBus
YesYesYesYes
Standby
Mode
YesYesNoNoVFP Support
Yes
Yes
MPU
(optional)
Write Through
Write Back
Random
0-8M Instr
0-8M Data
4-way
4-64K Instr
4-64K Data
8 words/line
Harvard
Cortex-R4
YesN/AN/AStreaming
YesNoNoHi Vectors
MMUNoneMPUMMU/MPU
Write Through
Write Back
N/AN/A
Write
Strategy
RandomN/AN/AReplacemen
t
None
0-1M Instr
0-1M Data
NoneTCM
4-wayN/AN/AAssociativity
16 or 32 Instr
16 or 32 Data
16 words/line
NoneNone
Cache
HarvardHarvardHarvardArchitecture
Cortex-A8Cortex-M1Cortex-M3
363636
TrustZone Computing
§ New Secure Monitor Mode:
gate-keeper for secure state
§ New S-bit in CP15 to indicate when
the processor is running in a
secured state
§ Security state exposed on external
bus accesses to permit security-
aware memory and peripherals
§ Ability to restrict debug to non-
secure state
§ TrustZone adds a “parallel world” to allow trusted programs and data to
be safely separated from the OS and applications
§ Introduced for ARM1176, standard for ARMv7-A Cores
§ Features:
19
Confidential
373737
NEON Media Processor Features
§ Single Instruction Multiple Data (SIMD) Media Processor
§ Targets audio and video codecs, image and speech
processing, graphics, baseband processing, and general
signal processing
§ 3 Processing pipelines: Integer/fixed point, single precision
floating point, IEEE vector floating point
§ Efficient data handling
§ Best use of available memory bandwidth
§ Eliminates data arrangement overhead
§ Operates on separate register file
§ SIMD Framework excellent target for compilers
3838
End

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

ARM Processor
ARM ProcessorARM Processor
ARM Processor
 
ARM7TDM
ARM7TDMARM7TDM
ARM7TDM
 
Arm processors' architecture
Arm processors'   architectureArm processors'   architecture
Arm processors' architecture
 
Arm architecture
Arm architectureArm architecture
Arm architecture
 
Arm Lecture
Arm LectureArm Lecture
Arm Lecture
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
Arm modes
Arm modesArm modes
Arm modes
 
Arm
ArmArm
Arm
 
Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01
 
ARM7-ARCHITECTURE
ARM7-ARCHITECTURE ARM7-ARCHITECTURE
ARM7-ARCHITECTURE
 
ARM
ARMARM
ARM
 
ARM Architecture
ARM ArchitectureARM Architecture
ARM Architecture
 
Arm processor
Arm processorArm processor
Arm processor
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
 
ARM 7 Detailed instruction set
ARM 7 Detailed instruction setARM 7 Detailed instruction set
ARM 7 Detailed instruction set
 
Arm arc-2016
Arm arc-2016Arm arc-2016
Arm arc-2016
 
Unit II Arm 7 Introduction
Unit II Arm 7 IntroductionUnit II Arm 7 Introduction
Unit II Arm 7 Introduction
 
Q4.11: ARM Architecture
Q4.11: ARM ArchitectureQ4.11: ARM Architecture
Q4.11: ARM Architecture
 

Andere mochten auch

Andere mochten auch (7)

Memory model
Memory modelMemory model
Memory model
 
FPGA/Reconfigurable computing (HPRC)
FPGA/Reconfigurable computing (HPRC)FPGA/Reconfigurable computing (HPRC)
FPGA/Reconfigurable computing (HPRC)
 
ARM AAE - Memory Systems
ARM AAE - Memory SystemsARM AAE - Memory Systems
ARM AAE - Memory Systems
 
Review Multicore processing based on ARM architecture
Review Multicore processing based on ARM architectureReview Multicore processing based on ARM architecture
Review Multicore processing based on ARM architecture
 
Hardware accelerated Virtualization in the ARM Cortex™ Processors
Hardware accelerated Virtualization in the ARM Cortex™ ProcessorsHardware accelerated Virtualization in the ARM Cortex™ Processors
Hardware accelerated Virtualization in the ARM Cortex™ Processors
 
cache memory
cache memorycache memory
cache memory
 
Memory hierarchy
Memory hierarchyMemory hierarchy
Memory hierarchy
 

Ähnlich wie Arm architecture overview

LPC 2148 Instructions Set.ppt
LPC 2148 Instructions Set.pptLPC 2148 Instructions Set.ppt
LPC 2148 Instructions Set.pptProfBadariNathK
 
WINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptx
WINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptxWINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptx
WINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptxSoniBhavya
 
Unit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptxUnit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptxVijayKumar201823
 
ARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/SpectreARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/SpectreGlobalLogic Ukraine
 
EC8791 ARM Processor and Peripherals.pptx
EC8791 ARM Processor and Peripherals.pptxEC8791 ARM Processor and Peripherals.pptx
EC8791 ARM Processor and Peripherals.pptxdeviifet2015
 
2 introduction to arm architecture
2 introduction to arm architecture2 introduction to arm architecture
2 introduction to arm architecturesatish1jisatishji
 
Arm teaching material
Arm teaching materialArm teaching material
Arm teaching materialJohn Williams
 
ESD_05_ARM_Instructions set for preparation
ESD_05_ARM_Instructions set for preparationESD_05_ARM_Instructions set for preparation
ESD_05_ARM_Instructions set for preparationssuser026e94
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureRyo Jin
 
ARM stacks, subroutines, Cortex M3, LPC 214X
ARM  stacks, subroutines, Cortex M3, LPC 214XARM  stacks, subroutines, Cortex M3, LPC 214X
ARM stacks, subroutines, Cortex M3, LPC 214XKarthik Vivek
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxKandavelEee
 

Ähnlich wie Arm architecture overview (20)

arm
armarm
arm
 
LPC 2148 Instructions Set.ppt
LPC 2148 Instructions Set.pptLPC 2148 Instructions Set.ppt
LPC 2148 Instructions Set.ppt
 
Lecture8
Lecture8Lecture8
Lecture8
 
arm_3.ppt
arm_3.pptarm_3.ppt
arm_3.ppt
 
WINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptx
WINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptxWINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptx
WINSEM2022-23_BECE204L_TH_VL2022230500861_2023-02-10_Reference-Material-I.pptx
 
Introduction to ARM Architecture
Introduction to ARM ArchitectureIntroduction to ARM Architecture
Introduction to ARM Architecture
 
Unit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptxUnit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptx
 
ARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/SpectreARM Architecture and Meltdown/Spectre
ARM Architecture and Meltdown/Spectre
 
EC8791 ARM Processor and Peripherals.pptx
EC8791 ARM Processor and Peripherals.pptxEC8791 ARM Processor and Peripherals.pptx
EC8791 ARM Processor and Peripherals.pptx
 
Arm
ArmArm
Arm
 
2 introduction to arm architecture
2 introduction to arm architecture2 introduction to arm architecture
2 introduction to arm architecture
 
Arm teaching material
Arm teaching materialArm teaching material
Arm teaching material
 
Arm teaching material
Arm teaching materialArm teaching material
Arm teaching material
 
ESD_05_ARM_Instructions set for preparation
ESD_05_ARM_Instructions set for preparationESD_05_ARM_Instructions set for preparation
ESD_05_ARM_Instructions set for preparation
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit Architecture
 
ARM stacks, subroutines, Cortex M3, LPC 214X
ARM  stacks, subroutines, Cortex M3, LPC 214XARM  stacks, subroutines, Cortex M3, LPC 214X
ARM stacks, subroutines, Cortex M3, LPC 214X
 
ARM.ppt
ARM.pptARM.ppt
ARM.ppt
 
UNIT 2.pptx
UNIT 2.pptxUNIT 2.pptx
UNIT 2.pptx
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptx
 
ARMInst.ppt
ARMInst.pptARMInst.ppt
ARMInst.ppt
 

Kürzlich hochgeladen

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf203318pmpc
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 

Kürzlich hochgeladen (20)

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 

Arm architecture overview

  • 1. 1 Confidential 11 ARM Architecture Overview 222 Development of the ARM Architecture 4T ARM7TDMI ARM922T Thumb instruction set ARM926EJ-S ARM946E-S ARM966E-S Improved ARM/Thumb Interworking DSP instructions Extensions: Jazelle (5TEJ) 5TE 6 ARM1136JF-S ARM1176JZF-S ARM11 MPCore SIMD Instructions Unaligned data support Extensions: Thumb-2 (6T2) TrustZone (6Z) Multicore (6K) 7 § Note: Implementations of the same architecture can be very different § ARM7TDMI - architecture v4T. Von Neuman core with 3 stage pipeline § ARM920T - architecture v4T. Harvard core with 5 stage pipeline and MMU Cortex-A8/R4/M3/M1 Thumb-2 Extensions: v7A (applications) – NEON v7R (real time) – HW Divide V7M (microcontroller) – HW Divide and Thumb-2 only § Processor Architecture = Instruction Set + Programmer’s model
  • 2. 2 Confidential 333 ARM Architecture profiles § Application profile (ARMv7-A à e.g. Cortex-A8) § Memory management support (MMU) § Highest performance at low power § Influenced by multi-tasking OS system requirements § TrustZone and Jazelle-RCT for a safe, extensible system § Real-time profile (ARMv7-R à e.g. Cortex-R4) § Protected memory (MPU) § Low latency and predictability ‘real-time’ needs § Evolutionary path for traditional embedded business § Microcontroller profile (ARMv7-M à e.g. Cortex-M3) § Lowest gate count entry point § Deterministic and predictable behavior a key priority § Deeply embedded use 444 Programmer’s Model
  • 3. 3 Confidential 555 Data Sizes and Instruction Sets § When used in relation to the ARM: § Halfword means 16 bits (two bytes) § Word means 32 bits (four bytes) § Doubleword means 64 bits (eight bytes) § Most ARMs implement two instruction sets § 32-bit ARM Instruction Set § 16-bit Thumb Instruction Set § Latest ARM cores introduce a new instruction set Thumb-2 § Provides a mixture of 32-bit and 16-bit instructions § Maintains code density with increased flexibility § Jazelle-DBX cores can also execute Java bytecode 666 § The ARM has seven basic operating modes: § Each mode has access to own stack and a different subset of registers § Some operations can only be carried out in a privileged mode Processor Modes Entered when a high priority (fast) interrupt is raised FIQ Entered when a low priority (normal) interrupt is raised IRQ Used to handle memory access violationsAbort Used to handle undefined instructionsUndef Privileged mode using the same registers as User mode System Unprivileged mode Mode under which most Applications / OS tasks run User Privileged modes Entered on reset and when a Software Interrupt instruction (SWI) is executed Supervisor (SVC) DescriptionMode Exceptionmodes
  • 4. 4 Confidential 777 The ARM Register Set r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) User mode spsr r13 (sp) r14 (lr) IRQ FIQ r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr spsr r13 (sp) r14 (lr) Undef spsr r13 (sp) r14 (lr) Abort spsr r13 (sp) r14 (lr) SVC Current mode Banked out registers ARM has 37 registers, all 32-bits long A subset of these registers is accessible in each mode 888 Program Status Registers § Condition code flags § N = Negative result from ALU § Z = Zero result from ALU § C = ALU operation Carried out § V = ALU operation oVerflowed § Sticky Overflow flag - Q flag § Architecture 5TE and later only § Indicates if saturation has occurred § J bit § Architecture 5TEJ and later only § J = 1: Processor in Jazelle state § Interrupt Disable bits § I = 1: Disables IRQ § F = 1: Disables FIQ § T Bit § T = 0: Processor in ARM state § T = 1: Processor in Thumb state § Introduced in Architecture 4T § Mode bits § Specify the processor mode f s x c 2731 N Z C V Q 28 67 I F T mode 1623 15 5 4 024 U n d e f i n e dJ § New bits in V6 § GE[3:0] used by some SIMD instructions § E bit controls load/store endianness § A bit disables imprecise data aborts § IT [abcde] IF THEN conditional execution of Thumb2 instruction groups 10 8919 GE[3:0] E AIT cond_abcde
  • 5. 5 Confidential 999 Data alignment § Prior to architecture v6 data accesses must be appropriately aligned for access size § Unaligned addresses will produce unexpected/undefined results § Unaligned data can be accessed using multiple aligned accesses combined with shift/mask operations Byte access (byte aligned) Halfword access (halfword aligned) Word access (word aligned) 3 2 1 0 7 6 5 4 02 46 8a ce 0 89ab cdef 4 8 c 101010 Vector Table Exception Handling § When an exception occurs, the core: § 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 § To return, exception handler needs to: § Restore CPSR from SPSR_<mode> § Restore PC from LR_<mode> § Must be done in ARM state in most cores, but... ...Thumb-2 capable cores can do this in Thumb state Vector table can also be at 0xFFFF0000 on most cores FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Interrupt Undefined Instruction Reset 0x1C 0x18 0x14 0x10 0x0C 0x08 0x04 0x00
  • 6. 6 Confidential 111111 Introduction to Instruction Sets 121212 ARM Instruction Set § All instructions are 32 bits long / many execute in a single cycle § Instructions are conditionally executed § A load / store architecture § Example data processing instructions SUB r0,r1,#5 ADD r2,r3,r3,LSL #2 ADDEQ r5,r5,r6 § Example branching instruction B <Label> § Example memory access instructions LDR r0,[r1] STRNEB r2,[r3,r4] STMFD sp!,{r4-r8,lr} r0 = r1 - 5 r2 = r3 + (r3 * 4) IF EQ condition true r5 = r5 + r6 Branch forwards or backwards relative to current PC (+/- 32MB range) Load word at address r1 into r0 IF NE condition true, store bottom byte of r2 to address r3+r4 Store registers r4 to r8 and lr on stack. Then update stack pointer
  • 7. 7 Confidential 131313 Thumb Instruction Set § Thumb is a 16-bit instruction set § Optimized for code density from C code (~65% of ARM code size) § Improved performance from narrow memory § Subset of the functionality of the ARM instruction set § Thumb is not a “regular” instruction set! § Constraints are not generally consistent § Targeted at compiler generation, not hand coding 141414 Thumb-2 Instruction Set § Thumb-2 is a major extension to the Thumb ISA § Adds 32-bit instructions to implement almost all of the ARM ISA functionality § Retains the complete 16-bit Thumb instruction set § Design objective: ARM performance with Thumb code density § No switching between ARM-Thumb states § Compiler automatically selects mix of 16 and 32 bit instructions
  • 8. 8 Confidential 151515 Thumb 2 Performance / Density Performance Code density 100% ARM code 100% Thumb code Random mix ‘Profiled’ mix Thumb-2 161616 Processor Cores
  • 9. 9 Confidential 171717 ARM7TDMI Processor § Architecture v4T § 3-stage pipeline § Single interface to memory 181818 ARM926EJ-S Processor ARM926EJ-S § Architecture v5TE § 5-stage pipeline § Single-cycle 32x16 multiplier § Caches and TCMs § Memory management unit (MMU) § 2 AHB memory interfaces § Jazelle technology
  • 10. 10 Confidential 191919 ARM1176JZ(F)-S Processor Core § TrustZone § 8-stage pipeline § Branch prediction § Four AXI memory ports § IEM (Intelligent Energy Management) § Integrated VFP coprocessor 202020 ARM11 MPCore Processor § 1 – 4 MP11 processors § Cache coherency § Distributed interrupt controller MP11 MP11 MP11 MP11
  • 11. 11 Confidential 212121 ARM Cortex-M3 Processor § Architecture v7-M (Thumb-2 only) à Very different from previous ARM processors § No CPSR register § Vector table contains addresses, not instructions § Processor automatically saves/restores state in exceptions § Only 2 processor modes (Thread/Handler) § No Coprocessor 15 3-stage pipeline with static branch prediction § Atypical Implementation § Fixed memory map § Integrated interrupt controller § Serial-Wire Debug 222222 ARM Cortex-A8 Processor § Architecture v7-A § 14 stage pipeline § NEON media processor
  • 12. 12 Confidential 232323 The Instruction Pipeline 242424 The Instruction Pipeline § The ARM7TDMI uses a 3-stage pipeline in order to increase the speed of the flow of instructions to the processor § Allows several operations to be performed simultaneously, rather than serially § The PC points to the instruction being fetched, not executed § Debug tools will hide this from you § This is now part of the ARM Architecture and applies to all processors FETCH DECODE EXECUTE Instruction fetched from memory Decoding of registers used in instruction Register(s) read from Register Bank Shift and ALU operation Write register(s) back to Register Bank PC PC PC - 4 PC-2 PC - 8 PC - 4 ARM Thumb
  • 13. 13 Confidential 252525 Cycle Operation ADD SUB ORR AND EOR ORR Optimal Pipelining § All operations here are on registers (single cycle execution) § In this example it takes 6 clock cycles to execute 6 instructions § Clock cycles per Instruction (CPI) = 1 1 2 3 4 5 6 7 8 9 F D E F D E F E F D E F D E D F D E W F - Fetch D - Decode E - Execute M 262626 § Breaking the pipeline § Note that the core is executing in ARM state Cycle Address Operation 0x8000 BL 0x8FEC 0x8004 SUB 0x8FF0 ORR 0x8FEC AND 0x8FF4 EOR 0x8008 ORR 1 2 3 4 5 6 7 8 9 F D E F D F E F D E F D F D E W F - Fetch D - Decode E – Execute L – Linkret A - Adjust M EL EA Branch Pipeline Example
  • 14. 14 Confidential 272727 Cortex-A8 Integer Pipeline Instruction Execute / Load Store Instruction Fetch F1 F2F0 Instruction Decode Replay Penalty D0 D1 D2 D3 D4 E0 E1 E2 E3 E4 E5 Branch Mispredict Penalty AGU Queue RAM TLB Branch Pred. Early DEC DEC Queue DEC SEQ Regfile Remap Score board & Issue Logic Shift SATALU WBBP Update Reg File Early DEC DEC Pending Replay Queue Route MUL2MUL1 WBADD Shift SATALU WB BP Update AGU Format Fwd RAM + TLB WB ALU MUL PIPE0 ALU PIPE1 LOAD STORE BP Update § Optimising code to make use of the processor pipeline is very difficult § Leave it to the compiler!! 282828 Reference Slides
  • 15. 15 Confidential 292929 Reference Material § ARM ARM(“Architecture Reference Manual”) § ARM DDI 0100E covers v5TE DSP extensions § Can be purchased from booksellers - ISBN 0-201-737191 (Addison-Wesley) § Available for download from ARM’s website § ARM v7-M ARM available for download from ARM’s website § Contact ARM if you need a different version (v6, v7-AR, etc.) § Steve Furber “ARM system-on-chip architecture” - 2nd edition § ISBN 0-201-67519-6 (Addison-Wesley) § Sloss, Symes & Wright – “ARM System Developer's Guide” § ISBN: 1-55860-874-5 (Morgan Kaufman) § RVCT Assembler Guide § Available for download from ARM’s website § Technical Reference Manuals for processor core being used § Available for download from ARM’s website 303030 Naming Conventions § ARMx1z (e.g. ARM710T) indicates cache & full MMU § ARMx2z (e.g. ARM720T) indicates cache, MMU & Process ID support § ARMx3z (e.g. ARM1136J-S) indicates physically mapped caches and MMU § ARMx4z (e.g. ARM740T) indicates cache and MPU § ARMx5z (e.g. ARM1156T2-S) indicates cache, MPU and error correcting memory § ARMx6z (e.g. ARM966E-S) indicates write buffer but no caches § ARMx7z (e.g. ARM1176JZ-S) indicates AXI bus, & physically mapped caches and MMU § ARMxy6 (e.g. ARM946E-S) indicates TCMs
  • 16. 16 Confidential 313131 Which architecture is my processor? Processor core Architecture § ARM7TDMI family v4T § ARM720T, ARM740T § ARM9TDMI family v4T § ARM920T,ARM922T,ARM940T § ARM9E family v5TE, v5TEJ § ARM946E-S, ARM966E-S, ARM926EJ-S § ARM10E family v5TE, v5TEJ § ARM1020E, ARM1022E, ARM1026EJ -S § ARM11 family v6 § ARM1136J(F)-S v6 § ARM1156T2(F)-S v6T2 § ARM1176JZ(F)-S v6Z § ARM11 MPCore v6 § Cortex family § ARM Cortex -A8 v7-A § ARM Cortex -R4(F) v7-R § ARM Cortex -M3 v7-M § ARM Cortex -M1 v6-M § For ARM processor naming conventions and features, please see the Appendix 323232 ARMv4T Cores: No N/A No None None N/A N/A No N/A None von Neumann 7TDMI Yes Yes Yes MMU 16 Words 4 Addresses Write Through Write Back Random Round Robin No 64- way 16K Instr + 16K Data 8 words/line Harvard 920T YesYesNoNoStandby Mode YesYesYesYesStreaming YesYesNoYesHi Vectors MMUMPUMPUMMUMMU/MPU 8 Words 4 Addresses 8 Words 4 Addresses 8 Words 4 Addresses 8 Words 4 AddressesWrite Buffer Write Back Write Through Write Back Write ThroughWrite Through Write Strategy Round RobinRandomRandomRandomReplacement NoNoNoNoTCM 32- way64- way4-way4-wayAssociativity 16K Instr + 16K Data 4 words/line 4K Instr + 4K Data 4 words/line 8K Unified 4 words/line 8K Unified 4 words/lineCache HarvardHarvardvon Neumannvon NeumannArchitecture SA1100940T740T720T
  • 17. 17 Confidential 333333 ARMv5 Cores: Yes Yes Yes MMU or MPU 8 Words Data or Address Write Through Write Back Random Round Robin 0-1024K Instr 0-1024K Data 4-way 0-128K Instr 0-128K Data 8 words/line Harvard 1026EJ-S Yes N/A Yes None 12 Words Data or Address N/A N/A 0-64M Instr 0-64M Data N/A None Harvard 966E-S YesYesYesYesStandby Mode YesN/AYesYesStreaming YesYesYesYesHi Vectors MMU With extensions NoneMPUMMUMMU/MPU 8 x 16 Bytes Coalescing 12 Words Data or Address 16 Words Data or Address 16 Words 4 AddressesWrite Buffer Write Through Write Back Write Through Write Back Write Through Write Back Write Through Write Back Write Strategy Random Round Robin N/A Random Round Robin Random Round RobinReplacement No 0-64M Instr 0-64M Data 0-1024K Instr 0-1024K Data 0-1024K Instr 0-1024K DataTCM 32- wayN/A4-way4-wayAssociativity 32K Instr 32K Data 8 words/line None0-1024K Instr 0-1024K Data 8 words/line 4-128K Instr 4-128K Data 8 words/line Cache HarvardHarvardHarvardHarvardArchitecture XScale968E-S946E-S926EJ-S 343434 ARMv6 Cores: AXIAXIAXIAHB/APBBus YesYesYesYes Standby Mode YesYesYesYesVFP Support N/A Yes MMU Write Through Write Back Random Round Robin 0-64K Instr 0-64K Data 4-way 4-64K Instr 4-64K Data 8 words/line Harvard 1176JZ(F)- S YesYesYesStreaming YesYesYesHi Vectors MMUMPUMMUMMU/MPU Write Through Write Back Write Through Write Back Write Through Write Back Write Strategy Random Round Robin Random Round Robin Random Round Robin Replacemen t None 0-256K Instr 0-256K Data 0-64K Instr 0-64K DataTCM 4-way4-way4-wayAssociativity 16-64K Instr 16-64K Data 8 words/line 0-64K Instr 0-64K Data 8 words/line 4-64K Instr 4-64K Data 8 words/line Cache HarvardHarvardHarvardArchitecture MPCore11 1156T2(F)- S 1136EJ(F)- S
  • 18. 18 Confidential 353535 Cortex Cores: AXIAXIAHB Lite/APBAHB Lite/APBBus YesYesYesYes Standby Mode YesYesNoNoVFP Support Yes Yes MPU (optional) Write Through Write Back Random 0-8M Instr 0-8M Data 4-way 4-64K Instr 4-64K Data 8 words/line Harvard Cortex-R4 YesN/AN/AStreaming YesNoNoHi Vectors MMUNoneMPUMMU/MPU Write Through Write Back N/AN/A Write Strategy RandomN/AN/AReplacemen t None 0-1M Instr 0-1M Data NoneTCM 4-wayN/AN/AAssociativity 16 or 32 Instr 16 or 32 Data 16 words/line NoneNone Cache HarvardHarvardHarvardArchitecture Cortex-A8Cortex-M1Cortex-M3 363636 TrustZone Computing § New Secure Monitor Mode: gate-keeper for secure state § New S-bit in CP15 to indicate when the processor is running in a secured state § Security state exposed on external bus accesses to permit security- aware memory and peripherals § Ability to restrict debug to non- secure state § TrustZone adds a “parallel world” to allow trusted programs and data to be safely separated from the OS and applications § Introduced for ARM1176, standard for ARMv7-A Cores § Features:
  • 19. 19 Confidential 373737 NEON Media Processor Features § Single Instruction Multiple Data (SIMD) Media Processor § Targets audio and video codecs, image and speech processing, graphics, baseband processing, and general signal processing § 3 Processing pipelines: Integer/fixed point, single precision floating point, IEEE vector floating point § Efficient data handling § Best use of available memory bandwidth § Eliminates data arrangement overhead § Operates on separate register file § SIMD Framework excellent target for compilers 3838 End