作者livingforest (ecec780)
看板Grad-ProbAsk
标题[理工] 计组 data hazard
时间Tue Aug 18 00:41:47 2020
想请问第二小题的是否resolvable by forwarding
我画出来的pipeline和forwarding跟解答不太一样
我的想法是(I1, I3), (I4, I6)的data hazard因为register在同个cycle先写入後读取
所以在第5、第9个cycle时,I3的$t2和I6的$t4可以得到正确的值,不需forwarding
剩下的就如我画出来的
不知道我是不是有什麽地方搞错了
https://imgur.com/huDMHMS
https://imgur.com/CVy5kCT
https://imgur.com/42Lk8aQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.45.229 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1597682509.A.A46.html
※ 编辑: livingforest (59.115.45.229 台湾), 08/18/2020 00:46:07
1F:推 NTUmaki: 4,6 你想想看 add 什麽时候才会写入暂存器? 1,3 我不清 08/18 18:32
2F:→ NTUmaki: 楚 他一个是从记忆load 我不确定是不是会比读暂存器还快 08/18 18:32
3F:推 NTUmaki: 老师上课说先写後读是针对暂存器那边,记忆体我记得没说 08/18 18:34
4F:→ NTUmaki: 过谁会先 但是牵扯到记忆体应该比暂存器还慢 所以我觉得 08/18 18:34
5F:→ NTUmaki: 他会先拿暂存器旧值,然後才会被load进新值 08/18 18:34
6F:→ livingforest: add最快在EX产生正确的值,然後到MEM forwarding给s 08/18 21:04
7F:→ livingforest: w,可是5,6遇到load use需要stall一个cycle,sw在st 08/18 21:04
8F:→ livingforest: all的那个cycle时add将正确的值写入暂存器sw再从暂 08/18 21:04
9F:→ livingforest: 存器读出,这样不就不需要forwarding了吗? 08/18 21:04
10F:推 jason35512: 13 46间都刚好有一个load use所以会stall一个clock 09/11 14:44
11F:→ jason35512: 所以那两个都不用fowarding就可以拿到正确的值 09/11 14:44
12F:→ jason35512: 在先写後读的前提下 09/11 14:45