Where can we optimize? (data dependencies)
CPI contributed by data hazards can be decreased by
- Compiler optimizations
- Load scheduling, dependence analysis, software pipelining, trace scheduling
- Hardware (run-time) techniques
- Forwarding (RAW)
- Register renaming (WAW, WAR)