14/16
* Instruction pipelines allow a processor to work on executing several instructions at once
* Pipeline hazards cause stalls and impede optimal throughput, even when feed-forwarding is used
* Instructions may be reordered to avoid stalls
* Dependencies between instructions limit reordering
* Static scheduling heuristics may be used to achieve near-optimal scheduling with an O(n²) algorithm