地方政府公務人員四等-資訊處理類科計算機概要110 年第 3 題單選題
發掘程式中指令階層平行性(instruction-level parallelism)有助於提升程式執行效能,其可由硬體或是軟體的機制來達成。下列何者需要依賴純軟體的方式,以發掘指令階層平行性進而提升程式效能?
A很長指令字(Very Long Instruction Word, VLIW)架構正確答案
B超純量(superscalar)架構
C動態管道排程(dynamic pipeline scheduling)
D亂序執行(out-of-order execution)
A正確答案
VLIW 把多指令打包交給編譯器排程,完全靠軟體發掘 ILP;其餘三者都是硬體動態偵測。
為什麼答案是 A
VLIW 架構由編譯器(軟體)在編譯時期將多個可平行執行的指令打包成一條「很長」的指令字,硬體只負責依序執行。ILP 的發掘完全依賴編譯器最佳化,屬純軟體機制。
載入中…
完整詳解
Pro · 無限重點 VLIW 把多指令打包交給編譯器排程,完全靠軟體發掘 ILP;其餘三者都是硬體動態偵測。
看到「純軟體」「編譯器排程」直接選 VLIW;「動態/亂序/超純量」都是硬體。
逐選項分析
A✓ 正確
VLIW 架構由編譯器(軟體)在編譯時期將多個可平行執行的指令打包成一條「很長」的指令字,硬體只負責依序執行。ILP 的發掘完全依賴編譯器最佳化,屬純軟體機制。
B✕ 陷阱
Superscalar 架構由硬體在執行期動態同時發派(issue)多條指令到多個執行單元,依賴硬體的指令相依性檢查電路,屬硬體機制而非純軟體。
C✕
動態管道排程(如 Tomasulo 演算法)由硬體在執行期重新排序指令、解決資料相依性,典型硬體動態機制,非軟體達成。
D✕
亂序執行由硬體中的保留站、重排序緩衝區(ROB)在執行期動態調整指令執行順序以避免停頓,完全是硬體機制。
ILP 發掘機制:軟體 vs 硬體
| 機制 | 誰負責 | 時機 | 代表架構 |
|---|
| VLIW | 編譯器(軟體) | 編譯時期 | Itanium、TMS320C6x |
| Superscalar | 硬體 | 執行期 | Intel Pentium 以後 |
| 動態管道排程 | 硬體 | 執行期 | Tomasulo 演算法 |
| 亂序執行 | 硬體 | 執行期 | 現代 x86、ARM |
考生常把「動態」誤認為軟體、「靜態」誤認為硬體。其實恰好相反:硬體才能在執行期做動態判斷;軟體(編譯器)只能在編譯時做靜態分析,VLIW 正是靜態排程的代表。