Scoreboarding

Scoreboarding is a centralized method, first used in the CDC 6600 computer, for dynamically scheduling instructions so that they can execute out of order when there are no conflicts and the hardware is available.

[1] In a scoreboard, the data dependencies of every instruction are logged, tracked and strictly observed at all times.

To control the execution of the instructions, the scoreboard maintains three status tables: The detailed algorithm for the scoreboard control, outlined in the original patent, is described below: Thornton's book pre-dates modern computing terminology.

Some other techniques like Tomasulo's algorithm additionally resolve WAW dependencies with register renaming.

The original CDC 6600 likely did not have WAW hazard tracking simply because its designers had to deliver product, and then moved on to the 7600: stalling instead was the most expedient option.