The issue logic examines the waiting instructions in the instruction window and simultaneously assigns (issues) a number of instructions to the FUs up to a maximum issue bandwidth.
The program order of the issued instructions is stored in the reorder buffer.
Instruction issue from the instruction window can be:
- in-order (only in program order) or out-of-order
- it can be subject to simultaneous data dependences and resource constraints,
- or it can be divided in two (or more) stages
- checking structural conflict in the first and data dependences in the next stage (or vice versa).
- In the case of structural conflicts first, the instructions are issued to reservation stations (buffers) in front of the FUs where the issued instructions await missing operands.