Part 1 · Parallelism and speedup
ILP, pipeline width, and Amdahl’s law
Separate theoretical opportunity from realized throughput, quantify the serial ceiling, and compare deeper, wider, and multicore designs with explicit assumptions.
Parallel work to precise state
See how a modern processor finds parallel work, predicts control flow, executes speculatively, and still presents precise sequential behavior.
Compare architectural tradeoffs with explicit performance models and trace the mechanisms that recover correctness when speculation fails.
Part 1 · Parallelism and speedup
Separate theoretical opportunity from realized throughput, quantify the serial ceiling, and compare deeper, wider, and multicore designs with explicit assumptions.
Part 2 · Out-of-order execution
Trace one instruction through rename, reservation stations, physical registers, the ROB, speculative memory ordering, recovery, and precise retirement.
Part 3 · Branch prediction
Simulate saturating counters and global history, distinguish BHT direction from BTB targets, and account for bubbles even when direction is correct.
Part 4 · Cache coherence
Track readers, writers, dirty ownership, invalidation, intervention, false sharing, and write-policy consequences across private caches.
Core trace · cycle 184
Follow four instructions through prediction, physical-register renaming, readiness-driven execution, branch recovery, and the reorder buffer's precise-state boundary.
BTB hit supplies the target before the branch decodes.
New physical names remove WAR and WAW dependencies.
Independent work passes the older load miss.
Completed values wait until the head is safe to retire.
Only the ROB head may make results externally visible.
Flush younger μops, restore the rename checkpoint, and redirect fetch. Older I0–I2 remain intact.
I2 and I3 finish while older instructions are still pending.
The machine exposes the original program order, never completion order.
Reasoning checkpoints
WAR and WAW are name collisions: separate physical registers give the independent values different destinations. RAW is a real value dependency, so the consumer must still wait until its producer has generated the operand.
Correct direction is only half the fetch decision. A missing or late BTB target, an indirect target mismatch, an instruction-cache or TLB miss, or insufficient fetch bandwidth can prevent the front end from delivering target instructions on the next cycle.
The owner observes the read request and downgrades from Exclusive to Shared. The requester receives a clean copy and also enters Shared; memory remains authoritative because the Exclusive copy was not dirty.
Keep practicing
Continue the system