Emb 3
Emb 3
ARM Processor
5.3 ARM Processor
Data
Register fiie
PC(r15)
Rd
R Rm Bbus
Abus Bpus Barrellshifter
Acc Abus N
MAC
ALU
Result bus
Address Register
incrementer
Address
. The processor core continues the execution of instruction. Only when an exception
or interrupt occurs, the normal execution flow is changed.
2. FIQ (Fast Interrupt reQuest): This mode supports high speed interrupt
handling.
a
3. IRQ (Interrupt ReQuest): This mode supports all other interrupt sources in
system.
location,
4. Abort : If an instruction or data is fetched from an invalid memory
an abort exception will be generated.
undefined
5. Undefined : If a fetched opcode is not an ARM instruction, an
instruction exception will be generated.
6. User: This mode is used to run the application code. In the user mode we
cannot change the contents of CPSR (Current Program Status Register) and
also
modes can only be changed when an exception is generated. This mode is
known as Unprivileged mode.
7. System : This mode is used for running operating system tasks. It uses the
same registers as user mode.
" All the above modes, except user mode, are privilege modes.
For all operating modes, user registers r0 - r7 are common. However, FIO mode
replaces the r0 - r7 registers by its own registers r8 to r14. Similarly, each of the
other modes have their own rl3 and rl4 registers so that each operating mode has
its own unique stack pointer and link register.
User and
system
ro
r1
r3
r4
r5
Fast
r6
interrupt
r7 request
r8_fiq
9_fig
r10 r10_fiq
r11 r11_fiq Interrupt
r12 r12_fiq request Supervisor Undefined Abort
r13sp r13_fiq r13 irg r13 svC r13 undef r13 abt
r14 Ir r14_fiq r14_irq r14 SVC r14 undef r14 abt
r15 pc
cpsr
The ARM processor has a total of 37 registers. All registers are 32-bits wide. They
can be classified into two groups as,
General purpose registers
Special purpose registers.
5.3.3.3 General Purpose Registers
Registers r0 to rl2 are used as general purpose registers. Depending upon e
context, registers r13 to r15 can also be used as general purpose registers.
The general purpOse registers hold either data or an address.
TECHNICAL an
ARM Processor
Embedded. Systems and loT Design 5-21
0-7)
Control flags (Bits software
The control bits change when an exception arises and can be altered by
only when the processor is in a privileged mode.
Select Bits) : Processor modes
Bits 0 - 4 (Mode
These bits determine the processor mode as shown in able 5.3.1.
Abort 10111
1001 0
Interrupt request
Supervisor 1001 1
1111 1
System
Undefined 1101 1
User 10000
Bit 31 Bit 0
Half word 23 22 21 20
19 18 17 16
15 14 13 12 Word
11 10 8
7 6 5 4 Half word
3 2 1
Review Questions