Lec 13
Lec 13
Dynamic Scheduling
Better than static scheduling
Scoreboarding:
Used by the CDC 6600
Useful only within basic block
WAW and WAR stalls
Tomasulo algorithm:
Used in IBM 360/91 for the FP unit
Main additional feature: register renaming to
avoid WAR and WAW stalls
Register Renaming: Basic Idea
Compiler maps memory --> registers
statically
Register renaming maps registers --> virtual
registers in hardware, dynamically
Should keep track of this mapping
Make sure to read the current value
Num. virtual registers > Num. ISA registers
usually
Virtual registers are known as reservation
stations in the IBM 360/91
Tomasulo: Main Architectural
Features
Reservation stations: fetch and buffer
operand as soon as it is available
Load/store buffers: have the address (and
data for store) to be loaded/stored
Distributed hazard detection and execution
control
Common Data Bus (CDB): results passed
from where generated to where needed
Note: IBM 360/91 also had reg-mem instns.
The Tomasulo Architecture
From mem. From instn. unit
Opn. Bus
Store Buffers
Opnd. Bus
To mem.
Resvn. Stns.
Resvn. Stns.
FP MUL/DIV
FP ADD/SUB