楼主:
hopward (hopward)
2016-09-20 15:43:47想请教一下张凡老师课本第527页第7题的第3小题的解答
http://i.imgur.com/MMwraqL.jpg
为何第3小题解答中的stall那栏会是0呢,hazard detection unit在lw指令的EX stage侦测到load-use data hazard后应该会将stall设为1阿
但若因为是题目from beginning的关系,那么src1跟src2的值应该会是clock cycle time 4结束时的结果10跟00阿??
还是我误会什么了吗囧
http://i.imgur.com/hEywWg7.jpg
作者:
kyuudonut (善良è€ç™¾å§“)
2016-09-20 16:11:00卡 from beginning 到底是什么神奇的用词
他指的应该是在第5个当下stall的值 也就是那根信号线在第五个cycle 时电线里的信号 而不是指pipereg.里的stall值
作者:
kyuudonut (善良è€ç™¾å§“)
2016-09-20 17:20:00pipe reg. 里面应该没stall吧?
而且4,5间是load要进ex阶段 那时的signal scr1是接add的forwarding 跟 scr2是接sign ex.所以是1011而此时在cycle5结束时stall虽然会被设成1但是在一开始的时候hazard还没侦测到所以stall还是0对reg里面没有stall 我说错了 拍谢
作者:
kyuudonut (善良è€ç™¾å§“)
2016-09-20 17:41:00简言之就是看cycle4设定完的信号线没错吧?为什么cycle4的add src2要设11?
因为题目的图没有画出sign ex的线路 所以自己注解并希望老师大发慈悲的给分吧 毕竟写00 01 10都是错的
作者:
kyuudonut (善良è€ç™¾å§“)
2016-09-20 18:45:00可是add不是两个operand都吃register 的值@@?
在cycle5时两个add 一个在id 一个在mem阶段跟src1src2没什么相干吧 只要专注在signal 状态就好 先不要想reg里的东西 从另一个角度来看 题目是在问我在5的一开始信号要怎样设置此cycle才会对 一开始hazard unit根本就还没侦测不可能直接设1 ,src1src2 不设成那样lw ex阶段会算错 这样看比较简单
作者:
kyuudonut (善良è€ç™¾å§“)
2016-09-20 19:56:00大致了解了 感觉在玩文字游戏啊囧谢谢!
应该说是我是以解释答案的角度看 不然其实hazard&forwarding应该一样快 stall 应该也要被设成1了不然stall0 src1,2也应该是清掉或是上一个cycle的状态 我大概懂你的点