計算機架構與加速器

指令管線(Instruction pipeline)

管線化是讓處理器變快的「生產線」絕招。CPU 不會把一條指令完全做完才開始下一條,而是把每條指令切成幾個階段——取指、解碼、執行、存取記憶體、寫回——同時處理五條不同指令,各自停在不同階段,就像工廠生產線上的車子:一個工作站裝輪胎,下一個站噴車身。

單一指令走完整條管線仍要(譬如)五個週期,但因為每個週期都有一條新指令進入,管線一旦填滿,處理器就能「每週期完成一條指令」——在不加快任何單一步驟的情況下吞吐量提升五倍。代價是:若某階段需要前一條指令尚未產生的結果,或分支讓下一條指令無法確定,生產線就會停頓。現代高效能核心跑 15 到 20 級管線,這也是為何一次分支預測錯誤可能浪費十幾個週期。

throughput ≈ 1 instruction / cycle (ideal, full pipe)

管線越深,時脈可越高(每階段做的事更少),但停頓與預測失誤的代價也更重——Pentium 4 的 31 級管線就是過度追求 GHz 的著名前車之鑑。

又称
pipelining管線化