数据路径危险是微处理器管道中常见的问题,可能导致指令执行不正确。 了解如何识别和解决这些危险对于设计高效的处理器至关重要。

数据路径危害类型

数据路径危险主要分为三类: 读写后(RAW),写写后(WAR),写写后(WAW). RAW危险发生于指令取决于前一个指令的结果,而前一个指令尚未完成. ARW危险发生于指令在读完之前写到一个位置. WAW危险发生于两个指令紧密地写到同一个位置.

计算危险风险

计算涉及分析指令序列以确定潜在的冲突,例如,如果指令2取决于指令1的结果,且两者处于重叠的管道阶段,则存在RAW危险,随着管道深度和指令吞吐量的增加,风险增加。

数据路径危害的解决方案

采用几种技术来减轻数据路径危害:

  • 向导:[ 从一个管道阶段直接将数据传递到另一个管道阶段,以避免延迟.
  • 合计: 暂停管道直至危险得到解决。
  • 重排指令:[]更改指令令以预防冲突.
  • 管道间锁:[] 探测危险和控制管道流量的硬件机制.