[理工] 计组data hazard detection unit 题库

楼主: qazws3483 (oldguy)   2018-10-28 18:06:13
https://i.imgur.com/KsTrz68.jpg
https://i.imgur.com/ZZmaiQY.jpg
https://i.imgur.com/rZceUl7.jpg
22. 不懂分别切了A或B的影响
(这本是二手书 上面有写答案 但我不懂这样的管线被切会产生影响的过程)
18. 为什么要加not 那段
我自己写的答案刚好是跟答案少not 一样
感觉逻辑整个相反了
谢谢各位
作者: eggy1018 (羅密歐與豬過夜)   2018-10-30 01:15:00
补充楼上的因为data在MEM/WB的暂存器才有,所以在WB阶段才能forward才有办法救,所以看线最后面的线连到谁,谁被剪掉才有影响
作者: skyHuan (Huan)   2018-10-30 00:58:00
mux的理解正确load use要靠forwarding中间一定要stall,因为lw在MEM stage才读到资料,R type在EX stage就要用了,中间空一格才来得及forward这题de选项要选d不是上述原因,是因为这个是load use hazard,要从MEM/WB forwarding到EX stage,连结的线是A线所以A被切才会有影响
楼主: qazws3483 (oldguy)   2018-10-29 19:19:00
https://i.imgur.com/9hZ6Qnk.jpg我这样的理解是正确的吗https://i.imgur.com/LzLx0gG.jpg 补问一下 22的de选项 是因为load use 中间一定会有一个stall 答案才是d吗
作者: SIGNAL2017 (信号2017)   2018-10-29 15:43:00
原来如此
作者: skyHuan (Huan)   2018-10-29 10:47:00
题目故意要骗人的,没有一定要接到哪里,mux的作用就是在很多input选一个output,设定好control unit在正确的情况下输出正确结果就可以了
作者: skyHuan (Huan)   2018-10-28 18:21:00
22你要看信号从哪里来就是从哪里forwarding,指到哪里mux如果要用就要设多少。例如A从MEM/WB来,所以如果是load use就要从A forwarding,是rs要用就要设01,rt要用就要设1018你看题目Figure 1的例子,如果1,2有hazard,2,3也有hazard,那1,3就应该没有hazard,因为3是RA2W不是RA1W,但原本的detection(就是没有not那段)没有判断到这种情况,也就是会把1,3视为hazard而forwarding导致ALU前面的mux选错,所以not那段就是在判断这种情况
作者: SIGNAL2017 (信号2017)   2018-10-29 06:29:00
请问22题那张图是不是有点问题? A那条线应该是要接在两个MUX01的地方,B那条线应该是要接在两个MUX10的地方吧?但是题目好像有点交叉的样子,例如他把A那条线接在一个MUX01的地方,一个接在MUX10的地方虽然好像不影响作答就是了
楼主: qazws3483 (oldguy)   2018-10-30 16:04:00
感谢两位

Links booklink

Contact Us: admin [ a t ] ucptt.com