第 9章 流水线处理机及设计本章主要内容:
本章讲述以时间重叠为主来提高计算机系统并行处理能力的流水线处理机 。 首先,叙述流水处理的基本原理,流水线的分类和流水线处理机的主要性能 。 其后,讨论影响流水性能的各种相关处理和流水线的调度问题 。 最后,简要讲述有关指令级高度并行的超标量,超长指令字,超流水线处理机的概念 。 重点要求掌握流水线处理机的基本原理和流水线的性能分析 。
9.1 先行控制技术
9.2 流水线工作原理
9.3 流水线性能分析
9.4 其他结构的高性能处理机
9.1 先行控制技术
9.1.1 重叠控制与先行控制取指 分析 执行 K
取指 分析 执行 K +1
图 9-1 无重叠执行方式
K 取指 分析 执行取指 分析 执行取指 分析 执行
K+1
K+2
图 9-2 一次重叠执行方式图 9-3 二次重叠执行方式取指 分析 执行
K
取指 分析 执行取指 分析 执行
K + 1
K + 2
9.1.2 先行控制方式中处理机的结构分析 执行 K
分析 执行分析 执行
K+1
K+2
图 9-4 先行控制方式中的一次重叠执行方式分析 执行 K
分析 执行 K+1
K+2 分析 执行分析 执行 K+3
图 9-5 分析与执行时间不等的一次重叠执行方式分析 执行 K
分析 执行分析 执行分析 执行
K + 1
K + 2
K + 3
图 9-6 先行控制方式图 9-7 采用先行控制方式的处理机结构后 行 写 数 栈主存储器存储控制器先 行 指 令 缓 冲 栈先 行 读 数 栈指 令 分 析 器先行操作栈运算控制器运 算 器通用寄存器
9.1.3 先行控制方式中缓冲深度的设计
9.1.4 数据相关分析 K 执行 K
分析 K + 1 执行 K + 1
结果存入 X
形成操作数的地址 X
从 X 中取操作数图 9-8 重叠执行时第 K条指令和第 K+1条指令的关系
9.1.5 控制相关
1,猜测法
2,采用延迟转移
3,加快短循环程序的处理
4,设置两个先行指令缓冲栈
9.2 流水线工作原理
9.2.1 流水线的工作原理及定义图 9-10 指令解释的流水线处理取指令 译码 取数 执行入 出图 9-11 指令解释流水处理的时(间) -空(间)图
1 2 3 4
1 3 4
2 3 4
1 2 3 4
5
5
5
5
1
2
取指令译 码取 数执 行
t
s
Δ t 2
9.2.2 流水线的分类
1,按流水处理的级别分类
功能部件级,处理机级和系统级等多种类型 。
图 9-12 浮点加法器的四级流水线求阶差 对阶 尾数加 规格化入 出图 9-13 系统级流水线处理机 1 入 出存储器 1 存储器 2 存储器 n 处理机 n 处理机 2 …
2,按功能分类
流水线按功能可以分为单功能流水线和多功能流水线 。
3,按流水线不同功能的联接切换方式分类
按多功能流水线的各段能否允许同时用于多种不同功能联接,可把流水线分为静态流水线和动态流水线。
4,按流水线的结构分类
从流水线中各功能段之间是否有反馈回路,
可把流水线分为线性流水线和非线性流水线。
9.3 流水线性能分析
衡量处理机性能的指标主要是吞吐率
( thoughput rate,TP ),加 速 比
( speedup ratio) 和效率 ( efficiency) 。
9.3.1 线性流水线的性能分析
1,吞吐率
TP=
kT
n
图 9-18 各段执行时间相等的流水线时空图空间时间
k Δ t ( n - 1 ) Δ t
T
k
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4 n
n
n
n ‥ ‥ ‥

‥ ‥ ‥

‥ ‥ ‥

‥ ‥ ‥

2,加速比
kT
TS 0?
图 9-21 任务数与加速比的关系
n
1
10
8
6
4
2
1
任务数加速比 S
K =10 段
K =6 段
2 4
8 16 32 64 128
3,效率
如果各段执行时间相等,则各段的效率是相等的,都等于 。 即
( 9-
15)
则整个流水线的效率为:
k
k T
tn
21
k
k
Tk
tnk
k
k
k?
21
9.3.3 非线性流水线的调度技术简介
9.4 其他结构的高性能处理机
9.4.1 超标量处理机
超标量流水机则采用多指令流水线,每个同时流出 m条指令(称度为 m)。
9.4.2 超流水线处理机
9.4.3 超标量超流水线处理机
超标量超流水线处理机就是将超标量技术和超流水线技术结合到一起,从而进一步提高处理机的指令级并行度 。
9.4.4 超长指令字技术