6.6.8.4 Data Hazard Management
Read-After-Write (RAW) data hazards can arise due to:
- Data dependencies between FPU instructions
- As the result of a register move from an FPU register to the CPU when an FPU instruction underway has not yet completed its result write (to the same register)
Write-After-Read (WAR) data hazards within the FPU pipeline alone are not possible because the pipeline ensures that instruction reads always precede subsequent instruction writes. However, a WAR hazard can arise when the CPU pipeline writes to an FPU register that has yet to be read by a previously issued but stalled FPU instruction.
Write-After-Write (WAW) data hazards are possible should the CPU attempt to write to an FPU register that is also the target of a prior FPU instruction which has not yet completed its result write.
All hazards are detected within the FPU or CPU (or both) and will be mitigated either through data forwarding or pipeline stalls.