作者wei12f8158 (WEI)
看板Grad-ProbAsk
标题[理工] 计组上册 p.457
时间Sat Nov 24 12:32:30 2018
https://i.imgur.com/qUcQtDu.jpg
https://i.imgur.com/aBh7RQe.jpg
这边的观念有点不清楚,想请问一下,如果第3个指令要得到第2个指令的data的话,不是
应该要ForwardA=10吗? 为什麽它写ForwardA=01? 这样的话不就是指令3去抓指令1的da
ta? 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.136.40.29
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1543033953.A.4F3.html
1F:推 skyHuan: 这段是在判断13间的hazard不是在判断23间的,因为如果13 11/24 13:12
2F:→ skyHuan: 跟23都有资料相依的话,2比1晚写,所以只有23会有hazard 11/24 13:12
3F:→ skyHuan: ,13之间不会有,而原本的侦测码没考虑到这件事,所以加 11/24 13:12
4F:→ skyHuan: 上中间那段粗体的来判断这种情况 11/24 13:12
5F:推 skyHuan: 也就是说这段侦测码是在看当13有资料相依而且23没有,才 11/24 13:16
6F:→ skyHuan: 代表13有hazard,这时候13就要forwarding,而课本举的例 11/24 13:16
7F:→ skyHuan: 子因为13有但23没有,所以13当然就没有hazard也就不用for 11/24 13:16
8F:→ skyHuan: warding 11/24 13:16
9F:→ wei12f8158: 谢谢大大懂了,倒数第二句话为什麽23没有?课本的例子 11/24 13:41
10F:→ wei12f8158: 不是13有且23也有吗? 11/24 13:41
11F:推 skyHuan: 这个例子的23有。我的意思是这段侦测码会让23没有的话13 11/24 14:55
12F:→ skyHuan: 才会有hazard 11/24 14:55
13F:→ wei12f8158: 喔喔,刚刚理解错意思了,谢谢sky大 11/24 15:00
14F:推 st474ddr: 不好意思 我想请问一下 那这样原本课本的3个加法的解法 12/07 23:54
15F:→ st474ddr: 是不是就跟底下的侦测码不一样 (看前面大大的意思 侦测 12/07 23:54
16F:→ st474ddr: 码写的是13 Data Hazard 的条件 而例子则是要解决12 23 12/07 23:54
17F:→ st474ddr: 的data hazard) 12/07 23:54