What limits ILP: hardware complexity
Structural hazards
- Register renaming, Reservation stations, Reorder buffer (for OOO execution), Load-store buffers
Checking data dependencies (Could be O( ))
- Large window size = more opportunities for ILP but:
- Multi-ported register files and reservation stations etc.; Busing structures to broadcast results (more wires)
Control dependencies
- Sophistication of the branch prediction (and recovery) mechanism
More complex design
- Might reduce CPI but increase clock cycle time
- Also increase time to market!