Registers, Buses and the Fetch-Execute Cycle in Detail · seed 1 · A4, ink-friendly. The answer key prints on its own page for grown-ups.

One instruction journey through the CPU

Computing · Computer Systems · ages 16-18
Name ______________________   Date ____________
  1. What does the program counter hold?

    • the running total of the add
    • the address of the next instruction
    • the timing signal for the bus
  2. What is the correct order of the three cycle steps?

    • fetch, decode, execute
    • execute, fetch, decode
    • decode, execute, fetch
  3. Addresses travel on the address bus while values travel on the data bus.

    Circle one:   True   False

  4. After the add executes, where does the running result sit?

    • in the accumulator
    • in the program counter
    • on the control bus
  5. During the fetch of an add, which registers do what?

    • the accumulator holds the address and the counter holds the value
    • the data register picks the next address and the counter adds the values
    • the address register holds where to read and the data register receives what returns
  6. A branch instruction runs. What happens to the program counter and when?

    • it gains a new address during execute, so the next fetch jumps
    • it clears to zero during fetch
    • it swaps values with the accumulator during decode
  7. A trace claims the program counter changed during decode of a branch. What is wrong?

    • nothing, decode always rewrites the counter
    • branches never touch the counter
    • the rewrite happens during execute, since decode only works out the meaning
  8. A machine doubles its address bus width but keeps its data bus. What changes?

    • it moves twice the bits per step but reaches the same memory
    • it reaches far more memory but moves the same chunk per step
    • its clock runs twice as fast
LightMySky · lightmysky.comW1-mt_yjy3eSStzH-s1

Answer key

For grown-ups. Fold this page away before handing over the rest.

One instruction journey through the CPU W1-mt_yjy3eSStzH-s1

  1. the address of the next instruction · It always points at whichever instruction comes next.
  2. fetch, decode, execute · The CPU fetches first, works out the meaning, then acts.
  3. True · Each bus carries its own kind of cargo, with timing on the control bus.
  4. in the accumulator · The accumulator keeps arithmetic results ready for the next step.
  5. the address register holds where to read and the data register receives what returns · Where goes out through the address register, what comes home through the data register.
  6. it gains a new address during execute, so the next fetch jumps · A branch is an execute step that rewrites where the next fetch looks.
  7. the rewrite happens during execute, since decode only works out the meaning · Decode lines up the units. The new address lands when the branch executes.
  8. it reaches far more memory but moves the same chunk per step · Address width sets reach, data width sets chunk size, and only reach grew here.
Worksheet · LightMySky