本文将简要地介绍下 Tomasulo’s Algorithm，并推荐相关资料。将从如下两个方面进行介绍：
Data hazards occur when instructions that exhibit data dependence modify data in different stages of a pipeline. There are three situations in which a data hazard can occur:
- read after write (RAW)
- write after read (WAR)
- write after write (WAW)
为了解决Data hazards，Tomasulo’s Algorithm应运而生。
Tomasulo’s algorithm is a computer architecture hardware algorithm for dynamic scheduling of instructions that allows out-of-order execution and enables more efficient use of multiple execution units.
The major innovations of Tomasulo’s algorithm include register renaming in hardware, reservation stations for all execution units, and a common data bus (CDB) on which computed values broadcast to all reservation stations that may need them.
ps：推荐一下Prof. Dr. Ben H. Juurlink的体系结构课程。
For more details, just watch Dynamic Scheduling Using Tomasulo’s Algorithm and Dynamic Scheduling Using Tomasulo’s Algorithm Example。