SECA3019 Lecture 3.1 ARM Processor Basics
SECA3019 Lecture 3.1 ARM Processor Basics
SECA3019 Lecture 3.1 ARM Processor Basics
Introduction to ARM
Processors
Topics
• Introduction to ARM
• Architecture of ARM Core
• ARM Registers
• ARM Pipelining (3-Stage and 5-Stage
Pipelining)
ARM LTD.
• Founded in November 1990
o Spun out of Acorn Computers
• Designs the ARM range of RISC processor cores
• Licenses ARM core designs to semiconductor partners who
fabricate and sell to their customers.
o ARM does not fabricate silicon itself
• Also develop technologies to assist with the design-in of the
ARM architecture
o Software tools, boards, debug hardware, application
software, bus architectures, peripherals etc
ARM Powered Products
Development of the
ARM Architecture
Improved
Jazelle
Halfword
4 ARM/Thumb 5TE
and signed Interworking Java bytecode 5TEJ
1 halfword /
CLZ execution
byte support
System SA-110 Saturated maths ARM9EJ-S ARM926EJ-S
2 mode
DSP multiply-
SA-1110 accumulate ARM7EJ-S ARM1026EJ-S
instructions
3 ARM1020E SIMD Instructions
Thumb
instruction 4T Multi-processing
6
set XScale
Early ARM V6 Memory
architectures architecture (VMSA)
ARM7TDMI ARM9TDMI ARM9E-S
Unaligned data
ARM720T ARM940T ARM966E-S support ARM1136EJ-S
Origin Of the Name
ARM7TDMI
• ARM – Advanced Risc Machine
• M – Enhanced Multiplier
• The cpsr is a dedicated 32-bit register and resides in the register file.
• The cpsr is divided into four fields, each 8 bits wide: flags, status,
extension, and control. In current designs the extension and status fields
are reserved for future use. The control field contains the processor mode,
state, and interrupt mask bits. The flags field contains the condition flags.
• The processor mode determines which registers are active and the access
rights to the cpsr register itself.
• There are seven processor modes in total: six privileged modes (abort,
fast interrupt request, interrupt request, supervisor, system, and
undefined) and one nonprivileged mode (user).
Abort modes:
The processor enters abort mode when there is a failed attempt to access
memory.
Supervisor mode
It is the mode that the processor is in after reset and is generally the mode that
an operating system kernel operates in.
System mode
It is a special version of user mode that allows full read-write access to the cpsr.
Undefined mode
is used when the processor encounters an instruction that is undefined or
not supported by the implementation.
User mode
is used for programs and applications.
Banked Registers
• Fig 4 shows all 37 registers in the register file. Of those, 20 registers are
hidden from a program at different times. These registers are called banked
registers and are identified by the shading in the diagram.
• They are available only when the processor is in a particular mode; for
example, abort mode has banked registers r13_abt, r14_abt and spsr_abt.
• Every processor mode except user mode can change mode by writing directly
to the mode bits of the cpsr.
• For example, when the processor is in the interrupt request mode, the
instructions you execute still access registers named r13 and r14. However,
these registers are the banked registers r13_irq and r14_irq. The user mode
registers r13_usr and r14_usr are not affected by the instruction referencing
these registers. A program still has normal access to the other registers r0 to
r12.
Fig 4: Complete ARM register set. Overall (37 registers)
Processor mode Configuration
Mode Abbreviation Privileged CPSR
Mode[4:0]
Abort abt yes 10111