編譯器
編譯器的指令排程,其主要目的為何?
- A即使程式的結果改變也無所謂,總之要減少指令的數量
- B在不改變結果的前提下重新排列指令,以填補等待時間
- C將要執行的指令,重新排成作業系統的排程器所選定的順序
查看答案與解析
正確答案:B. 在不改變結果的前提下重新排列指令,以填補等待時間
當讀取或乘法的結果無法立即使用時,若緊接著放置使用該結果的指令,CPU就得等待。指令排程會在遵守資料相依關係、不改變結果的範圍內,重新調整順序,把沒有相依的其他指令插入其間,以有效利用等待時間。對於依序執行的CPU,效果特別顯著。會改變結果的轉換是不被允許的,而作業系統的排程器是決定行程切換的,屬於不同的機制。
- A. 會改變結果的轉換是不被允許的。
- B. 正確。遵守相依關係來重新排列,填補等待時間。
- C. 作業系統的排程器是決定行程切換的另一種機制。