高级计算机系统结构并行技术和高端处理器课件

上传人:我*** 文档编号:141471002 上传时间:2020-08-08 格式:PPT 页数:57 大小:706.50KB
返回 下载 相关 举报
高级计算机系统结构并行技术和高端处理器课件_第1页
第1页 / 共57页
高级计算机系统结构并行技术和高端处理器课件_第2页
第2页 / 共57页
高级计算机系统结构并行技术和高端处理器课件_第3页
第3页 / 共57页
高级计算机系统结构并行技术和高端处理器课件_第4页
第4页 / 共57页
高级计算机系统结构并行技术和高端处理器课件_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《高级计算机系统结构并行技术和高端处理器课件》由会员分享,可在线阅读,更多相关《高级计算机系统结构并行技术和高端处理器课件(57页珍藏版)》请在金锄头文库上搜索。

1、第三章 并行技术和高端处理器,提高计算机性能(速度)所经历的主要历程:,微程序设计模式,RISC设计模式,并行设计模式, 同时性(simultaneity) : 是指把两个或多个事件在同一时刻发生的并行性叫同时性。,概述: 计算机中的并行性,1、并行性与同时性,是指在同一时刻或是同一时间间隔内完成两件或两件以上的工作。只要时间上互相重叠, 就存在并行性。这一概念引入计算机系统, 成为提高其性能的主要技术之一。, 并行性(parallelism),以n位并行加法为例: 由于存在进位信号的传播延迟时间, 全部n位加法结果并不是在同一时刻获得的, 因此并不存在同时性, 而只存在并发性的关系。 如果有

2、m个存储器模块能同时进行读出信息, 则属于同时性。, 对程序运行, 并行性从低到高可分为: (1) 指令内部并行: 指令内部的微操作之间的并行; (2) 指令级并行(Instruction Level Parallel, ILP): 并行执行两条或多条指令; (3) 任务级或过程级并行: 并行执行两个或多个过程或任务(程序段); (4) 作业或程序级并行: 多个作业或程序间的并行。,2、指令并行性和数据并行性, 对处理数据, 并行性从低到高可以分为: (1) 字串位串: 同时只对一个字的一位进行处理; (2) 字串位并: 同时对一个字的全部位进行处理; (3) 字并位串: 同时对多字的同一位进

3、行处理; (4) 全并行: 同时对多字的全部或部分位进行处理。,在一个计算机系统中, 可以采取多种并行性措施。可以有执行程序方面的并行性, 又可以有数据处理方面的并行性。当并行性提高到一定级别则认为进入并行处理领域。例如, 执行程序的并行性达到任务或过程级, 或者处理数据的并行性达到字并位串一级, 即可认为进入并行处理领域。,3、提高并行性的三种技术途径 (1) 时间重叠: 即多个处理过程在时间上相互错开, 轮流重叠使用同一硬件设备的不同部分, 以加快硬件周转。原则上不要求重复的硬件设备。 (2) 资源重复: 根据“以数量取胜”的原则, 通过重复设置资源(尤其是硬件资源), 大幅度提高计算机系

4、统的性能。多处理器系统是资源重复的典型情况。 (3) 资源共享: 这是一种软件方法, 它使多个任务按一定时间顺序轮流使用同一套硬件设备。例如分时系统就是遵循资源共享这一思想产生的。,4、系统设计的定量原理,(1) 大概率事件优先原则,大概率事件优先原则是计算机体系结构设计中最重要和最常用的原则。 基本思想是: 对于大概率事件(最常见的事件), 赋予优先的处理权和资源使用权, 以获得全局的最优结果。 在进行计算机设计时, 如果需要权衡, 就必须侧重常见事件, 使最常发生事件(大概率事件)优先。 该原则也适用于资源分配。着重改进大概率事件性能, 能够明显提高计算机性能。,(2) 阿姆达尔(Amda

5、hl)定律:,阿姆达尔定律是最基本的定量分析原则, 指系统中对某一部件采用某种更快的执行方式后, 所能获得的系统性能的改进程度, 取决于这种执行方式被使用的频率, 或所占总时间比例; 或者加快某部件执行速度所获得的系统性能加速比, 受限于该部件在系统中所占的重要性。 所以可以认为, 阿姆达尔定律实际上定义了采取增强(加速)某部分功能处理后, 可获得的性能改进或执行时间的加速比。,假设: To: 不采用任何改进措施完成某一任务时间; Te: 采取某种改进措施完成同一任务所需时间;,fe: 采用改进措施部分所占系统的百分比; re: 改进后比未改进可加快执行的倍数;,则性能加速比为:,Sp =,(

6、未采用改进措施执行某任务时间)(采用改进措施后执行某任务的时间),式中: 当fe为0时(即没有可改进部分), Sp为1(性能没有提高); 当fe100%, Sp re ; 系统性能的提高就是改进部分提高的性能。 当re时, 则Sp=1/(1fe), 即改进部分比例越大, 加速比越高。但当改进的倍数re较大时, 加速比受限于不可改进部分, 仅提高可改进部分的速度, 对于提升系统加速比已经没有什么意义。 系统性能提高幅度受改进部分所占比例的限制。,例1: 假设将某系统的某一部件的处理速度加快10倍, 但该部件的原处理时间为整个运行时间的40%, 则该部件加速后, 整个系统的性能提高多少?,解: 由

7、题意可知 fe=0.4, re=10, 根据阿姆达尔定律:,=1.56,例2: 假设某程序中, 求浮点数平方根FPSQR操作占整个程序执行时间的20%, 而所有浮点运算指令操作占整个程序执行的50%。现用两种措施提高计算机系统性能, 一种是采用FPSQR硬件, 可以使FPSQR操作的速度提高10倍; 另一种是使所有浮点指令的速度提高两倍, 试比较两种方案。,解:,在两种方案下, re分别是10和2, fe分别是20和50, 使用加速比公式:,SFPPSQR,1.22,SFPP,1.33,采用“提高浮点指令的速度”比“FPSQR硬件”更好。,Amdahl定律表达了一种性能增加的递减规则: 如果仅

8、仅对计算机中的一部分做性能改进, 则改进越多, 系统获得的效果越小。 从另外一个方面看, Amdahl定律认为衡量一个“好”的计算机系统: 具有高性价比的计算机系统是一个带宽平衡的系统, 而不是看它使用的某些部件的性能。,还可以认为:,许多人对该定律的解释表明使用大量的处理器求解问题只能获得有限的成功, 但这似乎与大量的并行计算机能显著改进计算性能的报道相冲突。 阿姆达尔定律是在固定应用规模的前提下考虑并行性增长的影响。但大多数并行计算则是固定并行性而扩展应用的规模。在这种情况下, 随着所考虑规模的增加, 顺序代码所占的比例就越来越小。所以, 将问题规模翻倍后, 顺序部分的增长几乎可以忽略,

9、从而使得求解问题有更多的部分可以并行执行。,第一节 流水线技术,流水技术是指:,将一个重复的时序过程分解成为若干个子过程, 而每个子过程都可以在其专用功能段上与其它子过程同时执行。,比较串行执行与流水线执行过程:,理论上讲: 效率为串行的三倍。,一、指令流水线(整数),假设: 将一条指令的整个过程分解为四个阶段:,非流水线方式(假设各阶段时间等长):,处理器,4t时间完成整条指令,完成n条指令需要n4t 时间。,如果将处理器按照指令各阶段的功能重新设计:,让完成不同功能所涉及的硬件部分在逻辑上相互独立, 让不同逻辑功能部件在时间上并行工作, 从而使多条指令的不同阶段的功能并行完成, 以提高指令

10、执行速度。,如下图所示:,例: 如以下几条指令的执行过程:,WB6,注: 该图不反映流水线时间重叠关系, 只反映指令在不同阶段的功能在什么部件上完成。将该图按执行的时间顺序改写为(如下图):,4t时完成第1条指令,9t时完成第6条指令,二、浮点加法流水线 浮点加法的全过程为求阶差、对阶、尾数相加、规格化四个子过程, 分别用不同的部件来实现。,采用流水线以后, 虽然每个加法操作的总时间仍然是4t , 但在加法器的输出端, 却是每隔一个t就输出一个加法结果。,三、流水线性能指标,(1) 流水线吞吐率TP (也称流水线排空时间),是指在单位时间内, 流水线所完成的任务数量或者输出结果的数量。,TP

11、=,其中: n为任务数量, Tk是处理完n个任务所用的时间。,上述计算吞吐率的基本公式可根据流水线的具体设计可进一步细分下述两种情况:, 各时间段均等的流水线,假设一个时间段均等(t)的流水线, 级数为k , 第一条指令输入后, 经过kt的时间完成, 此后的每一个t完成一条指令, 这样, 流水线完成n条指令所需时间为:,Tk = kt + (n1) t,代入基本公式:,TP =,最大吞吐率:,TPmax =,(排空时间), 各段时间不完全相等的流水线,一般情况下, 不同的指令以及指令的不同阶段所需时间可能都会有差异, 因此可以按实际所需时间分配每一级的时间长度。,比如: 假设流水线采用5级流水

12、深度, 每一级按以下分配时间长度:,但存在控制很复杂、时间瓶颈使部分功能部件利用率较低的缺陷。,第2级部件需等待第3级部件2t的时间之后才能将操作交给第3级部件;,即: t1=t , t2=t , t3=3t , t4=2t , t5=t,指令1,指令2,指令3,流水线执行情况:,指令4,从第2条指令开始, 每3t完成1条指令, 因此有:,(2) 流水线加速比,最大吞吐率:,如上例中, 最大吞吐率:,流水线加速比定义:,按顺序方式执行一批指令所用的时间与按流水线方式执行同一批指令所用时间之比。,加速比:,S =,顺序方式执行所用时间,流水线方式执行所用时间,假设流水线各段时间均等为t , 则一

13、条k段流水线完成n条指令所需时间为: Tk =(k+n1) t。,假设按顺序执行n条指令, 则完成n条指令所需时间为: Ts = nkt 。,因此有加速比:,最大加速比:,Smax =,=k,即当nk时,流水线加速比等于流水线段数, 因此理论上流水线段数越多越好, 但在设计上会带来许多问题。,(3) 流水线效率,流水线效率是指: 流水线中的功能部件的利用率, 其值为流水线功能部件的实际使用时间与整个运行时间之比。,假设流水线级数为k , 各级时间相等(t), 完成n条指令总时间为Tk , 则每一级的效率为(理想情况):,E =,由于各级相同, 则整条流水线利用率:,当nk 时,E趋于1。,例.

14、 一个四级流水线(各级等长), 仅执行完一条指令时:,即: 由于仅执行完一条指令, 流水线四段中, 在任何一个t时间内, 都只有一个段被使用, 其余三个段为空闲, 因此利用率只有四分之一。,再假设执行完三条指令, 且流水线无阻塞:,流水线情况:,在流水线执行过程中, 各段空闲情况:,取指部件: 空闲t4、 t5、 t6,译码部件: 空闲t1、 t5、 t6,执行部件: 空闲t1、 t2、 t6,写数部件: 空闲t1、 t2、 t3,即在整个6t的时间, 任何一个部件都存在3t的空闲, 利用率1/2。,如果各级的效率不完全相等, 则流水线效率为:,E =,如果一批指令中不同指令的各级所需时间也不

15、同, 上述式子还需修改。,上述计算公式都是流水线在理想情况的计算方法, 在实际情况, 流水线可能存在阻塞, 不能按理想状态实现流水执行。,非理想状况下流水线效率分析:,假设一段程序由n条指令构成的, 分为K级流水, 用tij表示第i条指令的第j阶段所需时间。,(1) 如果采用顺序执行, 则有:,第1条指令完成时间:,t11 + t12 + t13. + t1K,第2条指令完成时间:,t21 + t22 + t23. + t3K,第3条指令完成时间:,t31 + t32 + t33. + t3K,第n条指令完成时间:,tn1 + tn2 + tn3. +tnK,顺序完成该程序所需时间为上述所有t

16、ij的累加:,第1个部件使用时间:,t11+t21+t31+ tn1,第2个部件使用时间:,t12+t22+t32+tn2,第3个部件使用时间:,t13+ t23+ t33+tn3,第K个部件使用时间:,t1K+t2K+t3K+tnK,所有K个部件的平均使用时间为:,(t11+t21+tn1) +,(t12+t22+tn2) + +,(t1K +t2K+tnK),K,(2) 如果按流水线方式执行, 则有:,假设完成的总时间为TK , 所谓效率则是流水线部件被实际使用的时间占总时间的比例。,所有部件的平均使用时间除以该程序完成的总时间(Tk)则为利用率, 即:,TS为顺序方式执行所用时间;,Tk为流水线方式执行所用时间。,上式即为一种简单实际的流水线效率计算方法。,四、流水线的相关与冲突,1、流水线相关,相关是指两条指令之间存在某种依赖关系。 一般来说, 指令之间的依赖性越少, 流水线各级的并行性越高, 流水线效率也越高。 反之, 依赖性越多, 流水线各级的并行性越低, 流水

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号