[理工] 計組 第五章 p.466 練習題

看板Grad-ProbAsk作者 (billy)時間8年前 (2017/10/05 15:34), 8年前編輯推噓3(304)
留言7則, 2人參與, 8年前最新討論串1/1
書籍:張凡計組第二版(上) 題目和解答: https://i.imgur.com/GJkfPOd.jpg
https://i.imgur.com/55hIl8G.jpg
https://i.imgur.com/BM2uWJh.jpg
想請問此練習題的 (3)a.部分 對於此題我畫了一個時脈週期管線圖如下: https://i.imgur.com/GmfE9se.jpg
我知道 $1 可藉由 forwarding 從第一個指令的 Mem stage 拉到 第三個指令的 Ex stag e, 但我不曉得 $6 在 有 forwarding 的情況下是怎麼傳的, 在解答裡,此題沒有插入任何 nop, 代表第二個指令在 Ex stage 算好新的 $6 的值後有 辦法傳到 第三個指令的 Mem stage, 但是我不知道這中間的線是怎麼拉的,因為我記得 forwarding 都是把線拉到 ALU 的 input 我在課本中看到了下方這電路圖(p.456): https://i.imgur.com/bElLPSI.jpg
這電路說明了經過 mux 後會傳到 memory 的 write data,但我對這張圖感到困惑,這樣 的拉線代表 ALU 的第2個運算元必定與 write data 相同,然而在此題中,第三個指令在 Ex stage 時,第二個運算元為 50,若依照此電路圖為了傳上一個指令的 $6 內容值, 50就不會被選到,如此 addr就會算錯 我原先是以為要等 $6 寫入暫存器,下個指另再從 Registerfile 讀取,所以覺得此題要 在第二、第三指令間安插兩個nop 抱歉打的有點多,不知這樣寫清不清楚... 我總結一下: 我的問題重點就是不清楚 data memeory 的 write data 有無支援 forwar ding,是如何forwarding? 謝謝!! ps. 我在課堂筆記上看到老師有在 data memory 的 write data 前加一個 mux,並支援 從 Mem/WB reg 經由 forwarding unit 2 拉 write data過來,會不會是這種拉法呢?張 凡的課 本沒提到.... ps. 老師在講解 p.527 第7題的(5)有講這部分,答案也有把電路圖畫出來,現在才發 現... 拍謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.40.231 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1507188888.A.F22.html ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 15:38:46 ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 16:05:06 ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 16:05:53 ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 16:36:53

10/05 17:49, 8年前 , 1F
課本為了幫助初學者,簡化不少線路,也省略了MEM/WB到MEM
10/05 17:49, 1F

10/05 17:49, 8年前 , 2F
跟EX/MEM到ID的forwarding
10/05 17:49, 2F

10/05 17:50, 8年前 , 3F
今晚上課我再問問看張凡這題
10/05 17:50, 3F
謝謝你!! 我記得張凡有講到這部分只是我筆記沒抄完整... ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 18:00:59 ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 18:01:23 ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 18:02:48 ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 18:50:57

10/05 20:24, 8年前 , 4F
是走MEM/WB到MEM這條沒錯
10/05 20:24, 4F
再次感謝!!! ※ 編輯: bobsonlin (101.15.40.231), 10/05/2017 21:12:23

10/07 00:46, 8年前 , 5F
lw接sw指令走MEM/WB到MEM 照張凡說法是偵測MemWrite
10/07 00:46, 5F

10/07 00:47, 8年前 , 6F
但假如只是add接sw應該用一般的forwarding unit就可
10/07 00:47, 6F

10/07 00:48, 8年前 , 7F
以解決了吧
10/07 00:48, 7F
文章代碼(AID): #1PrU2OyY (Grad-ProbAsk)