Instruction Fetch-Decode-Execute Unit in a Computer System
In the standard instruction cycle, the CPU repeatedly performs fetch → decode → execute for each instruction. The component traditionally responsible for coordinating fetching, decoding, and sequencing execution is the Control Unit. The ALU performs the actual computations once operands and operation codes are provided. The Memory Unit holds instructions/data, and the I/O Unit handles communication with peripherals.
A useful mental model is: the Control Unit orchestrates the datapath—reading the instruction from memory, decoding it, and generating control signals—while the ALU carries out the decoded operation and memory/I/O supply or store data.
Quick answer to the multiple-choice question
The correct option is (iii) Control Unit.
Control Unit & Instruction Cycle (Fetch-Decode-Execute) Overview
Key roles of each CPU component
Control Unit drives the control signals that determine what happens next in the cycle. It interprets the instruction format during the decode phase and ensures the correct operations are triggered in the rest of the CPU.
- ALU: performs arithmetic and logical operations (e.g., add, subtract, AND, OR) once the required operands are available.
- Memory Unit: provides the bytes/words of instructions and stores data operands and results.
- I/O Unit: manages device communication; the Control Unit coordinates when I/O occurs.
How Control Unit coordinates Fetch–Decode–Execute
- 1Step 1
Control Unit issues signals so the instruction is read from Memory Unit into the CPU’s instruction register.
- 2Step 2
Control Unit interprets opcode and addressing mode, determining what operation and data sources are required.
- 3Step 3
Control Unit selects the datapath actions (e.g., send operands to ALU, read/write memory, or interact with I/O Unit).
- 4Step 4
ALU performs the computation (if applicable) while Control Unit ensures results go to the correct destination.
- 5Step 5
Control Unit updates the program counter (or handles control-flow changes like branches), then starts the next fetch.
Pro Tip
When a question says “fetch, decode, and execute,” it typically targets the instruction-cycle controller—the Control Unit—not the ALU (which only executes the computations).
Common misconception
The ALU is not responsible for fetching and decoding instructions—it mainly performs arithmetic/logic operations. Even when the ALU “executes” an instruction, the Control Unit is what orchestrates the overall steps.
Instruction Cycle (Role of Control Unit)
Read instruction
FetchControl Unit coordinates reading instruction bytes/words from Memory Unit."
Interpret opcode/addressing
DecodeControl Unit decodes the instruction and identifies required actions."
Perform operation
ExecuteControl Unit issues signals so ALU and/or memory and I/O perform the instruction."
Advance control flow
NextControl Unit updates PC and handles branching/jumping."
Which component is primarily responsible?
Match responsibilities to a typical fetch–decode–execute statement.
Why the Control Unit is the best choice
Knowledge Check
The unit responsible for fetching, decoding, and executing instructions is: