要想解决流水线处理器中的数据冒险问题,首先需要在指令流中检测出数据冒险。
下面以图4-1为例介绍RAW冒险三种情形的检测方法。
图4-1 RAW数据冒险的三种情形
相邻指令发生RAW冒险 —— 图4-1中,第2条指令在译码阶段访问的寄存器与第1条指令在执行阶段将要写回的寄存器冲突。
流水线CPU中,与情形A有关的数据通路如图4-2所示。
图4-2 RAW情形A
京公网安备 11010502049817号