01
流水线基础
什么是流水线?流水线的起源(汽车装配线启发),计算机体系结构中的定义。
概念起源
02
吞吐率与延迟
吞吐率(Throughput)与延迟(Latency)核心区别,流水线为何提升吞吐率。
性能核心指标
03
流水线级数划分
如何划分流水线阶段?平衡每一级延迟是关键。
设计平衡
04
经典5级流水线
取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回(WB)详细拆解。
基础架构MIPS
05
流水线寄存器
流水线寄存器作用(切割组合逻辑、保存中间状态),建立时间与保持时间约束。
时序寄存器
06
结构冒险
硬件资源冲突(如单端口存储器),解决方案:资源分离、流水线停顿。
冒险资源冲突
07
数据冒险
RAW、WAR、WAW依赖关系,数据旁路(Forwarding)技术详解。
数据依赖旁路
08
控制冒险
分支指令导致的流水线冲刷,分支预测技术(静态/动态)入门。
分支预测
09
流水线停顿(Stall)
插入气泡(Bubble)解决冒险,性能损失分析。
气泡性能
10
数据旁路实战
从ALU输出直接转发到ALU输入,减少停顿。
转发实战
11
分支预测基础
1位饱和计数器、2位饱和计数器,预测准确率对比。
预测器准确率
12
超标量流水线
同时发射多条指令,硬件资源翻倍带来的挑战。
并行多发射
13
超长指令字(VLIW)
编译器负责调度并行指令,硬件简化但编译器复杂。
VLIW编译器
14
多线程与流水线
细粒度多线程、粗粒度多线程、同步多线程(SMT)。
多线程SMT
15
流水线深度权衡
深流水线(高频)vs 浅流水线(低功耗),功耗与性能平衡。
深度功耗
16
流水线中的时钟域
单时钟域 vs 多时钟域,跨时钟域同步(CDC)问题。
时钟CDC
17
流水线中的复位策略
同步复位 vs 异步复位,复位对流水线状态的影响。
复位状态机
18
流水线验证方法
定向测试、随机测试、形式化验证,覆盖率分析。
验证覆盖率
19
流水线性能建模
IPC、CPI的计算与优化。
IPCCPI
20
功耗优化
门控时钟(Clock Gating)、操作数隔离(Operand Isolation)。
低功耗门控
21
GPU中的流水线
SIMT架构,大规模并行流水线设计。
GPUSIMT
22
AI加速器中的流水线
卷积计算流水线,数据复用与流水线平衡。
AI卷积
23
网络处理器中的流水线
包处理流水线,多级查找与转发。
网络包处理
24
流水线中的错误处理
异常(Exception)与中断(Interrupt)在流水线中的处理机制。
异常中断
25
精确异常模型
保证异常发生时流水线状态可恢复,指令回滚机制。
精确异常回滚
26
流水线设计工具
HLS(高层次综合)自动生成流水线,Verilog/VHDL手动实现。
HLSVerilog
27
流水线调试技巧
波形分析、断言(Assertion)、性能计数器。
调试波形
28
经典案例:MIPS / RISC-V
MIPS流水线实现(开源项目分析),RISC-V流水线实现。
MIPSRISC-V
29
现代处理器流水线
Intel Core、ARM Cortex-A系列流水线架构概览。
IntelARM
30
课程总结与未来趋势
异构计算、Chiplet技术对流水线设计的挑战与机遇。
未来Chiplet