Instruction Issue
Blocking (Direct) issue versus Shelved (Indirect) Issue
Blocking Issue will wait until operands are available (either in register file or thru forwarding paths) before issuing the instruction to the Execution Unit
Shelved (Indirect) Issue sends instructions to a ‘shelving’ station attached to the Execution Unit
- If operands are not available yet, a register tag is written instead
- Execution unit will get its operands from the shelving buffer when it becomes available.
- Instruction issue not blocked if operands not available, only blocked if shelving buffers are full!