cpu流水线汇总(同步电路)

67 阅读4分钟

CPU流水线六大阶段完整同步电路


1. 取指阶段(Instruction Fetch)

核心部件同步机制物理实现细节时钟约束
程序计数器(PC)PC值在CLK上升沿更新带多路选择器的D触发器链,传输门MOS管栅极接CLK和分支预测信号PC增量延迟 ≤ 0.1周期
指令预取缓冲预取地址CLK同步更新环形缓冲写指针MOS管栅极接CLK,SRAM地址解码同步预取带宽=8指令/周期
分支目标缓冲(BTB)预测目标在CLK下降沿锁存4-way组相联SRAM,比较器MOS管栅极接CLK_B(反相时钟)预测精度>98%
指令缓存控制器缓存行填充与CLK严格对齐标签比较MOS管栅极接CLK_270°相位,数据总线驱动同步命中延迟≤2周期

2. 译码阶段(Decode)

核心部件同步机制物理实现细节关键参数
指令译码器微操作在CLK上升沿生成两级流水化: • 预译码(PLA组合逻辑) • 最终译码(D触发器锁存)译码延迟≤0.25周期
寄存器重命名物理寄存器分配CLK同步CAM结构匹配MOS管栅极接CLK_RENAME,自由列表指针同步更新重命名吞吐率=6指令/周期
宏指令融合单元融合决策在CLK下降沿锁存动态逻辑MOS管栅极接CLK_B,输出级锁存器接CLK融合率提升15%

3. 发射阶段(Issue)

核心部件同步机制物理实现细节特殊约束
发射队列(IQ)指令在CLK上升沿进入队列,CLK下降沿派遣循环缓冲结构,写指针MOS管栅极接CLK,读指针MOS管栅极接CLK_B队列深度=32
保留站(RS)指令派遣CLK同步触发状态机MOS管栅极接CLK_ISSUE,操作数可用性检测组合逻辑输出同步派遣延迟≤0.5周期
乱序调度器唤醒逻辑CLK边沿生效优先级编码器MOS管栅极接CLK_WAKE,依赖矩阵状态同步更新调度窗口=96条目
重排序缓冲(ROB)提交指针CLK严格更新环形缓冲控制逻辑MOS管栅极接CLK_COMMIT,异常检测同步化ROB深度=128

4. 执行阶段(Execute)

核心部件同步机制物理实现细节性能指标
整数ALU计算结果CLK下降沿锁存并行前缀加法器+输出锁存器,传输门MOS管栅极接CLK延迟=0.3周期(3GHz)
浮点运算单元四级流水线严格同步每级插入D触发器,时钟门控MOS管栅极接CLK_STAGE[0:3]吞吐率=1指令/周期
乘法累加器(MAC)部分积CLK上升沿锁存Booth编码+Wallace树压缩,最终锁存器MOS管栅极接CLK_MUL(2倍频)32×32乘法=4周期

5. 访存阶段(Memory Access)

核心部件同步机制物理实现细节关键约束
加载/存储队列地址冲突检测CLK同步CAM结构匹配MOS管栅极接CLK_MEM,数据总线驱动同步队列深度=16
数据缓存控制器缓存访问对齐CLK边界6T-SRAM位线预充电MOS管栅极接CLK_270°相位,标签比较同步命中率>95%
原子操作控制器LL/SC状态CLK严格同步定制锁存器PMOS栅极接CLK_ATOMIC,缓存线锁定信号同步化锁定保持时间≥10周期

6. 写回阶段(Writeback)

核心部件同步机制物理实现细节时序要求
寄存器文件写端口CLK下降沿更新8T-SRAM写驱动MOS管栅极接CLK_WR,读端口异步但写后读同步保证写恢复时间>200ps
旁路网络结果转发CLK上升沿生效多路选择器控制MOS管栅极接CLK_BYPASS,转发路径延迟优化转发延迟≤0.15周期
退休队列提交状态CLK严格同步移位寄存器链MOS管栅极接CLK_RETIRE,顺序违例检测同步化提交带宽=8指令/周期

结论

所有部件(含PC、发射队列等)100%为同步电路,严格遵循以下原则:

  1. 全局时钟驱动:每个操作由CLK上升/下降沿触发
  2. 存储单元同步:D触发器/锁存器在时钟边沿更新状态
  3. 组合逻辑受控:任何组合逻辑输出必须被同步元件捕获