ARM Architecture
ARM Architecture
ARCHITECTURE
Dr.Kanimozhi.G
1
ARM CORE DATA FLOW
MODEL
2
CONT…
A ARM core is a functional units connected by data buses .
The arrows represent the flow of data
This means it has two instruction types for transferring data in and out of
the processor:
1) load instructions copy data from memory to registers in the core.
2) store instructions copy data from registers to memory.
4
Cont…
ARM instructions typically have two source registers, Rn and Rm,
and a single result or destination register, Rd.
Source operands are read from the register file using the internal
buses A and B, respectively.
6
REGISTERS
General-purpose registers hold either data or an address.
They are identified with the letter ‘r’ prefixed to the register
number. For example, r4.
7
CONT…
The ARM processor has three registers (shaded in fig) assigned to a
particular task or special function: r13, r14, and r15.
Register r15 is the program counter (pc) used to track the address
of the instruction it is about to execute.
8
CONT…
9
CPSR(CURRENT PROGRAM
STATUS REGISTER)
The ARM core uses the cpsr to monitor and control internal
operations.
The cpsr is a dedicated 32-bit register and resides in the register file.
10
CONT…
In current designs the extension and status fields are reserved for
future use.
` 1)Processor mode
2) State
3) Interrupt mask bits.
11
CONT…
12
PROCESSOR MODES
The processor mode determines which registers are active.
13
BANKED REGISTERS
14
37 registers in the register file
20 registers are hidden and are called banked registers
15
STATES
The state of the core determines which instruction set is being
executed. There are three instruction sets:
1) ARM
2) Thumb
3) Jazelle
The Jazelle J and Thumb T bits in the cpsr reflect the state of the
processor.
When both J and T bits are 0, the processor is in ARM state and
executes ARM instructions. When the T bit is 1, then the
processor is in Thumb state.
16
Cont…
The ARM designers introduced a third instruction set called
Jazelle.
17
INTERRUPT MASK
Interrupt masks are used to stop specific interrupt requests from
interrupting the processor.
There are two interrupt request levels available on the arm processor
core
Interrupt request (irq)
The cpsr has two interrupt mask bits, 7 and 6 (or i and f), which control
the masking of irq and fiq, respectively.
The i bit masks irq when set to binary 1, and similarly the f bit
masks fiq when set to binary 1.
18
CONDITION FLAGS
19
PIPELINING
Cycle 1 ADD
Fetch
Decode
Execute
Buffer/data
Write-back
ARM9TDMI
•In ARM9TDMI the execute stage has been split out into three
stages to allow greater throughput. The operating frequency is
approximately double for ARM9TDMI over ARM7TDMI on
the same fabrication process. Therefore, at least double the
processing power is available.
Memory and IO
• The Memory and IO (MEM) stage is responsible for storing
and loading values to and from memory. It also responsible for
input or output from the processor.
• If the current instruction is not of Memory or IO type than the
result from the ALU is passed through to the write back stage.
Write Back(WB)
ARM11
Shift ALU Saturate
• 1st stage receives some parts, performs its assembly task, and
passes the results to the second stage;
• 2nd stage takes the partially assembled product from the first
stage, performs its task, and passes its work to the third stage;
• 3rd stage does its work, passing the results to the last stage,
which completes the task and outputs its results.
Advantages:
• More efficient use of processor
• Quicker time of execution of large number of
instructions
Disadvantages:
• Pipelining involves adding hardware to the chip
• Inability to continuously run the pipeline
at full speed because of pipeline hazards
which disrupt the smooth execution of the
pipeline.