Static vs. dynamic scheduling
Assumptions (for now):
- 1 instruction issue / cycle
- Several pipelines with a common IF and ID
Static scheduling (optimized by compiler)
- When there is a stall (hazard) no further issue of instructions
Dynamic scheduling (enforced by hardware)
- Instructions following the one that stalls can issue if no structural hazard or dependence