Arm Processor Architecture
Arm Processor Architecture
Arm Processor Architecture
ARCHITECTURE
ARM : Advanced RISC
Machine ( originally Acorn
RISC Machine)
ARM is an Architecture
designed by ARM Holdings,
British Multinational
semiconductor and software
design company based in
Cambridge, England.
A leading provider of
Processor Technology
(Processor Architecture).
Introducing ARM
1. low costs,
2. minimum power consumption
3. over heat generation
Microcontroller is nothing
but a Microprocessor with different
peripherals such as ROM,RAM,
Input and Output (I/O) Ports,
embedded on a single chip.
Interfacing I/O
Devices
I/O Devices (peripherals) can be
connected to the processor through
ports.
Block Diagram
Address Register Address
Incrementer
PC bus
PC
REGISTER
BANK
ALU bus
Control Lines
INSTRUCCTION
DECODER
Multiplier
B bus
A bus
SHIFT
A.L.U.
Instruction Reg.
Thumb to
ARM
Write Data Reg. Read Data Reg.
translator
D[31:0]
Specifications of LPC2148-ARM7
02/24/2022
Barrel Shifter
Various Units of ARM - MAC Unit
There is a dedicated Multiply
and Accumulate unit.
LR (R14): Link Register. Saves a copy of PC when executing the BL instruction (subroutine call) or
when jumping to an exception or interrupt routine
- It is copied back to PC on the return from those routines
SP (R13): Stack Pointer. There is no stack in the ARM architecture. Even so, R13 is usually
reserved as a pointer for the program-managed stack
CPSR : Current Program Status Register. Holds the visible status register
SPSR : Saved Program Status Register. Holds a copy of the previous status register while executing
exception or interrupt routines
- It is copied back to CPSR on the return from the exception or interrupt
- No SPSR available in User or System modes
Processor states : ARM and THUMB
System Mode :
• Special Version of User Mode that allows Full Read
Write access of CPSR
Undefined :
• When the Processor encounters and Undefined
Instruction
Program Status Registers
31 28 27 24 23 16 15 8 7 6 5 4 0
N Z C V undefined I F T mode
f s x c
• T = 0: Processor in ARM state
Mode bits
• T = 1: Processor in Thumb state
10000 User
10001 FIQ
10010 IRQ • Never change T directly (use BX instead)
10011 Supervisor • Changing T in CPSR will lead to unexpected
10111 Abort behavior due to pipelining
11011 Undefined
11111 System • Tip: Don’t change undefined bits.
• This allows for code compatibility with
newer ARM processors
Thank You
…