When you write a program, you order its instructions one after another. The CPU executes them — but not necessarily in that order.
Modern processors run at billions of cycles per second, yet a single load from main memory can stall the pipeline for hundreds of cycles. If the processor dutifully waited for every instruction to finish before starting the next, those hundreds of cycles would be wasted. So it doesn't.
Out-of-order execution lets the CPU look ahead, find instructions whose inputs are already ready, and execute them while the slow one is still waiting. The result arrives in program order; the journey is a controlled scramble behind the scenes.
The technique was formalized in 1967 by Robert Tomasulo at IBM, working on the System/360 Model 91 floating-point unit. His Tomasulo algorithm introduced two key ideas — reservation stations that hold an instruction until its operands arrive, and register renaming that eliminates false dependencies — and both are still the conceptual backbone of every high-performance processor built today.
Comments
Loading comments...