ARM Introduction & Architecture
ARM Introduction & Architecture
Day 1
RISC Advantages
Day 1
RISC Disadvantages
Day 1
CISC vs. RISC
CISC RISC
Greater
Compiler Compiler
Complexity
Greater
Processor Processor
Complexity
Day 1
Features used from RISC
• A Load/Store Architecture
• Fixed Length 32-bit Instructions
• 3- Address Instruction Formats
Day 1
3 Address Instruction Format
Example
Day 1
Features Rejected from Berkeley RISC
Day 1
ARM Design Policy
Day 1
Pipeline
Day 1
ARM7 Three stage pipeline
Day 1
Pipelined instruction sequence
Day 1
ARM9 Five stage pipeline
• Fetch
– The instruction is fetched from memory and placed in the
instruction pipeline
• Decode
– The instruction is decoded and register operands read from the
register file
• Execute
– An operand is shifted and the ALU result generated
• Memory (Buffer/Data)
– Data memory is accessed if required. Otherwise the ALU result
is buffered for one clock cycle to give the same pipeline flow
for all instructions
• Write (Write-Back)
– The results generated by the instruction are written back to
the register file, including any data loaded from memory
Day 1
ARM10 Six stage pipeline
Day 1
ARM Instruction Sequence
Day 1
Pipeline Characteristics
Day 1
Coprocessors
Day 1
ARM processor families
Day 1
ARM family attribute comparison
Day 1
ARM Processor Families
Day 1
ARM Processors
• ARM7 Family
ARM11 Family
– ARM7EJ-S ARM1136J-S
– ARM7TDMI ARM1136JF-S
– ARM7TDMI-S ARM1156T2(F)-S
– ARM720T ARM1176JZ(F)-S
• ARM11 MPCore
ARM9/9E Families
– ARM920T
– ARM922T Cortex Family
– ARM926EJ-S Cortex-A8
– ARM940T Cortex-M1
– ARM946E-S Cortex-M3
– ARM966E-S Cortex-R4
– ARM968E-S
• Vector Floating Point Families Other Processors/Microarchitectures
– VFP10 StrongARM (DEC-Intel)
• ARM10 Family Xscale (Intel- Marvell Tech)
– ARM1020E Other
– ARM1022E
– ARM1026EJ-S Day 1
Cortex Family
• ARM Cortex-A Series - Application
processors for complex OS and user
applications
– ARM Cortex-A8, ARM Cortex-A9
• ARM Cortex-R Series - Embedded
processors
for real-time systems
– ARM Cortex-R4(F)
Day 1
Switching States
• ARM to Thumb
– Execute the BX instruction with state
bit=1
• Thumb to ARM
– Execute the BX instruction with state
bit=0
– An interrupt or exception occurs
Day 1
“ In today’s systems the key is not raw processor speed but total
effective system performance and power consumption ”