21. 相較於單一快取記憶體,將指令集快取和資料快取分開主要可以減少哪種風險(h..-阿摩線上測驗
舜子111花蓮光復台中中港 大四上 (2021/03/03): hazard分成三種structural hazard, control hazard, and data hazard。data hazard發生在資料之間彼此有相關的地方,因為資料的讀取和寫入的先後順序而造成資料的讀取錯誤。發生的時間RAW, WAR, WAW。當將資料寫入之後又要再去讀取該資料時會發生資料錯誤,因為第一個指令可能還沒有將資料寫進去。讀資料之後馬上把資料再寫進去也會造成問題,因為資料可能還沒有讀到新的資料就已經被寫進去,所以讀到的資料是新的資料而不是舊的資料。當兩個值要寫入時,原本要先寫進去的值變成後來才寫進去,造成資料錯誤。Structural hazards的問題是由於硬體資源不足時所造成的為害,因為要平行處理某些動作,如讀寫記憶體,但是該資源已經正在使用,所以造成衝突。Control hazards 發生在處理器被要求作branch時,要等到條件是否滿足才知道要取得的下一個指令在哪裡,而在pipeline的處理過程中可以先預測要取得的下一個指令,如果判斷錯誤造成的暫存器資料的改變,需要還原回來。 by https://cjy0503.pixnet.net/blog/post/28330771 | 檢舉 |
|
|