An instruction goes through 3 steps
Assume the instruction has been fetched
1. Issue, dispatch, and read operands
- Check for structural hazard (no free reservation station or no free load-store buffer for a memory operation). If there is one, stall until it is not present any longer
- Reserve the next reservation station
- Read source operands
- If they have values, put the values in the reservation station
- If they have names, store their names in the reservation station
- Rename result register with the name of the functional unit that will compute it