Next: Memory accesses
Up: Tomasulo's ``Register Renaming'' scheme
Previous: WAW HAZARDS
- WAR hazards happen when a register is reused
- This could be avoided by the compiler - if
instruction set has enough registers
- In a loop, can't avoid reusing registers in successive
iterations (except by unrolling)
- Tomasulo's scheme dynamically assigns a tag to
each value to be calculated
- You need a distinct tag for each reservation station
- so in effect, tags identify additional registers
in the machine, invisible to the programmer
- The instruction-level parallelism is not
limited by the number of registers available
(Tomasulo was working on the IBM 360/91,
which had to use an instruction set with just
4 FP registers)