Professional Documents
Culture Documents
G N V Ratnakishor
Applications
Mobile phones Image processing Video games Robotics Adaptive control systems
ARM uses RISC superscalar processor architecture Processor retains the best of CISC features also. ARM architectures are used as core or chip.
ARM variants
1. 2. 3. 4. 5. 6. v1 ARM1 v2 ARM2 v2as ARM3, and ARM250 v3 ARM6, ARM7, and ARM8 v4 Strong ARM, and ARM9 v6 ARM10
Processor modes
1 dedicated program counter 1 dedicated current program status register (CPSR) 5 dedicated saved program status registers (SPSR) 30 general purpose registers.
A particular set of r0-r12 registers A particular r13 (SP) and r14 (link register, lr) The program counter (PC) The current program status register (CPSR)
Word(32-bits) (B3-B2-B1-B0) B0 B1
Address 0
Address 1 Address 2 Address 3
B3 B2
B2 B3
Little endian
B1 B0
Big endian
ARM processor operates on 32-bit words at an instance and can also operate separately on each byte or on half words. When used in relation to the ARM:
Byte means 8 bits Halfword means 16 bits (two bytes) Word means 32 bits (four bytes)
CPU architecture
IR (Instruction Register)
Holds the current instruction byte
ID (Instruction Decoder)
Decode the IR byte and activate the appropriate signals for hardwired implementation of instruction at IR.
CSPR
Current Program Status Register for each mode Conditional code flags: N(Negative flag), Z(Zero flag),C(Carry flag), and V(Overflow flag) T bit : 0 for ARM state 1 for Thumb state
SPSR
Saved Program Status Word Saves program status register from CPSR on branch and link(routine call) SPSR is stacked for each processor mode
32-bit MAC
Needed for DSP and control applications
Instruction set
Conditional execution and flags:
ARM instructions can be made to execute conditionally by post fixing them with the appropriate condition code field.
By default, data processing instructions do not affect condition code flags but the flags can be optionally set by using s.
Branch instructions
; unconditional branch
Multiply instructions: