Track progress, take quizzes and save notes on this lesson.

Free forever · no card needed

Start free
Intermediate

Processor Components and the Fetch-Execute Cycle

4.7.3.1–4.7.3.4 Processor and its components·FDE cycle·Instruction set·Addressing modes

Aligned to the AQA 7517 specification

Level
Intermediate
Reading time
6 min
Published
13 June 2026
Updated
1 July 2026
On this page
  1. 1.Processor Components
  2. 2.Dedicated Registers
  3. 3.The Fetch-Execute Cycle
  4. 4.Instruction Set and Format
  5. 5.Addressing Modes
  6. 6.Common Exam Mistakes

Key takeaways

  • The ALU performs arithmetic and logical operations, while the Control Unit decodes instructions and generates control signals to coordinate the ALU, registers and buses.
  • During Fetch, the PC's address is copied to the MAR, the instruction is read into the MBR then copied to the CIR, and the PC is incremented before decode and execute.
  • The MAR holds an address and is connected to the address bus; the MBR holds data and is connected to the data bus — they must not be confused.
  • In immediate addressing the operand is the data value itself (0 operand memory accesses); in direct addressing the operand is a memory address that must be fetched.
  • The instruction set is the complete set of machine code instructions a processor can execute, and each instruction is split into an opcode and an operand.

Processor Components

The processor (CPU) contains several functional units:

ComponentRole
ALU (Arithmetic Logic Unit)Performs arithmetic (+, −, ×, ÷) and logical operations (AND, OR, NOT, XOR, shifts, comparisons)
Control Unit (CU)Manages the fetch-execute cycle; decodes instructions; generates control signals to coordinate the ALU, registers, and buses
ClockGenerates a regular pulse that synchronises all operations; clock speed (Hz) determines how many cycles per second
General-purpose registersSmall, fast storage holding operands and results during calculations

The ALU and CU together are the heart of instruction execution. The clock paces every operation — at each clock tick, one micro-operation (register transfer, bus transaction) occurs.

Dedicated Registers

In addition to general-purpose registers, the processor has several dedicated registers with fixed purposes:

RegisterNamePurpose
PCProgram CounterHolds the address of the next instruction to fetch
CIRCurrent Instruction RegisterHolds the instruction currently being decoded/executed
MARMemory Address RegisterHolds the address to be read from or written to in memory
MBR / MDRMemory Buffer / Data RegisterHolds data being transferred to or from memory
Status registerFlags registerHolds condition flags (zero, carry, overflow, negative) set after ALU operations

The PC and MAR are connected to the address bus; the MBR is connected to the data bus.

The Fetch-Execute Cycle

The processor repeats the fetch-execute cycle continuously while running a program. Each instruction goes through three phases:

Fetch

  1. Copy the address in PCMAR (via the address bus)
  2. Read the memory location at MAR → MBR (data bus brings instruction from RAM)
  3. Copy MBRCIR (the instruction is now loaded into the CPU)
  4. Increment PC (so it points to the next instruction)

Decode

  1. The CU decodes the instruction in CIR: determines the operation (opcode) and identifies the operand

Execute

  1. The CU or ALU carries out the operation:
    • If a memory read: address → MAR; data → MBR → register
    • If arithmetic/logic: ALU takes operands from registers, stores result
    • If a branch: PC is overwritten with the target address

After execute, the cycle repeats — fetching the instruction at the new PC.

Worked example trace (instruction ADD R1, 200):

StepRegister/busValue
Fetch 1PC → MARMAR = current instruction address
Fetch 2Memory → MBRMBR = encoded ADD R1, 200
Fetch 3MBR → CIRCIR = ADD R1, 200
Fetch 4PC++PC = next address
DecodeCU reads CIRopcode=ADD, operand=200
Execute200 → MAR; Memory → MBRMBR = value at address 200
ExecuteR1 = R1 + MBRResult stored in R1

Instruction Set and Format

The instruction set is the complete set of machine code instructions a processor can execute. It is specific to the processor's architecture — code compiled for ARM will not run on x86 without recompilation (unless translated).

Each instruction has two parts:

PartPurposeExample
OpcodeIdentifies the operation10110010 = LOAD
OperandA value, address, or register reference00001010 = memory address 10

The width of the opcode field limits how many distinct instructions the processor supports ( opcodes from an -bit opcode). The operand field width limits addressable memory.

Want more lessons like this one?

Generate lessons on anything you study. Free account, no card needed.

Start generating

Addressing Modes

The addressing mode specifies how the operand in an instruction is interpreted.

Immediate addressing

The operand is the data itself — the literal value to use.

ADD 5   ; add the number 5 to the accumulator

No memory access for the operand — the value is embedded directly in the instruction. Fastest mode.

Direct addressing

The operand is a memory address (or register name). The processor goes to that address to retrieve the actual data.

LOAD 200   ; load the value stored at memory address 200

Requires an additional memory access to fetch the operand. Slower than immediate but flexible — the data at the address can change.

Comparison:

ModeOperand meaningMemory accesses (for operand)Speed
ImmediateData value0 — value is in the instructionFastest
DirectAddress of data1 — fetch from that addressOne extra access

Common Exam Mistakes

1. Forgetting to increment the PC during Fetch

The PC is incremented during the Fetch phase (step 4), not after Execute. This is important because a branch instruction in Execute overwrites PC — the increment must have happened before the branch check. Questions that ask you to trace the FDE cycle step by step expect the PC increment during Fetch.

2. Confusing MAR and MBR

MAR holds an address; it is write-connected to the address bus. MBR holds data; it is connected to the data bus. If a question asks which register holds the data being read from memory, the answer is MBR — not MAR.

3. Stating the ALU executes all instructions

The ALU handles arithmetic and logical operations. The CU handles control flow (branches, register transfers, memory management). A STORE instruction is controlled by the CU, not the ALU.

4. Confusing immediate and direct addressing

In immediate addressing, the operand is the value (ADD 5 adds five). In direct addressing, the operand is a memory address (LOAD 200 loads whatever is stored at address 200). The question "what does the operand represent?" determines the mode.

Key terms

ALU (Arithmetic Logic Unit)
The processor unit that performs arithmetic operations (+, −, ×, ÷) and logical operations (AND, OR, NOT, XOR, shifts, comparisons).
Control Unit (CU)
The unit that manages the fetch-execute cycle, decodes instructions, and generates control signals to coordinate the ALU, registers and buses.
Clock
Generates a regular pulse that synchronises all operations; clock speed in Hz determines how many cycles occur per second.
Program Counter (PC)
A dedicated register that holds the address of the next instruction to fetch.
Current Instruction Register (CIR)
A dedicated register that holds the instruction currently being decoded and executed.
Memory Address Register (MAR)
A dedicated register that holds the address to be read from or written to in memory; connected to the address bus.
Memory Buffer Register (MBR/MDR)
A dedicated register that holds data being transferred to or from memory; connected to the data bus.
Status register
A flags register that holds condition flags (zero, carry, overflow, negative) set after ALU operations.
Fetch-execute cycle
The cycle the processor repeats continuously while running a program, with each instruction passing through fetch, decode and execute phases.
Instruction set
The complete set of machine code instructions a processor can execute, specific to the processor's architecture.
Opcode
The part of an instruction that identifies the operation to perform; an n-bit opcode allows 2ⁿ distinct instructions.
Operand
The part of an instruction giving a value, address, or register reference that the operation acts on.

Frequently asked questions

The PC is incremented during Fetch (step 4) so it already points to the next instruction before execute runs. This matters because a branch instruction in Execute overwrites the PC, so the increment must have happened first.

In immediate addressing the operand is the literal data itself, so no extra memory access is needed and it is the fastest mode. In direct addressing the operand is a memory address, so the processor needs one extra access to fetch the data stored there.

No. The ALU handles arithmetic and logical operations only. The Control Unit handles control flow such as branches, register transfers and memory management, so an instruction like STORE is controlled by the CU, not the ALU.

Generate revision on any topic you study

Type any topic you're studying and Aicademy generates a complete lesson, quiz, and flashcard set, personalised to your level.

Lessons on anything

Structured, level-matched lessons on any topic you study

Practice quizzes

Find out what you actually know before the exam does

Flashcard sets

Lock in key concepts with instant revision cards

Ask Aica

Stuck on something? Get a clear explanation, any time

Prev

CPU Architecture and the Stored Program Concept

Next

Assembly Language

Related lessons

Top students don’t revise more. They revise what counts.

Start revising free

Free to start. No card needed.