[理工] 计组上册 p.457

楼主: wei12f8158 (WEI)   2018-11-24 12:32:30
https://i.imgur.com/qUcQtDu.jpg
https://i.imgur.com/aBh7RQe.jpg
这边的观念有点不清楚,想请问一下,如果第3个指令要得到第2个指令的data的话,不是
应该要ForwardA=10吗? 为什么它写ForwardA=01? 这样的话不就是指令3去抓指令1的da
ta? 谢谢~
作者: skyHuan (Huan)   2018-11-24 13:12:00
这段是在判断13间的hazard不是在判断23间的,因为如果13跟23都有资料相依的话,2比1晚写,所以只有23会有hazard,13之间不会有,而原本的侦测码没考虑到这件事,所以加上中间那段粗体的来判断这种情况也就是说这段侦测码是在看当13有资料相依而且23没有,才代表13有hazard,这时候13就要forwarding,而课本举的例子因为13有但23没有,所以13当然就没有hazard也就不用forwarding
楼主: wei12f8158 (WEI)   2018-11-24 13:41:00
谢谢大大懂了,倒数第二句话为什么23没有?课本的例子不是13有且23也有吗?
作者: skyHuan (Huan)   2018-11-24 14:55:00
这个例子的23有。我的意思是这段侦测码会让23没有的话13才会有hazard
楼主: wei12f8158 (WEI)   2018-11-24 15:00:00
喔喔,刚刚理解错意思了,谢谢sky大

Links booklink

Contact Us: admin [ a t ] ucptt.com