https://en.wikipedia.org/wiki/Tomasulo_algorithm#Applications_and_legacy
1, what is Tomasulo algorithm
It is an algorithm for dynamically scheduling of instructions that allows out-of-order execution and enables more efficient use of multiple execution units.
Its major innovations include register renaming, reservation station and common data bus CDB.
2, a little history
Many modern processors implement dynamic scheduling schemes that are derivative of Tomasulo’s original algorithm, including popular Intel x86-64 chips.
One important reason Tomasulo algorithm came into main stream processor usage today is because of the common usage of cache.
Once caches became commonplace, Tomasulo's algorithm's ability to maintain concurrency during unpredictable load times caused by cache misses became valuable in processors.
3,
TBD
Execute an instruction only when its operands are ready –> eliminate RAW;
Register renaming –> eliminate WAR and WAW;