Dynamic scheduling using tomasulo's algorithm
Dynamic scheduling:-
Dynamic scheduling is a technique in which the hardware rearranges the instruction execution to reduce the stalls while maintaining data flow and exception behavior.
Tomasulo's algorithm:-
Tomasulo's algorithm is another method of implementing dynamic scheduling. This scheme was invented by Robert Tomasulo's at IBM in 1967 and was first implemented in the IBM system/360 model 91's floating point unit.
Tomasulo's algorithm differs from scoreboarding in that it uses register remaining to eliminate output and anti dependences, i.e WAW and WAR hazards. Output and anti dependences are just name dependences, there is no actual data dependence. For example, the code below
MULTD. F4, F2, F2
ADDD. F2, F0, F6
Contains an anti dependences since the first instruction reads from F2 and the second instruction writes to F2 (a WAR hazard). However , there is no data dependence, as is shown by the code below (assumin F8 is unused) :
MULTD. F4, F2, F2
ADDD. F8, F0, F6
Robert Tomasulo's received the Eckert Mauchly Award in 1997 for his work on the algorithm.
Contains an anti dependences since the first instruction reads from F2 and the second instruction writes to F2 (a WAR hazard). However , there is no data dependence, as is shown by the code below (assumin F8 is unused) :
MULTD. F4, F2, F2
ADDD. F8, F0, F6
Robert Tomasulo's received the Eckert Mauchly Award in 1997 for his work on the algorithm.
Comments
Post a Comment