This lesson focuses on the Fetch-Decode-Execute (FDE) cycle, which describes how the CPU processes instructions step by step. Every action the CPU performs—whether it’s running a program or solving a calculation—follows this cycle. By understanding the FDE cycle, we can see how the CPU retrieves, interprets, and executes instructions stored in memory.
Learning Objectives
I can describe each stage of the Fetch-Decode-Execute cycle in detail.
I can explain how the CPU uses Registers to process instructions during the cycle.
I can understand the role of buses in transferring data and instructions within the CPU.
I can identify how the FDE cycle repeats billions of times per second in modern CPUs.
Key Terminology
Fetch: The stage where the CPU retrieves an instruction from memory.
Decode: The stage where the CPU interprets the fetched instruction.
Execute: The stage where the CPU carries out the decoded instruction.
Program Counter (PC): A register that tracks the memory location of the next instruction to be fetched.
Memory Address Register (MAR): Holds the memory address of the data or instruction to be accessed.
Memory Data Register (MDR): Temporarily stores the data or instruction fetched from memory.
Accumulator (ACC): Stores the results of calculations or intermediate data during execution.
Data Bus: Transfers data between the CPU and memory.
Address Bus: Transfers memory addresses from the CPU to other components.
Control Bus: Sends control signals (e.g., read/write operations) to coordinate actions.
Key Ideas
The Fetch-Decode-Execute cycle has three key stages:
Fetch:
The Program Counter (PC) sends the address of the next instruction to the Memory Address Register (MAR).
The MAR retrieves the instruction from memory and stores it in the Memory Data Register (MDR).
The instruction is then passed to the Control Unit.
Decode:
The Control Unit interprets the instruction.
It determines which components (e.g., ALU, Registers) need to be used.
Execute:
The instruction is carried out (e.g., a calculation is performed by the ALU).
Results may be stored in the Accumulator or sent to memory.
The Program Counter automatically updates to point to the next instruction after each cycle.
Buses play an essential role in communication during the cycle:
The Address Bus sends memory locations.
The Data Bus transfers data between the CPU and memory.
The Control Bus manages coordination signals (e.g., read or write operations).
The cycle is repeated billions of times per second in modern CPUs, enabling multitasking and efficient processing.
Advanced CPUs optimize the FDE cycle using techniques like pipelining, which allows multiple instructions to be processed simultaneously at different stages of the cycle.
The Fetch Decode Execute Cycle
This video breaks down the three stages of the Fetch-Decode-Execute cycle, explaining the role of the Program Counter, Registers, and buses in ensuring instructions are processed accurately and efficiently.
Guided Note-Taking
Write short notes on what happens at each stage (Fetch, Decode, Execute), focusing on the role of key Registers.
Draw a table summarizing the roles of the Program Counter, MAR, MDR, and Accumulator, including examples of their use during the cycle.
Optional: Research and add notes on how pipelining improves the FDE cycle in modern CPUs.
Comprehension Questions
What are the three stages of the Fetch-Decode-Execute cycle?
What is the role of the Program Counter during the Fetch stage?
How do the MAR and MDR work together?
What happens during the Decode stage?
Explain how pipelining improves the Fetch-Decode-Execute cycle.
Activities
Flowchart Creation: In pairs, create a detailed flowchart from memory and on paper of the Fetch-Decode-Execute cycle. Annotate the diagram with explanations of what happens at each stage.
Register Roleplay: Act out the FDE cycle in groups, with each student taking on the role of a Register or bus. Work together to simulate how an instruction is processed.
Pipelining Research Task: Individually, research how pipelining allows modern CPUs to process multiple instructions at once. Write a paragraph summarizing your findings.