文章目錄
- 前言
前言
本文簡單介紹了流水線.
-
基本概念
流水線(Pipeline) 是一種通過將任務分解為多個子任務(階段),并讓不同子任務并行執行以提高效率的技術。其靈感來源于工業流水線,每個階段專注于特定操作,多任務在不同階段重疊執行,從而提升整體吞吐率(Throughput)。 -
經典五級流水線階段(RISC為例)
取指(IF, Instruction Fetch)
從指令存儲器中讀取下一條指令。
程序計數器(PC)更新,指向下一條指令地址。
譯碼(ID, Instruction Decode)
解析指令操作碼(Opcode),確定操作類型(如加法、跳轉)。
讀取寄存器文件(Register File)中的源操作數。
執行(EX, Execute)
執行算術邏輯運算(ALU操作),如加減乘除。
計算內存地址(如加載/存儲指令)或分支目標地址。
訪存(MEM, Memory Access)
訪問數據存儲器(讀/寫數據)。
對于非訪存指令,此階段可能為空(直接傳遞結果)。
寫回(WB, Write Back)
將執行結果(如ALU輸