第10章 流水线与并行处理技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014年7月4日星期五
14
• 所谓并行性,是指计算机系统具有可以同时进行运 算或操作的特性
• 它包括同时性与并发性两种含义 • 同时性(Simultaneity)是指两个或两个以上的事件在同 一时刻发生 • 并发性(Concurrency)是指两个或两个以上的事件在同 一时间间隔内发生
• 所谓并行计算(Parallel Computing)是指通过网络 相互连接的两个以上的处理机相互协调工作,同时 计算同一个任务的不同部分
理而产生的
• 资源共享既降低了成本,又提高了计算机
设备的利用率
2014年7月4日星期五 28
8.1.3 并行性的发展
1.单机系统并行性发展
来自百度文库
2.多机系统并行性发展
2014年7月4日星期五
29
1.单机系统并行性发展
• 在发展高性能单处理机过程中,起着主导
作用的是时间并行技术
• 实现时间并行的物质基础是部件功能专用化
• 把一件工作按功能分割为若干个相互联系的部分,
把每一部分指定给专门的部件完成
• 然后按时间重叠原理把各部分执行过程在时间上重
叠起来,使所有部件依次分工完成一组同样的工作
2014年7月4日星期五 30
• 在单处理机中,空间并行技术的运用也已 经十分普遍
• 多体交叉存储器和多操作部件都是空间并行技 术成功应用的结构形式 • 在多操作部件处理机中,
2
入 取指令 译码 取数 执行

指令解释的流水线处理
s
执 行 取 数 译 码 取指令 1 1 2 1 2 3 1 2 3 4 2 3 4 5 3 4 5 4 5 5
Δ t2
指令解释流水处理的时(间)-空(间)图
t
10.1.2 流水线的分类
流水结构不仅在指令的执行过程中用来提高处理速度,而 且可以用于各种大量重复的时序过程,如浮点数相加等。因此 就有按不同结构和不同观点进行的不同分类。 (1)按完成的功能分类 单功能流水线:只能完成一种固定功能的流水线,如只能实现 浮点数加法运算。 多功能流水线:同一个流水现可有多种联接方式来实现多种功 能。 (2)按同一时间内各段之间的联接方式分类 静态流水线:同一时间内,流水线的各段只能按同一种功能的 联接方式工作。 动态流水线:同一时间内,流水线的各段可按不同运算的联接 方式工作。如在流水线中有些段完成浮点加法,有些段实现定 点乘法。 5

k k k Tk
10.2 相关处理与控制
要使流水线发挥高效率,就是要使流水线连续不断地流动 ,尽量不出现断流情况。但是断流现象是不可避免的,其原因 除了编译形成的目的程序不能发挥流水线结构的作用,或存储 系统供不上为连续流动所需要的指令和操作数以外,就是由于 出现了相关、转移和中断等问题。 称转移、中断等相关现象为全局性相关,与主存操作数或 通用寄存器的读写相关现象为局部性相关。 (1)局部性相关处理 按流水的流动顺序的安排与控制,存在以下几种情况: 顺序流动:它是使流水线输出端的任务(指令)流出顺序与输 入端的流入顺序一样。遇到相关则使相关的指令解释过程停止 ,待过了这一环节再继续下去。 异步流动:它是使流水线输出端的任务(指令)流出顺序与输 入端的流入顺序不同。这种控制方法又会使得控制变得很复杂11 。
2014年7月4日星期五 16
• 并行计算的应用领域主要包括:
⑴科学和工程计算
⑵商业计算
2014年7月4日星期五
17
⑴科学和工程计算
• 在计算领域,计算机被用来模拟那些要么不可能 、要么需花费很大代价才能观测到的物理现象
• 并行体系结构已经成为科学计算的中流砥柱
• 物理、化学、材料科学、生物学、天文学、地球物理 等科学领域的研究都离不开并行计算
(2)转移相关 转移相关是全局相关。当出现条件转移指令时,为了保证 流水线能继续向前流动,主要采用”猜测法“。它的基础是条 件转移指令是否实现转移,应当是转移条件满足时。因此为了 保持流水线的执行,可以猜测它不满足转移条件,而继续解释 它以后的指令。一旦在其后发现满足条件时,则再转移,但要 取消已执行的无效指令的影响。 (3)中断处理 “不精确断点法”,即不论第i条指令在流水线的哪一段发 生中断请求,那时还未进入流水线的后续指令就不再允许进入 ,但已在流水线的所有指令都仍然流动到执行完毕,而后才转 入中断处理程序。所谓不精确断点是指处理机并非中断在第i条 指令处,只有当第i条指令在第一段是发生中断,才是精确断点 。
• 通用部件被分解成若干个专用的操作部件
• 如加法部件、乘法部件、除法部件、逻辑运算部件等
• 一条指令所需的操作部件只要空闲,就可以开始执 行这条指令
• 这是指令级并行
2014年7月4日星期五 31
• 在单处理机中,资源共享概念的实质就是用
单处理机模拟多处理机的功能,形成所谓的 “虚拟机(Virtual Machine,VM)”的概念
(3)按流水的级别分类 部件级流水线:又称运算操作流水线。它是指处理机 的算术逻辑部件分段,使各种数据类型能进行流水操 作。 处理机级流水线:又称指令流水线。它是指在指令执 行过程中划分成若干功能段,按流水方式组织起来。 处理机间流水线:又称宏流水。它是指两台以上的处 理机串行地对同一数据流进行处理,每台处理机完成 一个任务。 (4)按数据表示分类 标量流水处理机:只能对标量数据进行流水处理。 向量流水处理机:它具有向量指令,能对向量的各元 素进行流水处理。
6
10.1.3 流水线性能分析
• 衡量处理机性能的指标主要是吞吐率( thoughput rate , TP ) 、 加 速 比 ( speedup ratio)和效率(efficiency)。 • 1.吞吐率 n TP = Tk
空间
1 1 1 1 2 kΔ t 2 3 2 3 4
2 3 4 ‥
• 从而提高问题求解速度,或者求解单机无法解决的大规 模问题
2014年7月4日星期五 15
• 并行计算的目的
⑴提高速度 • 对于一个固定规模的问题,采用并行计算技术可以使 求解时间更少 • 现在的微型机也开始借助于流水线技术、多核技术等 并行计算技术来提高系统的速度
⑵扩大问题求解规模
• 由于器件本身的限制,任何单处理器的速度不能超过 某个上限 • 要突破这个上限,必须采用并行计算技术
2014年7月4日星期五 19
8.1.1 并行性分类
• 计算机系统中的并行性有不同的等级
• 从处理数据的角度看,并行性等级从低到高可分 为:
⑴字串位串 • 同时只对一个字的一位进行处理
• 这是最基本的串处理方式,不存在并行性
⑵字串位并 • 同时对一个字的全部位进行处理,不同字之间是串行的
• 这里已开始出现并行性
• 按照耦合度的不同,可将多机系统分为紧耦合系统和松耦合系统两 大类
• 紧耦合系统又称直接耦合系统
• 指计算机间物理连接的频带较高,一般通过总线或高速开关实现计 算机间的互连,可以共享主存 • 由于具有较高的信息传输率,因而可以快速并行处理作业或任务
2014年7月4日星期五 33
• 松耦合系统又称间接耦合系统
• 例如在分时系统中,在多终端情况下,每个终 端上的用户都感觉自己好像独立拥有一台处理 机一样
2014年7月4日星期五 32
2.多机系统并行性发展
• 多机系统也遵循时间重叠、资源重复、资源共享原理,向 三种不同的多处理机方向发展,但在采取的技术措施上与 单处理机系统有些差别 • 为了反映多机系统各机器之间物理连接的紧密程度及交互 能力的强弱,我们引入“耦合度”这个术语
• 对物理现象建模的工具也被应用到工程应用中
• 如石油(油藏模拟)、汽车(碰撞模拟、牵引分析、 燃料效益)、航空(气流分析、引擎效率、结构力学 、电磁学)、制药学(分子建模)等
2014年7月4日星期五 18
⑵商业计算
• 商业计算在高端领域也要借助于并行体系
结构
• 早在20世纪60年代中期,多处理器就在商业计 算的高端市场上崭露头角 • 在这个领域,计算机系统的速度和容量直接反 映了系统能够支持的商业规模
同一套硬件设备的各个部分,以加快硬件
周转时间而赢得速度
2014年7月4日星期五 25
2.资源重复
• 即空间并行
• 在并行性概念中引入空间因素,采用以数
量取胜的原则,通过重复设置硬件资源,
大幅度提高计算机系统的性能
• 随着硬件价格的降低,这种方式在单处理
机中广泛应用,而多处理机本身就是实施
资源重复原理的结果
12
• 计算机系统性能和容量的快速增长,除了
归功于底层VLSI技术的发展之外,另一个重 要因素在于计算机体系结构的不断改进, 而并行性则是其中的一个主要方面
2014年7月4日星期五 13
8.1 并行性的概念
8.1.1 并行性分类
8.1.2 提高并行性的技术途径 8.1.3 并行性的发展 8.1.4 并行计算机体系结构分类
2014年7月4日星期五 20
⑶字并位串
• 同时对许多字的一位进行处理
• 这种方式有较高的并行性
⑷全并行 • 同时对许多字的全部位进行处理 • 这是最高一级的并行性
2014年7月4日星期五 21
• 从执行程序的角度看,并行性等级从低到高可分 为:
⑴指令内部并行
• 一条指令执行时各微操作之间并行。
⑵指令级并行 • 并行执行两条或多条指令
⑶任务级或过程级并行
• 并行执行两个以上过程或任务(程序段) ⑷作业或程序级并行 • 并行执行两个以上作业或程序
2014年7月4日星期五 22
• 并行处理着重挖掘计算过程中的并行事件
,使并行性达到较高的级别
• 并行处理是体系结构、硬件、软件、算法、语 言等多方面综合研究的领域
2014年7月4日星期五
23
8.1.2 提高并行性的技术途径
• 计算机系统中提高并行性的措施多种多样
,就其基本思想而言,可归纳成如下四条
途径:
1.时间重叠
2.资源重复
3.资源重复+时间重叠
4.资源共享
2014年7月4日星期五 24
1.时间重叠
• 即时间并行
• 在并行性概念中引入时间因素,多个处理 过程在时间上相互错开,轮流重叠地使用
第10章 流水线与并行处理技术
10.1 流水线原理
10.2 相关处理与控制
8.1 并行性的概念
8.2 向量处理机 8.3 阵列处理机 8.4 多处理机系统
2014年7月4日星期五
8.5 机群系统
1
10.1 流水线原理 10.1.1 基本概念
流水线技术是将一个重复的时序过程分解成若干个子过程 ,而每一个子过程都可有效地在其专用功能段上与其它子过程 同时执行。 描述流水线的工作过程,常采用时(间)-空(间)图的方 法。一般而言,流水技术有如下特点: (1)流水线可分成若干个互有联系的子过程(功能段); (2)实现子过程的功能段所需时间尽可能相等,避免因不等而产 生处理的瓶颈,形成流水现的断流。 (3)形成流水处理,需要一段准备时间,称“通过时间”。只有 在此之后流水过程采稳定。 (4)指令流发生不能顺序执行时,会使流水过程中断,再形成流 水过程,则需要“通过时间”,所以流水过程不应常断流,否 则效率就不会很高。
2014年7月4日星期五 26
3.资源重复+时间重叠
• 在计算机系统中同时运用空间并行和时间并
行技术 • 这种方式在计算机系统中应用广泛,成为主 流的并行技术
2014年7月4日星期五 27
4.资源共享
• 这是一种软件方法,它使多个任务按一定
时间顺序轮流使用同一套硬件设备
• 例如多道程序、分时系统就是遵循资源共享原
• 一般通过通道或通信线路实现计算机间的互连 ,可以共享外存设备(磁盘、磁带等) • 机器之间的相互作用是在文件或数据集一级上 进行的 • 松耦合系统表现为两种形式:
• 一种是多台计算机和共享外存设备连接
• 不同机器之间实现功能上的分工(功能专用化) • 机器处理的结果以文件或数据集的形式送到共享外存设备 ,供其他机器继续处理
3 4 ‥ ‥
4 ‥ ‥ ‥
‥ ‥ ‥
‥ ‥

n
‥ n
‥ n
‥ n
时间
(n-1)Δ t ‥ Tk
各段执行时间相等的流水线时空图
• 2.加速比
T0 S Tk
10 8 6 4 2 1
加速比 S K=10 段
K=6 段 n
1
2
4
8
16 32 64 128
任务数
任务数与加速比的关系
• 3.效率 • 如果各段执行时间相等,则各段的效率 是相等的,都等于。即 n t • (9 1 2 k 15) Tk • 则整个流水线的效率为: • 1 2 k k k n t
相关文档
最新文档