Store multiple registers
STM Rd, [Rn, Rm, Rx]

D[31:0]
control

Instruction
Decode
Control

A[31:0]

P
C

A

B
U
S

P C

B

B
U
S

B

B
U
S

A L U


B U S
A L U


B U S

This tour demonstrates the functionality of this tool

This diagram shows the organisation of the ARM processor. It is the 3-stage pipeline ARM organisation

These boxes provide explanation about the execution of the instruction in the ARM processor

The run button starts the instruction execution. After you press run, a stop button will appear to halt the execution

The step button goes through the instruction execution step by step

The previous button goes back to the preceding step

The invisible button removes the background diagram of the processor and displays only the parts of the processor in use. After you press invisible, a visible button will appear to display the diagram again

The invisible button removes the background diagram of the processor and displays only the parts of the processor in use. After you press invisible, a visible button will appear to display the diagram again

Press on the highlighted units to get further information about these components

Register bank has sixteen 32-bit memory locations called registers (R0 to R15). R15 is the Program Counter which stores the memory address of the next instruction to be executed.

ALU which performs the arithmetic and logic functions required by the instruction set.

Barrel shifter which can shift and rotate one operand by any number of bits.

Address register selects and holds memory addresses.

Incrementer used to generate sequential addresses when required.

Data out register which hold data passing from the processor to the memory

Data in registers which hold data passing from the memory to the processor

instruction decode and control decodes machine instruction into control signals for the datapath

Addrress Bus Address bus is a one-way path from processor to memory which specifies the location of the memory element being accessed

Data Bus Data bus is a two-way path between processor and memory which transfers data