(计算机体系结构)6.2 MIPS基本流水线
6.2 流水线性能分析
三项性能指标:吞吐率、加速比和效率
吞吐率
最大吞吐率
- 假设流水线各段的时间相等,均为△t0,则:
TPmax = 1/△t0 - 假设流水线各段时间不等,第i段时间为△ti ,则:TPmax = 1/max{△ti}
- 最大吞吐率取决于流水线中最慢一段所需的时间,该段成为流水线的瓶颈
实际吞吐率
- 若各段时间相等(假设均为△t0),则完成时间
T流水 = m * △t0+(n-1) * △t0 (说明)
实际吞吐率TP = n/T流水 - 若各段时间不等(假设第i段为∆ti)
加速比
- 加速比是指流水线速度与等功能的非流水线速度之比。
- 根据定义可知,加速比S = T非流水/T流水
效率
关系
- 效率是实际加速比S与最大加速比m之比。
- 当△t0不变时,流水线的效率与吞吐率呈正比。
6.3 流水线中的冲突
- 流水线冲突是指相邻或相近的两条指令因存在某种关联,后一条指令不能在原先指定的时钟周期开始执行。
- 消除冲突的基本方法——暂停
- 不同类型的冲突
◆ 结构冲突(Structural Hazard) :当指令在重叠执行过程中, 硬件资源满足不了指令重叠执行的要求而发生的冲突。
◆ 数据冲突(Data Hazard):因一条指令需要用到前面指令的结果, 而无法与产生结果的指令重叠执行时发生的冲突。
◆ 控制冲突(Control Hazard):当流水线遇到分支指令和其它会改变PC值的指令所引起的冲
突。
流水线的结构冲突
- 导致结构冲突的常见原因:
- 功能部件不是全流水
- 重复设置的资源数量不足
- 避免结构冲突的方法:
- 所有功能单元完全流水化
- 设置足够多的硬件资源
(但是,硬件代价很大!)
- 有些设计方案允许结构冲突存在
- 降低成本
- 减少功能单元的延迟
解:0.14 * 5 + (1-0.14)* 1 = 1.56
流水线的数据冲突
- (先)写后读冲突