The Fetch-Decode-Execute Cycle
Fetch-Decode-Execute Cycle (FDE)
Fetch-Decode-Execute Cycle (FDE)
What is the purpose of the CPU?
The purpose of the Central Processing Unit (CPU) is to fetch, decode and execute instructions
The CPU is the brain of the computer and its job is to take an input, process data and produce an output
What is the Fetch-Decode-Execute cycle?
The Fetch-Decode-Execute Cycle is the cycle that the central processing unit (CPU) runs through billions of times per second to make a computer work
A computer takes an input, processes the input and then delivers an output for the user
Input: Clicking a button on the gamepad
Process: The CPU inside the console follows a set of instructions to carry out the task
Output: The player moving on screen

The Fetch-Decode-Execute cycle stages
Fetch stage
During the fetch stage of the cycle, the program counter holds the address of the next instruction to be fetched from memory
The address of the next instruction or data to be fetched is copied into the memory address register (MAR)
The address of the instruction or data is then sent along the address bus and awaits a signal from the control bus
The signal sent along the control bus is sent from the control unit (CU) to the main memory
The data or instructions received from main memory is fetched to the memory data register (MDR) via the data bus
A copy of the instruction or data is stored in the current instruction register (CIR)
The program counter (PC) increments by 1 so it is pointing to the next instruction to be executed
Decode stage
During the decode stage of the cycle, the CPU needs to work out what is required from the instruction
This is done as the instruction is split into two parts:
Opcode - what the instruction is
Operand - what to do it to
This could be either data or an address where the data is stored
Execute stage
During the execute stage of the cycle, the CPU will carry out the instruction that was fetched
Some examples that would take place at this stage are
Performing a calculation
Storing a result or data back in main memory (RAM)
Going to main memory to fetch data from a different location
The important things to remember are:
An instruction or data is fetched from memory
The instruction is decoded
The instruction is executed
The cycle repeats billions of times per second