ARM7TDMI-S Modes of Operation
453
SNIU028A – February 2016 – Revised April 2016
Copyright © 2016, Texas Instruments Incorporated
ARM7TDMI-S MPUSS
14.1 ARM7TDMI-S Modes of Operation
The ARM processor has seven
processor operating modes
, as shown in
. Each operating
mode is used for a particular purpose; only one mode is in use at any one time:
Table 14-1. ARM Processor Operating Modes
Mode
Privileged
Purpose
User
No
The common mode for running most routines
Fast Interrupt (FIQ)
Yes
The mode for executing time critical tasks
Standard Interrupt (IRQ)
Yes
The mode for executing time sensitive tasks
System
Yes
Privileged, using same User mode registers
Supervisor
Yes
The mode after a reset, and the mode for execution of software
interrupt (SWI)
Abort
Yes
The mode for memory access violation exception
Undefined
Yes
The mode for undefined instruction exception
Among other things, the operating modes shown in
define the registers that can be used (also
called the
register map
) and the operating
privilege level
.
The ARM processor has a simple privilege model: all modes are privileged apart from User mode.
Privilege
is the ability to perform certain tasks that cannot be done from User mode. For example,
changing the operating mode is a privileged operation.
The ARM processor has a total of 37 registers: 31 general-purpose registers (including the Program
Counter R15) and 6 status registers. These registers are shown in
.
Table 14-2. General-Purpose Registers and Program Counter
User
System
Fast Interrupt
Interrupt
Supervisor
Abort
Undefined
R0
R0
R0
R0
R0
R0
R0
R1
R1
R1
R1
R1
R1
R1
R2
R2
R2
R2
R2
R2
R2
R3
R3
R3
R3
R3
R3
R3
R4
R4
R4
R4
R4
R4
R4
R5
R5
R5
R5
R5
R5
R5
R6
R6
R6
R6
R6
R6
R6
R7
R7
R7
R7
R7
R7
R7
R8
R8
R8_fiq
R8
R8
R8
R8
R9
R9
R9_fiq
R9
R9
R9
R9
R10
R10
R10_fiq
R10
R10
R10
R10
R11
R11
R11_fiq
R11
R11
R11
R11
R12
R12
R12_fiq
R12
R12
R12
R12
R13 (SP)
R13 (SP)
R13_fiq
R13_irq
R13_svc
R13_abt
R13_und
R14 (LR)
R14 (LR)
R14_fiq
R14_irq
R14_svc
R14_abt
R14_und
R15 (PC)
R15 (PC)
R15 (PC)
R15 (PC)
R15 (PC)
R15 (PC)
R15 (PC)
Program Status Registers
CPSR
CPSR
CPSR
CPSR
CPSR
CPSR
CPSR
SPSR_fiq
SPSR_irq
SPSR_svc
SPSR_abt
SPSR_und
Register
Indicates that the normal register used by User or System mode has been replaced by an alternative register
specific to the mode of operation.