Content deleted Content added
m Bot: Migrating 6 interwiki links, now provided by Wikidata on d:q1937058 (Report Errors) |
connectivity |
||
Line 1:
The '''Tomasulo algorithm''' is a hardware [[algorithm]] developed in 1967 by [[Robert Tomasulo]] from [[IBM]]. It allows sequential instructions that would normally be stalled due to certain dependencies to execute non-sequentially ([[out-of-order execution]]). It was first implemented for the [[IBM System/360]] [[Model
This algorithm differs from [[scoreboarding]] in that it utilizes [[register renaming]]. Where scoreboarding resolves [[Write-after-Write]] (WAW), [[Read-after-Write]] (RAW) and [[Write
Robert Tomasulo received the [[Eckert-Mauchly Award]] in 1997 for this algorithm.
Line 8:
The following are the concepts necessary to the implementation of Tomasulo's Algorithm.
*Instructions are issued sequentially so that the effects of a sequence of instructions such as
*All general-purpose and [[
*Functional units use [[reservation stations]] with multiple slots. Each slot holds information needed to execute a single instruction, including the operation and the operands. The functional unit begins processing when it is free and when all source operands needed for an instruction are real.
Line 34:
***If the instruction is a load then: execute as soon as the memory unit is available
***Else, if the instruction is a store then: wait for the value to be stored before sending it to the memory unit
*Else, the instruction is an [[arithmetic logic unit]] (ALU) operation then: execute the instruction at the corresponding functional unit
===Stage 3: write result===
|