1. 核心解构 (The Kernel)
- 本质:时间重叠 (Temporal Overlap)。将一条指令的执行过程分解为若干个独立的阶段,让多条指令在不同的阶段同时执行。
- 五级流水线 (MIPS 5-Stage):
- IF (Instruction Fetch):取指。
- ID (Instruction Decode):译码 & 读寄存器。
- EX (Execute):ALU 计算。
- MEM (Memory Access):访存 (Load/Store)。
- WB (Write Back):写回寄存器。
- 性能指标:
- 吞吐率 (Throughput):单位时间内完成的指令数。流水线提高了吞吐率,但不减少单条指令的延迟。
- 加速比 (Speedup):理想情况下,n 级流水线的加速比接近 n。
注意
不一定每一条指令都会在每一个阶段进行活动。例如 lw 指令,只在 MEM 中活动,WB 中无动作
2. 流水线寄存器 (Pipeline Registers)
- 作用:隔离各个阶段,保存中间结果(如指令代码、PC+4、ALU 结果、访存数据)。
- 物理位置:IF/ID, ID/EX, EX/MEM, MEM/WB。
- 安全隐喻:这些寄存器保存了指令执行的“上下文”。如果在上下文切换时没有清理干净,可能会泄露信息。