什麼是指令排程
在不改變結果的範圍內重新排列指令順序,以執行沒有相依性的其他指令,來填補運算或記憶體等待時間的最佳化。
日文名稱: 命令スケジューリング
「指令排程」出現在1領域的1道練習題中(編譯器等)。
這個名詞所屬的領域: 編譯器
在不改變結果的範圍內重新排列指令順序,以執行沒有相依性的其他指令,來填補運算或記憶體等待時間的最佳化。
日文名稱: 命令スケジューリング
「指令排程」出現在1領域的1道練習題中(編譯器等)。
這個名詞所屬的領域: 編譯器
正確答案:B. 在不改變結果的前提下重新排列指令,以填補等待時間
當讀取或乘法的結果無法立即使用時,若緊接著放置使用該結果的指令,CPU就得等待。指令排程會在遵守資料相依關係、不改變結果的範圍內,重新調整順序,把沒有相依的其他指令插入其間,以有效利用等待時間。對於依序執行的CPU,效果特別顯著。會改變結果的轉換是不被允許的,而作業系統的排程器是決定行程切換的,屬於不同的機制。
指令排程會在遵守資料相依關係、不改變結果的範圍內,重新調整順序,把沒有相依的其他指令插入其間,以有效利用等待時間。
編譯器的指令排程,其主要目的為何?中間表示法(IR) 共同子運算式消除 向量化 行內展開 抽象語法樹(AST) 迴圈展開 基本區塊 常數摺疊 強度削減 控制流程圖