Exercise 1: The Six Phases & What MAR/MDR Hold After Fetch — Possible Solution ==================================================================== THE SIX PHASES, IN ORDER ------------------------------ 1. Fetch 2. Decode 3. Evaluate Address (only if needed) 4. Fetch Operands (only if needed) 5. Execute 6. Store Result WHAT MAR AND MDR HOLD WHEN FETCH COMPLETES ------------------------------ Per the chapter's own Fetch trace: MAR <- PC MDR <- mem[MAR] IR <- MDR PC <- PC + 1 By the moment Fetch finishes: - MAR holds the memory ADDRESS of the instruction that was just fetched -- specifically, whatever the PC's value was at the start of this cycle, before it got incremented. - MDR holds the actual INSTRUCTION BITS that were read out of memory at that address -- the same bits that get copied into IR right afterward. By the end of the Fetch phase, MDR and IR technically hold the same value, since IR <- MDR was the very next step. So MAR is "where we just looked," and MDR is "what we found there" -- which then gets handed off to IR so the Decode phase has something to actually examine. WHY THIS WORKS AS AN ANSWER ------------------------------ It lists the six phases in the chapter's own stated order, and explains MAR/MDR's contents by walking through the exact four-step Fetch sequence the chapter itself gives, rather than describing them in the abstract.