[理工] 计组 forwarding

楼主: 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 到底是什么神奇的用词
作者: windwaker112 (阿茄)   2016-09-20 17:01:00
他指的应该是在第5个当下stall的值 也就是那根信号线在第五个cycle 时电线里的信号 而不是指pipereg.里的stall值
作者: kyuudonut (善良老百姓)   2016-09-20 17:20:00
pipe reg. 里面应该没stall吧?
作者: windwaker112 (阿茄)   2016-09-20 17:26:00
而且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?
作者: windwaker112 (阿茄)   2016-09-20 18:15:00
因为题目的图没有画出sign ex的线路 所以自己注解并希望老师大发慈悲的给分吧 毕竟写00 01 10都是错的
作者: kyuudonut (善良老百姓)   2016-09-20 18:45:00
可是add不是两个operand都吃register 的值@@?
作者: windwaker112 (阿茄)   2016-09-20 19:07:00
在cycle5时两个add 一个在id 一个在mem阶段跟src1src2没什么相干吧 只要专注在signal 状态就好 先不要想reg里的东西 从另一个角度来看 题目是在问我在5的一开始信号要怎样设置此cycle才会对 一开始hazard unit根本就还没侦测不可能直接设1 ,src1src2 不设成那样lw ex阶段会算错 这样看比较简单
作者: kyuudonut (善良老百姓)   2016-09-20 19:56:00
大致了解了 感觉在玩文字游戏啊囧谢谢!
作者: windwaker112 (阿茄)   2016-09-20 20:05:00
应该说是我是以解释答案的角度看 不然其实hazard&forwarding应该一样快 stall 应该也要被设成1了不然stall0 src1,2也应该是清掉或是上一个cycle的状态 我大概懂你的点

Links booklink

Contact Us: admin [ a t ] ucptt.com