看板 Grad-ProbAsk 關於我們 聯絡資訊
第四題的第4小題我不懂詳解為何這樣寫,想請教版上的神人們 題目的datapath https://i.imgur.com/f75CQhg.jpg 題目的latency,第4小題題目 https://i.imgur.com/DiY1t9p.jpg 第4小題答案,張凡的書編號是第3小題 https://i.imgur.com/tVaRyRT.jpg 另外想問第6小題,題目說用delayed branch減少分支延遲,可是我剛剛發現這題的程式 碼如果將指令重排之後,會因為load use hazard,使得執行週期數跟指令重排前一樣(假 設分支成立),但是我不確定我的解釋是否正確。另外想請教版上神人,如果有delayed b ranch slot,那該如何用多重時脈管線圖來表示呢? 第6小題題目 https://i.imgur.com/DiY1t9p.jpg 指令重排前我畫出的多重時脈管線圖 https://i.imgur.com/kFQjJIx.jpg 指令重排後,我畫到一半就不會畫的多重時脈管線圖 https://i.imgur.com/Lg7iD5M.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.60.44 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1516352504.A.70C.html
aggress5566: 第四題是拿Critical path往回推 你最慢就是在Fetch01/19 19:49
aggress5566: data memory時signal memwrite要送到 至於題目給你501/19 19:49
aggress5566: 5ps應該就是要嚇你重算一遍critical path?01/19 19:49
PunchShadow: 4. critical path 是2200ps 減去I-Mem所Fetch前的時01/19 19:55
PunchShadow: 間和需要MemWrite的D-Mem的時間,中間可以產生訊號01/19 19:56
PunchShadow: 的間隔就是720ps01/19 19:56
PunchShadow: 6. 只要把SW移到BEQ下即可01/19 20:02
P大,我知道sw往下移動到beq即可,但是這樣一來beq不就更靠近lw了,這樣不就變相加 劇data hazard了?我感覺對效能沒有改善 ※ 編輯: danny0108 (42.73.242.59), 01/19/2018 20:04:46
aggress5566: 然後 from before塞的是你不管branch predict執行與01/19 20:05
aggress5566: 否都不用flush 所以週期一樣是有可能01/19 20:05
PunchShadow: 是的確實就像你說的,需要動用到hazard control,然01/19 22:20
PunchShadow: 後圖上也沒有畫,所以我猜這題應該只是想問看看from01/19 22:20
PunchShadow: before的運作,而且即便是把BEQ移上去,如果用hazar01/19 22:20
PunchShadow: d control是不會stall的01/19 22:20
P大,我…不懂耶,為什麼這樣就不會stall… ※ 編輯: danny0108 (114.137.47.107), 01/20/2018 08:03:55
sarsman: 我覺得你最後的管線圖是對的,add的資料要等到EX/ME才能01/20 08:45
sarsman: 傳01/20 08:45
sarsman: 打錯xd ME/WB01/20 08:47
sarsman: 問號的部分應該繼續填ID EX ME WB就好 01/20 08:49
PunchShadow: https://i.imgur.com/SJMUEWS.jpg 01/20 09:15
PunchShadow: 抱歉可能沒解釋清楚,最多也只會stall一個clock,而 01/20 09:21
PunchShadow: 我會說不會stall有兩個原因,首先是白皮書對load use 01/20 09:21
PunchShadow: hazard的偵測碼中,只考慮到後一個指令是否有hazard 01/20 09:21
PunchShadow: (不過也可能是那時候的branch還沒移到ID所以沒寫上 01/20 09:21
PunchShadow: 去),再者,雖然課本沒這條forwarding資料線,不過b 01/20 09:21
PunchShadow: ranch是在ID階段的最後面對兩個registers做比較,所 01/20 09:21
PunchShadow: 以我推測可能可以將MEM讀出來的值回傳到ID Stage的 01/20 09:21
PunchShadow: 後半段(當然這課本上也沒寫....)01/20 09:21
PunchShadow: 上述如果有想法錯誤歡迎大家幫忙指正謝謝!01/20 09:23
PunchShadow: 然後我覺得以這題來說應該不用考慮那麼多,因為他付 01/20 09:25
PunchShadow: 的圖連forwarding都沒有,應該只是存粹考from before 01/20 09:25
PunchShadow: 而已(我猜啦哈哈 01/20 09:25
sarsman: 說起來題目好像也沒說branch在ID跳吧,MEM跳就不用stall了 01/20 09:43
sarsman: 不過就如P大所說這題應該不用太在意這部分 01/20 09:44
PunchShadow: 1 cycle branch delay就是移到了ID Stage了吧 01/20 09:52
sarsman: 欸對耶 沒注意到那行01/20 09:53
感謝P大詳盡的答覆,還有s大! ※ 編輯: danny0108 (114.137.244.226), 01/20/2018 12:33:50