top of page

1.2: The FDE Cycle

Exam Board:

Eduqas / WJEC


2020 + 

The Fetch - Decode - Execute (FDE) cycle is performed by the CPU millions of times every second.

This cycle is how the CPU processes data and instructions for each program or service that requires its attention.

Important Registers

A register is a small storage space for temporary data in the CPU.


Each register has a specific role. There are five essential registers used in the FDE cycle:

Program Counter (PC) 


A register that tracks the RAM address of the next instruction to be fetched.

Memory Address Register (MAR) 

A register that tracks the RAM address of the instruction that is to be fetched.

Memory Data Register (MDR)

The MDR stores the instruction that has been transferred from RAM to the CPU.

Current Instruction Register (CIR)


A register that stores the instruction that has been fetched from RAM, and is about to be decoded or executed.

Accumulator (ACC) 

The ACC stores the result of mathematical or logical calculations.

Fetch - Decode - Execute Cycle

RAM (1).png
CPU Diagram (with Cache) (1).png
RAM (1).png
RAM (1).png
CPU Diagram (with Cache).png

The essential idea of the FDE cycle is that instructions are fetched from RAM, to be decoded (understood) and executed (processed) by the CPU.


The Program Counter (PC) register displays the address in RAM of the next instruction to be processed.


This value is copied into the Memory Address Register (MAR).



The PC register is increased by 1.

This prepares the CPU for the next instruction to be fetched.



The CPU checks the address in RAM which matches the address held in the MAR.

RAM (1).png



The instruction in RAM is transferred to the Memory Data Register (MDR).


The instruction in the MDR is copied into the Current Instruction Register (CIR).

RAM (1).png





The instruction in the CIR is decoded (understood) and executed (processed).


Any result of an execution is stored in the Accumulator (ACC) register.




The cycle repeats by returning to the first step and checking the program counter for the address of the next instruction

Monochrome on Transparent.png

Questo's Questions

1.2 - The Fetch - Decode - Execute (FDE) Cycle:

1. What is the purpose of the registers? [1]

2. Describe the purpose of each register:

  • a. The Program Counter (PC) [1]

  • b. The Memory Address Register (MAR) [1]

  • c. The Memory Data Register (MDR) [1]

  • d. The Current Instruction Register (CIR) [1]

  • e. The Accumulator (ACC) [1]

3. Draw a diagram of the seven steps of the Fetch - Decode - Execute cycle. [7]

bottom of page