This paper is pretty old. However, the algorithm presented in it
is
still in use. Two concepts, reservation station and common data bus,
are
defined to use multiple function units more efficiently. We can
eliminate the stalls for WAW and WAR hazards. Also, reservation stations
can break through the limitation of the small number of registers on
some machines. Tomasula algorithm exploits more ILP with dynamic
scheduling, register renaming, and dynamic memory disambiguation (treat
load/store as separate functin units).
The shortcomings of Tomasula approach is the high cost and limitation
of
CDB.
It is always exciting to read original papers presenting great
ideas.
---
Zhijie SHI