|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
如果在带流水线的设计中,
有这样两条指令,
- add $t0, $t1, $t2 # t0=t1+t2
- sub $t3, $t0, $t4 # t3=t0-t4
复制代码
如果我是需要做t3=t1+t2-t4,这里有一个data hazard
但假如我是需要先做t3=t0-t4, 然后再更新t0到新值,也就是t0=t1+t2,那么是不是应该把sub语句放到add语句之前。
像现在这样add在前,sub在后,是无法做出上述操作的。
如果硬件中没有对data hazard的处理,看起来是可以那么做,但所有data hazard就要人工处理;
如果硬件中有对data hazard的处理,看起来就不可以这么做,所以需要调整一下语句的顺序。
请问,是这样吗?谢谢。 |
|