在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 7212|回复: 6

问一个关于MIPS流水线的问题

[复制链接]
发表于 2013-10-11 09:57:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
正在看《计算机体系结构:量化》这本书。
关于MIPS的流水线中的stall,有一些问题不明白,请大侠指点迷津。
感觉stall, nop, flush这些东西很像,但是不太明白区别在哪里?
如果一个典型的5级流水线 IF  ID  EX  MEM  WB, 一般如果和前面的指令有data hazard,那么就要加stall。不过stall加在哪里?
看例子有好几种: (1) stall, IF, ID, EX, MEM, WB  就是所有的步骤都滞后一个cycle;
(2) IF, stall, ID, EX, MEM, WB     就是先IF 然后 在译码前 stall 了一个cycle,虽然我不明白为什么非得把IF提前,但是我明白滞后ID的意思;
(3) IF, ID, stall, EX, MEM, WB      这是把上一个LD的MEM后产生的数前递到当前指令的EX的结果
虽然都能说得通,但是为什么不直接把stall放到IF前面呢(这样多整齐啊)?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-10-17 03:36 , Processed in 0.016199 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表