An instruction goes through 4 stages
In Tomasulo’s solution 3 stages: issue, execute, write
Now 4 stages: issue, execute, write, commit
Issue (often call dispatch)
- Check for structural hazards (reservation stations busy, reorder buffer full). If one exists, stall the instruction and those following
- If issue possible, send values to reservation station if they are available in either the registers or the reorder buffer. Otherwise send tag.
- Allocate an entry in the reorder buffer and send its number to the reservation station