管線處理將指令執行分為多個獨立階段,讓不同指令的不同階段可以並行進行。類似工廠生產線,每個階段專注特定任務,大幅提高指令吞吐量。經典的五級管線:IF(指令擷取)、ID(指令解碼)、EX(執行)、MEM(記憶體存取)、WB(寫回)。
解決方案包括:管線停頓(Stall)、 forwarding(旁路)、分支預測、延遲槽。
// 資料冒險範例:RAW (Read After Write) // ADD x1, x2, x3 // x1 = x2 + x3 // SUB x4, x1, x5 // 需要 x1 的值 // Without forwarding: 需要停頓 2 個周期 // With forwarding: 從 EX 階段直接傳遞結果
現代處理器管線深度可達 14-20 級以上(如 Intel Pentium 4 的 20 級、Apple M1 的 10 級)。深管線可提高時脈頻率,但分支錯誤預測代價更高。現代設計結合分支預測、超純量、亂序執行等技術克服管線限制。