4.5.5 流水线冒险
P303
讲一下图4-53
注意这个一个方块内部代表的是正在传递的过程:比如D,开始的时候,流水线寄存器D已经加载好各个参数了(stat,icode等),D的中间表示的是传递这些参数(包括转发)到E
于是书里面的意思是这个:在周期7,0x032这个指令需要的是%eax的值,而这个值有0x028传递,根据图4-24,也就是需要valM,但是valM需要valE,在周期7,0x028正在传递执行阶段的参数,也就是valE,所以我们不能得到valM
P306
0x002只有在E执行完之后设置了条件码才知道自己的分支选择错误了,所以此时0x016和0x020已经分别执行了D和F了

浙公网安备 33010602011771号