作者Aa841018 (andrew)
看板Grad-ProbAsk
標題[理工] 計組上冊466(5)!
時間Thu Dec 6 17:00:16 2018
https://i.imgur.com/303Hbx4.jpg
想問5(a) ,首先有個alu-alu有點疑義,我的筆記是寫(1)mem救ex,但是單看字面上
是(2)ex救ex,然後是題目:
我先以解答逆推,lw後面接nop,感覺是(2)的定義比較說的通,因為lw在mem結果才出
來,所以只能視為no forwarding,等到wb,因此需要一個nop,但之後add 和sw之間就很
怪,以(2)定義繼續看,首先,sw的$6是不經過alu直接跑進mem因此ex救ex根本救不到
,$6的值應該在ID時就要了,但這題無法去救ID只能用nop來拖延,然後WB去更新!
但是add 和 sw中間根本沒有nop,sw 在ID時add還在EX,一來ex無法救ID二來時間點上也
來不及…………
然後即便以(1)定義看,問題就是add不經過mem,所以也不行,但至少sw 和add之間應該
加nop吧?但也沒有…………
完全看不懂,求詳細解說…………
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.26.158.52
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1544086818.A.BEC.html
→ Aa841018: 可是$6不經過ALU欸!這樣應該救不到$6才對! 12/06 21:48
→ f255577: 發現很多人問XD 好像可以質疑教科書 12/06 22:54
推 TEPLUN: forwarding總共4條 第一條ALU-ALU就是從Mem stage送到Ex s 12/06 23:32
→ TEPLUN: tage之所以叫ALU-ALU是因為把上一階段從ALU計算得到的結果 12/06 23:32
→ TEPLUN: 拿去給下個時脈的ALU使用 再來第二條是WB到Ex 第三第四條 12/06 23:32
→ TEPLUN: 課本上沒有 張凡有畫 一條是R type接beq 從Ex/Mem出來後送 12/06 23:32
→ TEPLUN: 到ID 另一條是lw接sw 從WB送到Mem的write data 這條也可以 12/06 23:32
→ TEPLUN: 用來救add接sw 12/06 23:32
推 TEPLUN: 然後之前去問過張凡 題目的Mem to Ex是錯的應該改成no…WB 12/06 23:56
→ TEPLUN: to Ex 12/06 23:56