第八章 流水线技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

先行取指令栈 存 储 器 控 制 器
指令分析器 先行操作栈
主存 储器
先行取数栈
运算控制器 后行写数栈 运算器
通 用 寄 存 器 堆
华北电力大学计算机系
13/130
计算机组成与结构
8.1 流水线原理
采用先行取指令栈结构
先行程序计数器PCI
存 储 器 控 制 器
现行程序计数器PC
先行取指令栈
指令分析器
◆ 两种方案
◆ 两种方案的工作过程对比
华北电力大学计算机系
2/130
华北电力大学计算机系
3/211
◆ 流水线生产过程的抽象描述
◆ 这种流水工作方式的主要特点
华北电力大学计算机系
4/211
计算机组成与结构
8.1 流水线原理
2. 简单的理想指令流水线
将处理机执行指令的过程分为三个功能段:
华北电力大学计算机系
23/130
计算机组成与结构
8.1 流水线原理
8.1.2 流水线的分类
流水线可以按不同的观点进行分类。
1.按功能的多少来分
◆ 单功能流水线:只能完成一种固定功能的
流水线。
◆ 多功能流水线:流水线的各段可以进行不同的
连接,从而实现不同的功能。
例如: TI ASC的多功能流水线
7/130
计算机组成与结构
8.1 流水线原理
(3) 二次重叠方式
取指i-1 分析i-1 取指i 执行i-1 分析i
取指i+1
执行i
分析i+1 执行i+1
程序总执行时间为:
T二次

t取﹢t分 ﹢t执 ﹢ ∑ t执
n
=3 △
t ﹢(n-1)
t
i=2 △ t
= (n+2) △
华北电力大学计算机系
8/130
n
TPmax 1 = ──────── = ───── m - 1 1 (1+ n )△t0 1+ m- n TP < TPmax
当n >> m 时,TP ≈TPmax
◆ 第二种情况:各段时间不等

时空图
华北电力大学计算机系
44/130
计算机组成与结构
8.2 流水线的性能分析
华北电力大学计算机系
8.1 流水线原理
3.按照流水线的级别来分 ◆ 部件级流水线(运算操作流水线):把处理机的 算术逻辑部件分段,使得各种数据类型的操作能 够进行流水。
◆ 处理机级流水线(指令流水线):把指令的解释
执行过程按照流水方式进行处理。 例如:前面把指令解释过程分解为: 分析和执行 DLX的基本流水线把指令解释过程分解为: 取指令、指令译码、执行、访存、写回。 (图示)
(解释)
47/130
计算机组成与结构
8.2 流水线的性能分析
华北电力大学计算机系
48/130
计算机组成与结构
8.2 流水线的性能分析
T非流水 nm△t0 S= ─── = ───────── m△t0 +(n-1)△t0 T流水 mn m = ──── = ──── 1 m+n-1 1+ m- n 可以看出:当n >> m 时,S 想一想:n 越大越好?
华北电力大学计算机系
25/130
计算机组成与结构
8.1 流水线原理
2.按同一时间内各段之间的连接方式来分
◆ 静态流水线:在同一时刻,流水线的各段只能
按同一种功能的连接方式工作。 在静态流水线中,只有当输入是一串相同
的运算操作时,流水的效率才能得到发挥。
动画演示
华北电力大学计算机系
27/130
2. 加速比S
加速比是指流水线的速度与等功能非流水 线的速度之比。
S=T非流水/T流水 (其中T流水和T非流水分别为按流水和按非流水 方式处理 n 个任务所需的时间)
若流水线为 m 段,且各段时间相等,均 为△t0 ,则:
T非流水=n m△t0 T流水=m△t0+(n-1)△t0
华北电力大学计算机系
45/130
计算机组成与结构
8.2 流水线的性能分析

完成 n 个任务所需的时间
T流水=∑△ti+(n-1)△tj
i=1

m
△tj=max{△ti }
实际吞吐率
TP = ────────── m ∑ △ti+(n-1)△tj
i=1
n
华北电力大学计算机系
46/130
计算机组成与结构
8.2 流水线的性能分析
8.1 流水线原理
6. 时-空图 时-空图从时间和空间两个方面描述了流水
线的工作过程。时-空图中,横坐标代表时间,
纵坐标代表流水线的各个段。
华北电力大学计算机系
20/130
华北电力大学计算机系
21/211
计算机组成与结构
8.1 流水线原理
7. 流水技术
流水技术是指:将一个重复的时序过程分解 成为若干个子过程,而每个子过程都可有效地在 其专用功能段上与其他子过程同时执行。
计算机组成与结构
8.1 流水线原理
3. 先行控制技术
(1) 处理机结构的改变
传统的处理机是控制器分析指令,在控制器控制下, 由运算器完成指令的执行,它们是一个整体。 流水方式中,各功能段相互独立没有冲突,它们在
同一时刻可以并行工作,这就要求取指、分析、执行三
个功能段相互独立。
华北电力大学计算机系
华北电力大学计算机系
10/130
计算机组成与结构
8.1 流水线原理
(2)解决多功能段访存冲突问题
当指令在流水线中执行时,在二次重叠方式下流水 线完全充满时,三个功能段同时工作。

“取指i+1”要访问存储器取第i+1条指令 “分析i”要访问存储器取第i条指令需要的操作数 “执行i-1”也要访存将运算结果写回存储器
计算机组成与结构
第八章 流水线技术
8.1 流水线的基本概念 8.2 流水线性能分析
8.3 流水线中的相关 ◆ 结构相关 ◆ 数据相关 ◆ 控制相关 8.4 流水线的调度
华北电力大学计算机系
1/130
计算机组成与结构
第八章 流水线技术
8.1
流水线原理
8.1.1 流水线的基本概念
1. 产品生产流水线 下面通过一个例子来说明流水线的好处:
控制逻辑
华北电力大学计算机系
指令寄存器IR
14/130
计算机组成与结构
8.1 流水线原理
流水线使用先行控制技术前后的不同:
使用先行控制技术前 分析i-1 执行i-1
分析i
执行i
分析i+1 执行i+1 分析i+2 执行i+2
使用先行控制技术后
分析i-1
执行i-1
分析i 分析i+1 分析i+2
华北电力大学计算机系
华北电力大学计算机系
11/130
计算机组成与结构
8.1 流水线原理
Leabharlann Baidu解决方法:
1.将程序地址空间和数据地址空间分开,两个地址空
间提供独立访问的能力。 2.采用低位交叉并行访问存储器。 3.采用先行控制技术。
华北电力大学计算机系
12/130
计算机组成与结构
8.1 流水线原理
采用先行控制技术的处理机结构
执行i 执行i+1 执行i+2
15/130
计算机组成与结构
8.1 流水线原理
4. 指令流水线
把指令的解释过程分解为“分析”和“执行”
两个子过程,并让这两个子过程分别用独立的分 析部件和执行部件来实现。
理想情况:速度提高一倍
华北电力大学计算机系
16/130
华北电力大学计算机系
17/211
计算机组成与结构
取指 分析 执行
指令经过各功能段时间分别为t取、t分、t执
华北电力大学计算机系
5/130
计算机组成与结构
8.1 流水线原理
(1)顺序方式
取指i 分析i 执行i 取指i+1 分析i+1 执行i+1
程序总执行时间为:
T顺

∑ (t取+t分+t执) = 3n△t
i=1
n
华北电力大学计算机系
6/130
9/130
计算机组成与结构
8.1 流水线原理
在处理机内部需要有独立的取指令、分析指令和执行指令 的功能部件,将传统处理机中的指令控制器分解成为三个独立 的控制器:
存储控制器:负责流水线中各功能段对存储器的访问控制
包括取指令、取操作数、写回运算结果 指令控制器:完成取指令部件和分析指令部件的控制 运算控制器:对运算器的执行加以控制
◆ 消除瓶颈的方法

(举例)
细分瓶颈段
重复设臵瓶颈段
(时-空图)
华北电力大学计算机系
38/130
重复设臵瓶颈段(时-空图举例)
计算机组成与结构
8.2 流水线的性能分析
(2) 实际吞吐率TP 流水线的实际吞吐率小于最大吞吐率。
◆ 第一种情况:各段时间相等(设为△t0)
假设流水线由 m 段组成,完成 n 个任务。
计算机组成与结构
8.1 流水线原理
◆ 动态流水线:在同一时刻,流水线的各段可以
按不同功能的连接方式工作。 动画演示 这样就不是非得相同运算的一串操作才能 流水处理。
优点:能提高流水线的效率 缺点:会使流水线的控制变得复杂
华北电力大学计算机系
28/130
◆ 静、动态流水线时空图的对比
计算机组成与结构
计算机组成与结构
8.1 流水线原理
4.按照数据表示来分 ◆ 标量处理机:不具有向量指令和向量数据表示, 仅对标量进行流水处理的处理机。 例如:IBM860/91, Amdahl 470V/6 等 ◆ 向量处理机:具有向量指令和向量数据表示的 处理机。 例如:TI ASC, CRAY-I 等 5. 按照是否有反馈回路来分
计算机组成与结构
8.1 流水线原理
(2) 一次重叠方式
取指i-1 分析i-1 执行i-1 取指i 分析i 执行i 取指i+1 分析i+1 执行i+1
程序总执行时间为:
T一次 = t取 ﹢t分 ﹢t执 ﹢∑ (t分+t执)
=3 △t
n
﹢(n-1)2
i=2 △t
= (2n+1) △ t
华北电力大学计算机系
◆ 若流水线各段的时间相等,均为△t0 ,
则:
TPmax= 1 /△t0
华北电力大学计算机系
37/130
计算机组成与结构
8.2 流水线的性能分析
◆ 若流水线各段的时间不等,则:
1 ───── TPmax= max{△ti }
◆ 最大吞吐率取决于流水线中最慢的一段所
需的时间,这段就成了流水线的瓶颈。
◆ 线性流水线:流水线中的各段串行连接,没
有反馈回路。 ◆ 非线性流水线:流水线中的各段除有串行连接 外,还有反馈回路。 (举例)
华北电力大学计算机系
33/130
计算机组成与结构
8.1 流水线原理
华北电力大学计算机系
34/130
◆ 流水线的调度问题
计算机组成与结构
8.1 流水线原理
6. 按照流动是否可以乱序来分
8.流水技术的特点
(1) 流水过程由多个相联系的子过程组成,每个 子过程称为流水线的“级”或“段”。“段” 的数 (2) 目称为流水线的“深度”。 每个子过程由专用的功能段实现;
华北电力大学计算机系
22/130
计算机组成与结构
8.1 流水线原理
(3) 各个功能段所需时间应尽量相等,否则,时间长 的功能段将成为流水线的瓶颈,会造成流水线的 “堵塞”和“断流”。这个时间一般为一个时钟 周期 (4) (拍); 流水线需要有“通过时间”(第一个任务流出结果 所 需的时间),在此之后流水过程才进入稳定工作状 (5) 态,每一个时钟周期(拍)流出一个结果; 流水技术适合于大量重复的时序过程,只有输入 端能连续地提供任务,流水线的效率才能充分发 挥。
8.1 流水线原理
5. 浮点加法流水线 把浮点加法的全过程分解为“求阶差”、 “对
阶”、“尾数相加”、“规格化”四个子过程,
并让 它们分别用各自独立的部件来实现。 理想情况:速度提高3倍
华北电力大学计算机系
18/130
计算机组成与结构
8.1 流水线原理
华北电力大学计算机系
19/130
计算机组成与结构
◆ 顺序流动流水线:流水线输出端任务流出的顺
序与输入端任务流入的顺序相同。
◆ 异步流动流水线(乱序流水线):流水线输出
端任务流出的顺序与输入端任务流入的顺序 不同。
华北电力大学计算机系
36/130
计算机组成与结构
第八章 流水线技术
8.2 流水线性能分析
1. 吞吐率
吞吐率是指单位时间内流水线所完成的任 务数或输出结果的数量。 (1) 最大吞吐率TPmax 最大吞吐率是指流水线在连续流动达到 稳定状态后所得到的吞吐率。
华北电力大学计算机系
30/130
计算机组成与结构
8.1 流水线原理
华北电力大学计算机系
31/130
计算机组成与结构
8.1 流水线原理
◆ 处理机间流水线(宏流水线):它是指由两个
以上的处理机串行地对同一数据流进行处理, 每个处理机完成一项任务。 动画解析
华北电力大学计算机系
32/130

时空图 完成 n 个任务所需的时间
T流水=m△t0+(n-1)△t0
(说明)
华北电力大学计算机系
41/130
华北电力大学计算机系
42/211
完成 n 个任务所需的时间
华北电力大学计算机系
43/211
计算机组成与结构
8.2 流水线的性能分析

实际吞吐率
n TP = ─── = ────────── T流水 m△t0 +(n-1)△t0
相关文档
最新文档