Beginner Topic 17 of 51 Computer Architecture & Logic
Fetch-Decode-Execute Cycle
The repeated instruction processing loop of a CPU.
How it works
The processor repeats a three-stage loop. Fetch reads the instruction at the address in the program counter and increments it. Decode interprets the opcode and identifies operands and registers. Execute performs the operation, possibly followed by memory access and writing results back. Branches and jumps change the program counter, and interrupts are checked between cycles.
Step-by-step walkthrough
- The program counter selects the next instruction and it is fetched from memory.
- The control unit decodes the opcode and operands.
- The ALU or memory unit executes it.
- The result is written to a register.
- The program counter advances and the cycle repeats.
Where it is used
Every program on every CPU runs through this cycle, which is the foundation for understanding assembly, pipelining and performance. Simulators and emulators implement the same loop in software.
Common pitfall
Thinking of it as strictly sequential hides how real processors overlap stages with pipelining. Misunderstanding the program counter, for example forgetting it already points to the next instruction, causes errors in assembly. Branch and memory latency stalls determine real performance, not the nominal clock rate.
Where it fits in the course
Fetch-Decode-Execute Cycle is topic 17 of 51 in Computer Architecture & Logic, rated Beginner. It follows Von Neumann Architecture. The next topic is Sequential Circuits.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Computer Architecture & Logic quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Computer Architecture & Logic quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Fetch-Decode-Execute Cycle?
Where do people use Fetch-Decode-Execute Cycle?
What is the most common mistake with Fetch-Decode-Execute Cycle?
What should I learn before this topic?
How can I practice it?
Is Fetch-Decode-Execute Cycle hard to learn?
How long does it take to learn Fetch-Decode-Execute Cycle?
Which topics are related to Fetch-Decode-Execute Cycle?
What should I study after Fetch-Decode-Execute Cycle?
Related topics
- Von Neumann Architecture (Computer Architecture & Logic)
- Sequential Circuits (Computer Architecture & Logic)
- Clock Signal (Computer Architecture & Logic)
- Finite State Machines in Hardware (Computer Architecture & Logic)
- Software Development Life Cycle (Software Engineering)
- Fetch API (Web Development)