Data hazard - solution
 
 
- Usually solved by data or register forwarding (bypassing or short-circuiting).
- How? The data selected is not really used in ID but in the next stage: ALU.
- Forwarding works as follows:
- ALU result from EX/MEM buffer is always fed back to ALU input latches.
- If the forwarding hardware detects that its source operand has a new value, the logic selects the newer result than the value read from the register file.