|  | 
 
| 
如果在带流水线的设计中,
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  有这样两条指令,
 
 
 
    
        复制代码
 
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的处理,看起来就不可以这么做,所以需要调整一下语句的顺序。
 
 
 请问,是这样吗?谢谢。
 | 
 |