看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/JurYcIF.jpg
請教一下板上的各位 第2題的a b要怎麼回答呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.76.42.36 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1579528022.A.A95.html
mistel: reservations station用來存還無法進入function unit的指 01/20 21:48
mistel: 令 01/20 21:48
mistel: reorder buffer存指令out of order execution後的結果, 01/20 21:49
mistel: 在需要的時候重新commit 01/20 21:49
mistel: 打錯 在需要的時候重新執行 不需要的時候就commit 01/20 21:50
mistel: b小題應該只是reorder buffer在power-off指令超前時重新 01/20 21:53
mistel: 執行一次吧? 不太確定reservation station有沒有特別的 01/20 21:53
mistel: 工作要做... 01/20 21:53
ok8752665: b的話 張凡說法是 要確保reservation那的fp指令都做完 01/20 21:59
ok8752665: 然後reorder buffer的fp指令也都commit完後 再commit p 01/20 22:00
ok8752665: ower off指令 01/20 22:00
mistel: 好像懂了 power-off指令跟前面的指令沒有data dependency 01/20 22:13
mistel: ,所以對於分析資料流來判斷重新執行的reorder buffer是 01/20 22:13
mistel: 無法運作的,所以reservation station才要負責額外的工作 01/20 22:13
mistel: ? 不知道這樣對嗎? 01/20 22:13
DLHZ: reservation station store the operands and the operation 01/20 22:22
DLHZ: 應該比較精確一點 01/20 22:22
DLHZ: reorder buffer在需要的時候重新執行是指? 01/20 22:27
ok8752665: branch猜錯的時候吧 01/20 22:29
DLHZ: 我認為單純寫出個別要做的事情就好 這指令感覺硬體也要有相 01/20 22:30
DLHZ: 對應的功能 所以檢查什麼應該是另外設計 可能跟他原本能不能 01/20 22:30
DLHZ: 比較沒關係 01/20 22:30
mistel: 我指的是超前執行導致出現hazard的情況 01/20 22:36
mistel: 瞭解 感謝 01/20 22:36
DLHZ: @ok branch出錯reorder buffer應該是flush才對 01/20 22:46
DLHZ: @mi 先fetch了不是也會等到operands ready嗎? 01/20 22:52
ok8752665: 喔喔 我是想說猜錯會FLUSH然後重抓叫重新執行 不然重新 01/20 22:54
ok8752665: 執行具體來說是怎樣 超前執行的hazard應該也是control 01/20 22:54
ok8752665: Hazard吧 data hazard應該不會超前執行吧 01/20 22:55
DLHZ: 因為我的印象中相關的資料都沒提到重新執行這件事 剛剛去找 01/20 22:58
DLHZ: 了一下也沒有 所以想知道重新執行這件事的目的是什麼 01/20 22:58
mistel: 是我理解有誤嗎? superscalar上不同種類的指令因為用到 01/20 23:06
mistel: 的function unit不同,所以我們無法保證他們的執行順序是 01/20 23:06
mistel: 跟原本的執行順序一致的,所以我們不能保證原本像WAR這種 01/20 23:06
mistel: 的hazard會跑出正確的結果 01/20 23:06
mistel: 看了一下reorder unit只是確定指令沒有出錯,所以如果有 01/20 23:10
mistel: 出錯就是flush這樣? 我一直以為有出錯就會把出錯指令拿 01/20 23:10
mistel: 回reservation station重新執行 01/20 23:10
DLHZ: war跟waw這些hazard的話reservation station本身設計(regist 01/20 23:17
DLHZ: er renaming, buffering spurce operands)就會避免這些問題 01/20 23:17
DLHZ: 所以因為hazard而重新執行應該是不會發生的 01/20 23:17
ok8752665: 我也不知道 我上正課跟題目班 印象中張凡都只有帶過 01/20 23:18
ok8752665: 說反正會有硬體跟軟體去解決hazard 沒特別說如何解決 01/20 23:18
mistel: 所有speculation都要有一個排除執行錯誤的機制吧?課本雖 01/20 23:25
mistel: 然沒有講清楚,但是他確實有說reorder buffer要hold resu 01/20 23:25
mistel: lts until it is safe to store 01/20 23:25
DLHZ: safe指的是跟儲存的result有關的操作都完成時 Computer arch 01/20 23:29
DLHZ: itecture中的ch2.6有 01/20 23:29
mistel: 原來如此 所以所謂的in order commit這個階段就已經不會 01/20 23:33
mistel: 有任何有問題的指令了嗎? 01/20 23:33
DLHZ: 是 除了branch missprediction 其他在設計上都會處理好 01/20 23:47
mistel: 感謝 真希望趕快考完來拜讀A Quantitative Approach這本 01/20 23:53
mistel: 書 01/20 23:53
DLHZ: 此時不看更待何時XD!! 01/21 00:16
chiuchang: 噢 原來啊 我明白了 謝謝各位 01/21 00:48
mistel: 我擔心現在亂看然後似懂非懂的 考出來更慘烈 01/21 01:31
mistel: 不過真的有感覺到白算盤的東西比較淺一點... 01/21 01:32
DLHZ: 那相信在座的各位都會希望你現在看的 01/21 01:47
chiuchang: 各位都是20天後的考生嗎 01/21 15:49