Resolving data dependencies
Generate code to insert no-ops at the right place
- Too complex for modern processors
- However compiler optimizations to reduce the number of dependencies are welcome!
Forwarding (see in a couple of slides)
Use register renaming for WAR and WAW hazards (see later in the class)
Stall the pipeline when hardware detects a dependency