Computer Science I / The Instruction Execution Cycle
Practice question · Multiple choice

The program counter is incremented during the FETCH phase, before the instruction has even been decoded. Why increment it so early rather than after the instruction completes?

Hints
  1. Once the instruction has been fetched, is the old PC value still needed?
  2. How does a jump instruction change what runs next?
Show the answer

A. Because the address has already been used, so the PC is free for the next one.

Why

Once the fetch has used the address, advancing the PC immediately leaves the machine pointing at the default next instruction. That default is what makes branching clean, a jump is one register assignment, not special sequencing logic. It also means the PC already holds the next address during execution, which is where relative branch offsets are measured from.

Read the lesson: The Instruction Execution Cycle →

Practise The Instruction Execution Cycle

The app has 8 more questions on this lesson, and keeps your place in the course. Computer Science I is free to start.

More questions on The Instruction Execution Cycle