105清大 計系一題

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

Links booklink

Contact Us: admin [ a t ] ucptt.com