第4章 流水技术与向量处理

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018/11/17 7
指令的重叠解释与先行控制
• 计算机系统中广泛存在着重叠工作方式 • 指令的解释方式一般只有三种:顺序、 重叠和流水 • 重叠和流水给指令的执行带来了高的吞 吐率和加速比,同时也给系统增加了障 碍
2018/11/17
8
指令的解释过程
ALU LOAD/STORE
取指
译码、读寄存器堆
如每段时间都为t,则执行n条指令所用的时间为:T=3nt 主要优点:控制简单,节省设备。 主要缺点:执行指令的速度慢,功能部件的利用率很低。
取指令k 分析k 执行k 取指令k+1 分析k+1 执行k+1
2018/11/17 10
2、重叠执行方式(最简单的流水线方式)
取指 分析 执行 取指 分析 执行 取指 分析 执行
如果每个过程的时间相等,则执行n条指令的 时间为:T=(1+2n)t 主要优点: 指令的执行时间缩短 功能部件的利用率明显提高 主要缺点: 需要增加一个IBR
2018/11/17 11
3、更高重叠度的重叠解释方式 取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 取指k+2 分析k+2 执行k+2
五 六 七
时间
动态多功能流水线时-空图
区别:如果从软硬功能分配的观点上来看,静态流水线其实是 把功能负担较多地加到软件上,以简化硬件;动态流水线则是 把功能负担较多地加在硬件上,以提高流水的效能。
2018/11/17 32
四、标量流水线性能分析
衡量流水线处理机的性能主要是吞吐率、加速比和效率。
1.吞吐率:单位时间内能处理的指令条数或能输出的数据量。 吞吐率越高,计算机系统的处理能力就越强。就流水线而言, 吞吐率就是单位时间内能流出的任务数或能流出的结果数。 最大吞吐率:流水线达到稳定状态后可获得的吞吐率。
T 流水时空图
2018/11/17 27
3、流水线的分级、分类
分级:(处理的级别分类) 部件级(操作流水线):将复杂的算逻运算组成流水工作方式;
指令级:把一条指令解释过程分成多个子过程 ;
处理机级:每个处理机完成某一专门任务,各个处理机所得到的 结果需存放在与下一个处理机所共享的存储器中
2018/11/17 28
m NL
空间
NL1 NL2 NL3 NL4 NL5 MA MA1 MA2 MA3 MA4 MA5 EA EA1 EA2 EA3 EA4 EA5 时间 ED ED1 ED2 ED3 ED4 ED5 t1 t2 t3 t4 t5 t6 t7 t8 t 0 NL:规格化 MA:尾数加 ED:求阶差 EA:对阶
2018/11/17
20
1、简单流水线的连接图表示
IF ID
输入
取指
S1
译码
S2
EX 执行 S3
MEM
WB
访存
S4
写回
S5
输出
流水线的每一个阶段称为流水段、流水线 阶段、流水功能段、功能段、流水级、流水 节拍等。一个流水阶段与另一个流水阶段相 连形成流水线。 有些复杂指令,在执行阶段也采用流水线 方式工作,称为操作流水线。
2018/11/17 6
引出下述关于洗衣机工作的有关性能特点: 吞吐率:单位时间内完成的任务数TP=n/T 加速比:串行方式与流水线方式的时间比:上述为 45/25=1.8 效率:即洗衣机的利用率,上述洗衣机的效率是 9/15=3/5=60%
将一条指令的执行分为几个阶段,让几条指令按重 叠或流水方式工作,以提高程序的执行速度。这就 引出了计算机中的流水线技术。
IF
ID
取指
译码、读寄存器堆
EX
MEM WB
2018/11/17
执行
---
计算访存有效地址
访存(读或写)
结果写回寄存器堆 将读出的数据写入寄存器堆
9
一、指令的重叠解释方式
1、顺序执行方式 一条指令的执行过程:取指令->分析->执行 执行n条指令所用的时间为:
T
(t 取指令
i 1
n
i
t 分析 i t 执行 i )
5.相关
邻近指令之间出现某种关联,为避免出错而不 能同时执行的现象。
局部性相关、全局性相关
2018/11/17
15
2018/11/17
16
先行控制技术
• 基本思想:使分析和执行部件分别连续不断地运行,使部 件空闲状态减至最低。
分析k 执行k 分析k+1
执行部件空闲
执行k+1 分析k+2
分析k
执行k 分析k+1 执行k+1 分析k+2 执行k+2
2018/11/17 2
本章学习要求
• 掌握标量流水的性能分析及障碍的处理 方法 • 掌握非线性流水调度技术 • 掌握向量流水机的结构特征、向量指令 并行性分析 • 了解标量流水、超标量流水、超流水及 超长指令字计算机的基本工作原理
2018/11/17 3
提高指令执行速度的主要途径: (1) 提高处理机的工作主频 (2) 采用更好的算法和设计更好的功能 部件 (3) 采用指令级并行技术 三种指令级并行处理机: (1) 流水线处理机和超流水线(Superpipelining)处理机 (2) 超标量(Superscalar)处理机 (3) 超长指令字(VLIW: Very Long Instruction Word)处理机
△t0 △ t0 △ t0 △ t0
正常
排空 5 ... ... ... ... ... ... n-1 n ... ... n-1 n ... n-1 n n-1 n
(n-1) △ t0
2 3 4 3 4 5 4 5 ... 5 ... ...
n △
T0=m
△ t0 t0 (m-1) △ t0
时间
30
乘 1 输入
2
3
4
5
5
6
7
8
2018/11/17
空间 (段号)
加法
乘法
8 7 6 5 4 3 1 1 2 1 2 3 2 1 1 2 3 4
1 2
3
4 ... ... ... n-1 n

一 二 一 二 三
1 2 3 4 ...
2 3 4 ... ...
3 4 ... ... ...
4 ... ... ... n-1 n ... ... ... n-1 n ... ... n-1 n ... n-1 n n-1 n
其他分类: 功能:单功能流水线(如CRAY-1)、多功能流水线(如 TI-ASC) 工作方式:静态流水线、动态流水线 连接方式:线性、非线性 处理数据:标量流水、向量流水 入 1 2 3 4 非线性流水线
2018/11/17 29

4、流水线举例
1)ASC算术运算流水线(多功能) 加 1 2 3 4 输入 减阶 对阶移位 相加 规格化 相乘 累加 输出 8 输出 1 输入 减阶 对阶移位 相加 规格化 6 7 8 相乘 累加 输出
2018/11/17 21
一种指令流水线
取指 译码 形成操 作数地址 取操 作数 执行 保存 结果
–一般4至12个流水段,等于及大于8个流水段的称为超流 水线处理机
2、流水线的时空图 采用“时空图”表示流水线的工作过程。
–一条简单流水线的时空图:
2018/11/17
22
• 一个浮点加法器流水线的时空图(由求阶差、对阶、 尾数加和规格化4个流水段组成):
3批衣服的整个工作时间为3*3*5=45分钟
2018/11/17 5
第二种:重叠工作方式,设计三个部件,可以同时 工作,每个部件只做一样工作,操作方式如下图:
T
第1批洗涤 第1批清洗 第1批甩干 第2批甩干 第3批清洗
Δt
第2批洗涤 第2批清洗 第3批洗涤
Δt Δt Δt
第3批甩干
Δt
3批衣服的工作时间为5*5=25分钟,节省20分钟。
2018/11/17 13Baidu Nhomakorabea
3.同步 分析与执行所需的时间不同,要求的是一次 重叠 一 次 重 叠 : 任 何 时 间 都 是 “ 分 析 K+1” 与 “执行K”的重叠 =>相邻两条指令的重叠
分析K 执行K 分析K+1 执行K+1
T=(n+1)t
2018/11/17 14
4.转移
无条件转移 / 条件转移 当转移成功时,重叠预 取无效,变为顺序执行 应尽可能不使用或少使用条件转移指令
2 3 4 5 ...
3 4 5 ... ...
4 5 ... ... ...
4 5 ... ... ... n-1 n 一 一 二 一 二 三 5 ... ... ... n-1 n ... ... ... n-1 n ... ... n-1 n ... n-1 n n-1 n 一 二 三 四
二 三 四 三 四 五 四 五 六
– 把取第k+1条指令提前到分析第k条指令同时执行 –如果三个过程的时间相等,执行n条指令的时间 为:T=(2+n)t –理想情况下同时有三条指令在执行 –处理机的结构要作比较大的改变,必须采用先行 控制方式
2018/11/17 12
重叠方式对计算机组成的要求
1.访存冲突 分析与取指均要访问主存 解决: 1)采用两个独立编制的存贮器 数据/指令 但增加了复杂性 2)采用多体交叉存贮器 3)指令缓冲寄存器 2.功能部件的冲突 解决:设置独立的分析部件和执行部件
•第1章 •第2章 •第3章 •第4章 •第5章 •第6章 •第7章
计算机系统设计基础 数据表示与指令系统性能分析 通道处理机 流水技术和向量处理 阵列计算机 多处理机系统 其它计算机结构
2018/11/17
1
第4章 流水技术与向量处理
4.1 标量流水工作原理 4.2 标量流水中的障碍及控制 4.3 流水线的调度技术 4.4 先进的流水技术 4.5 Pentium微处理器中的流水技 术 4.6 向量流水技术
• 工作原理
主存 存 控 数据缓冲栈 先行 指令栈 先行读 数栈 后行写 数栈
指令分析器
先行操作栈
执行 部件
栈的深度要求:D指缓≥D操作≥ D读栈≥ D写栈
2018/11/17 19
二、标量流水工作原理
• 基本思想:流水是重叠的进一步延伸, 使指令解释过程进一步细化,提高各部 件的利用率,以提高指令执行速度。 • 流水线的表示方法:连接图、时空图、 预约表
IF
输入 取指 S1
2018/11/17
ID
译码
EX 执行
MEM
访存 S4
WB
写回 S5
25
输出
S2 S3 指令的流水处理
输入
S1 S2
….. .….
输出 Sm
时钟 流水线的基本结构
2018/11/17 26
2、流水线工作的三个时间
建立时间、正常流动时间、排空时间。 空间 4 填入 1 3 1 2 2 1 2 3 1 1 2 3 4
分析部件空闲
执行k+2
(a)重叠方式
n
(b)先行控制
T重 t分1 max( t分i , t执i 1 ) t执n
i 2 n
T先 t分1 t执i
i 1
2018/11/17
17
• 关键:缓冲技术+预处理技术 • 缓冲技术:在工作速度不固定的两个功能部件 之间设置缓冲栈,用以平滑它们的工作 • 预处理技术:把进入运算器的指令都预处理成 R-R型指令,与缓冲技术相结合,为进入运算 器的指令准备好所需的全部操作数 • 先行控制方式使运算器可专注于运算,从而可 大幅度提高程序的执行速度 • 硬件要求:增设指令缓冲栈,消除取指过程; 增设数据缓冲栈,保证不同指令的读、写操作 并行;增设先行操作栈,保证执行部件能连续 执行。 2018/11/17 18
2018/11/17 23
3、流水线的预约表
时间 流水段
1
X
2
3
4
X
5
6
7
X
S1 S2
X
X
S3
S4
X
X
X
2018/11/17
24
三、流水线工作方式
1、流水线的结构
流水线的基本结构中主要包括三大部分:锁存器、时钟、 功能段。
流水线中每个段都是由一些执行算术和逻辑功能的组合逻 辑线路组成的,它们可以互相独立地对流过的信息进行某种操 作,相邻两站由高速锁存器( latch )隔开,信息在各段间的 流动靠同时送到各站的时钟信号来控制。
一二 三 四
时间
静态多功能流水线时-空图
静态流水线:只有当进入的是一串相同运算的指令时,流水的 效能才得以发挥,才能使各个功能段并行地对多条指令的数据 进行流水处理。
2018/11/17 31
m 8 7 6 5 4 3 2 1 1 2 3
加法
乘法
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
2018/11/17 4
4.1 标量流水工作原理
• 什么是流水线?
–考虑设计一个洗衣机的工作流程,假定它有三道 工序:洗涤、清洗、甩干。每个环节为5分钟。 –需要完成的任务为3批,则考虑下述工作方式的 工作效率: – 第一种:串行工作方式,即按照如下方式工作:
……
第1批 第1批 第1批 第2批 洗涤 清洗 甩干 洗涤 第2批 第2批 清洗 甩干 第3批 第3批 第3批 洗涤 清洗 甩干
相关文档
最新文档