Part 1 · Instruction pipeline
ISA, datapath, pipeline, and hazards
Connect the software-visible instruction contract to the five-stage datapath, then locate structural, data, and control hazards cycle by cycle.
Instructions to memory
Follow one instruction from its software-visible contract through the datapath, cache hierarchy, address translation, and physical memory.
Reason cycle by cycle, calculate the cost of misses and stalls, and explain why each implementation choice changes performance or correctness.
Part 1 · Instruction pipeline
Connect the software-visible instruction contract to the five-stage datapath, then locate structural, data, and control hazards cycle by cycle.
Part 2 · Cache hierarchy
Decompose addresses, compare associativity and write policies, classify miss causes, and reason about VIPT and non-blocking cache structures.
Part 3 · Virtual memory
Follow a virtual address through translation and protection, then reason about TLB misses, shootdowns, page-table state, and page-size tradeoffs.
Part 4 · Performance labs
Work the quantitative problems with explicit hit-rate denominators, timing assumptions, units, and reproducible intermediate steps.
One instruction, every layer
The trace assumes a 4 KiB page, 32 KiB 8-way VIPT L1, 64-byte lines, and a 40-bit physical address. The set read begins with page-offset bits while translation proceeds. Candidate data remains unusable until the physical tag and permissions arrive.
Latency note: a cold four-level walk plus DRAM refill can cost hundreds of cycles. Exact latency depends on cached PTEs, lower-level hits, memory-level parallelism, and the machine's miss machinery.
Reasoning checkpoints
A load produces its value only after the memory stage, while the immediately following instruction needs that operand at the start of execute. Even a direct MEM-to-EX bypass arrives too late for the same cycle, so the dependent instruction stalls for one cycle.
Associativity gives every index multiple candidate lines. Addresses with the same index can coexist in different ways instead of repeatedly evicting one another, at the cost of more tag comparisons, replacement state, power, and often hit latency.
The processor or operating system walks the page-table hierarchy using the virtual-page number. A valid leaf supplies the physical-page number and permissions, the translation is installed in the TLB, and the original access restarts. An invalid or disallowed entry raises a page fault or protection exception.
Keep practicing
Continue the system