Example of structural hazard
For single issue machine: common data and instruction memory (unified cache)
- Pipeline stall every load-store instruction (control easy to implement)
Better solutions
- Separate I-cache and D-cache
- Instruction buffers
- Both + sophisticated instruction fetch unit!
Will see more cases in multiple issue machines