流水处理机PPT学习教案_第1页
流水处理机PPT学习教案_第2页
流水处理机PPT学习教案_第3页
流水处理机PPT学习教案_第4页
流水处理机PPT学习教案_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1 流水处理机流水处理机 2、开发并行性的途径:、开发并行性的途径: 时间重叠:时间重叠:让多个处理过程在时间上错开,轮流重叠地使用同一套硬件设备的各个部分,使之加快硬件使用的周转来赢得速度。(流水线处理机)让多个处理过程在时间上错开,轮流重叠地使用同一套硬件设备的各个部分,使之加快硬件使用的周转来赢得速度。(流水线处理机) 资源重复:资源重复:通过重复设置硬件资源来提高性能或可靠性。(并行处理机、相联处理机)通过重复设置硬件资源来提高性能或可靠性。(并行处理机、相联处理机) 资源共享:资源共享:用软件的方法让多个用户共用同一套资源,通过提高系统资源的利用率来提高系统的效率和性能。(多处

2、理机)用软件的方法让多个用户共用同一套资源,通过提高系统资源的利用率来提高系统的效率和性能。(多处理机) 第1页/共58页 3、计算机系统的分类:、计算机系统的分类: SISD单指令流单数据流单指令流单数据流 Single Instruction Stream Single Data Stream 流水线处理机流水线处理机 CUPUMM IS CSDS 第2页/共58页 CU IS CS DS DS DS SIMD单指令流多数据流单指令流多数据流 Single Instruction Stream Multiple Data Stream 并行处理机并行处理机 第3页/共58页 MISD多指令

3、流单数据流多指令流单数据流 Multiple Instruction Stream Single Data Stream IS CS DS 第4页/共58页 MIMD多指令流多数据流多指令流多数据流 Multiple Instruction Stream Multiple Data Stream 多处理机多处理机 ISCSDS 第5页/共58页 一、重叠方式一、重叠方式 1、指令的、指令的顺序方式顺序方式与与重叠方式重叠方式解释解释 指令的顺序解释方式指的是指令与指令之间顺序串行,指令内的各个微操作之间也是顺序串行的。指令的顺序解释方式指的是指令与指令之间顺序串行,指令内的各个微操作之间也是顺

4、序串行的。 优点:优点:每条指令转入下一条指令的时间关系是确定的,指令间相互的关联关系易于得到控制和处理。每条指令转入下一条指令的时间关系是确定的,指令间相互的关联关系易于得到控制和处理。 缺点:缺点:程序解释的速度低,系统内各部件的时间利用率低。程序解释的速度低,系统内各部件的时间利用率低。 第6页/共58页 指令的重叠解释方式是在相邻的指令之间,让取指令、分析指令、执行指令等操作在时间上错开重叠的进行,而指令内部的微操作仍然是顺序串行的。指令的重叠解释方式是在相邻的指令之间,让取指令、分析指令、执行指令等操作在时间上错开重叠的进行,而指令内部的微操作仍然是顺序串行的。 一次重叠:一次重叠:

5、在任何时间都只有在任何时间都只有“执行执行K”与与“分析分析K+1”在时间上重叠。在时间上重叠。 1 2 3 4 n 1 2 3 4 n 时间时间 空间空间 分析指令分析指令 执行指令执行指令 第7页/共58页 采用采用“一次重叠一次重叠”的好处是系统只需要一套指令分析部件和一套指令执行部件,节省了硬件,也简化了指令之间的相关控制。为了使的好处是系统只需要一套指令分析部件和一套指令执行部件,节省了硬件,也简化了指令之间的相关控制。为了使“一次重叠一次重叠”方式的系统能有较高的重叠效率,应使方式的系统能有较高的重叠效率,应使“分析分析”和和“执行执行”的时间尽可能调整成一样的。的时间尽可能调整成

6、一样的。 重叠解释不能加快每条指令的解释速度,但在硬件增加不多的情形下,可以加快相邻两条指令以及整段程序的解释,使系统的性能价格比有显著提高。重叠解释不能加快每条指令的解释速度,但在硬件增加不多的情形下,可以加快相邻两条指令以及整段程序的解释,使系统的性能价格比有显著提高。 第8页/共58页 2、重叠方式对计算机组成的要求、重叠方式对计算机组成的要求 为解决为解决“分析分析K+1”、“执行执行K”在重叠时的访主存冲突,可采用的办法:在重叠时的访主存冲突,可采用的办法: 、分别设置各自独立编址的数据存储器和指令存储器,让存、取操作数和取指令可同时访存、分别设置各自独立编址的数据存储器和指令存储器

7、,让存、取操作数和取指令可同时访存。缺点。缺点:增加了总线控制和软件设计的负担。:增加了总线控制和软件设计的负担。 、让主存用逻辑上统一编址的多分体交叉访问的并行组成方式。、让主存用逻辑上统一编址的多分体交叉访问的并行组成方式。缺点缺点:可能发生分体冲突,而使并行度受到限制:可能发生分体冲突,而使并行度受到限制 、在硬件上,增设有一定容量的指令缓冲器和数据缓冲器,让主存插空将预取的指令存入指令缓冲器,或将要写入的数据暂时存入数据缓冲器中。、在硬件上,增设有一定容量的指令缓冲器和数据缓冲器,让主存插空将预取的指令存入指令缓冲器,或将要写入的数据暂时存入数据缓冲器中。 目前,多采用第二、三种办法的

8、组合。目前,多采用第二、三种办法的组合。 第9页/共58页 3“一次重叠一次重叠”方式的相关控制方式的相关控制 指令相关:指令相关: 下一条指令的内容取决于上一条指令的执行结果。下一条指令的内容取决于上一条指令的执行结果。 条件转移指令与后继指令存在着相关性,会使重叠效率下降。因此,程序中应尽量减少条件转移指令的使用。在需要使用条件转移指令时,可采用条件转移指令与后继指令存在着相关性,会使重叠效率下降。因此,程序中应尽量减少条件转移指令的使用。在需要使用条件转移指令时,可采用“延迟转移延迟转移”的技术,由编译程序生成目标程序时,将条件转移指令与其前面的指令交换位置,可使重叠效率不致下降。的技术

9、,由编译程序生成目标程序时,将条件转移指令与其前面的指令交换位置,可使重叠效率不致下降。 另外因为指令在程序的执行过程中允许被修改(本条指令要等到之前的指令执行完后才能修改形成好)也可能造成指令相关。解决这种指令相关的根本办法是在机器中规定指令在执行过程中不允许修改。但是,为了满足用户编程的灵活性,需要修改指令时,可以设置类似另外因为指令在程序的执行过程中允许被修改(本条指令要等到之前的指令执行完后才能修改形成好)也可能造成指令相关。解决这种指令相关的根本办法是在机器中规定指令在执行过程中不允许修改。但是,为了满足用户编程的灵活性,需要修改指令时,可以设置类似IBM 370 的的“执行执行”指

10、令,将指令相关转成操作数相关,统一按操作数相关来处理。指令,将指令相关转成操作数相关,统一按操作数相关来处理。 第10页/共58页 数相关:数相关: 主存空间的数相关:它是在相邻指令之间出现了对主存同一单元要求在先的指令必须先完成写,在后的指令才能读的主存空间的数相关:它是在相邻指令之间出现了对主存同一单元要求在先的指令必须先完成写,在后的指令才能读的“先写后读先写后读”相关。由于发生主存空间数相关的概率很低,为此可以采取推后后继指令对相关单元的读操作的办法来解决。相关。由于发生主存空间数相关的概率很低,为此可以采取推后后继指令对相关单元的读操作的办法来解决。 通用寄存器组的数相关:通用寄存器

11、组的数相关: 推后后继指令的分析;推后后继指令的分析; 设置设置“相关专用通道相关专用通道” BC 运算器 通用寄存器组 数据总线数据总线 相关专用通路相关专用通路 第11页/共58页 二、流水方式二、流水方式 1、流水是重叠的引申、流水是重叠的引申 “一次重叠一次重叠”是把指令的解释分成两个子过程,让相邻的指令在时间上错开重叠的解释,因此,是把指令的解释分成两个子过程,让相邻的指令在时间上错开重叠的解释,因此,“一次重叠一次重叠”对速度的提高最多也只是顺序方式的两倍。流水则是把指令的解释分成更多个(对速度的提高最多也只是顺序方式的两倍。流水则是把指令的解释分成更多个(m个)子过程,让相邻的个

12、)子过程,让相邻的m条指令的解释在时间上错开重叠。条指令的解释在时间上错开重叠。 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 时间时间 空间空间 取指取指 令令 指令译指令译 码码 取操作数取操作数 指令执行指令执行 第12页/共58页 2、 流水线的分类流水线的分类 部件级流水部件级流水处理机级流水处理机级流水系统级流水系统级流水 部件机流水部件机流水是指部件内的各个子部件之间的流水,如分析部件内部的取址、译码、地址形成和取数之间的流水;浮点加是指部件内的各个子部件之间的流水,如分析部件内部的取址、译码、地址形成和取数之间的流水;浮点加/减法运算器内的求阶差、对阶、尾数加

13、减法运算器内的求阶差、对阶、尾数加/减和尾数规格化之间的流水;减和尾数规格化之间的流水;Cache存储器内查地址映象表进行地址变换与访物理存储器内查地址映象表进行地址变换与访物理Cache之间的流水之间的流水 处理机级流水处理机级流水是指构成处理机的各个部件之间的流水,如取指、分析、执行部件间的流水是指构成处理机的各个部件之间的流水,如取指、分析、执行部件间的流水 系统级流水系统级流水是指处理机之间的流水,如宏流水,在任务、作业一级上的流水是指处理机之间的流水,如宏流水,在任务、作业一级上的流水 第13页/共58页 单功能流水单功能流水多功能流水多功能流水 单功能流水单功能流水是指流水线内各段

14、固定连接,只能完成单一的一种功能是指流水线内各段固定连接,只能完成单一的一种功能 多功能流水多功能流水是指流水线中各个段可以有多种不同的连接,以实现多种不同的功能是指流水线中各个段可以有多种不同的连接,以实现多种不同的功能 在多功能流水线的基础上,静态流水在多功能流水线的基础上,静态流水动态流水动态流水 静态流水静态流水是指在流水线内各个段于同一时间里只能按其中的一种功能流水,只有等各个段全部空闲后,才能切换成按另一种功能的连接来流水,把功能负担加到软件调整上。是指在流水线内各个段于同一时间里只能按其中的一种功能流水,只有等各个段全部空闲后,才能切换成按另一种功能的连接来流水,把功能负担加到软

15、件调整上。 动态流水动态流水是指流水线的各个段可以同时为不同的功能服务,把功能负担加到硬件控制上。是指流水线的各个段可以同时为不同的功能服务,把功能负担加到硬件控制上。 第14页/共58页 1 2 3 AAB AAB AAB 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 AAB 输入输入 减阶减阶 对阶移位对阶移位 相加相加 规格化规格化 相乘相乘 累加累加 输出输出 时间时间 空间空间 第15页/共58页 线性流水线性流水非线性流水非线性流水 线性流水线线性流水线中各个段之间串行的连接,无反馈也无跳跃,每个任务流经流水线中各个段均只有一次。中各个段之间串行的连接,无反馈也无跳跃

16、,每个任务流经流水线中各个段均只有一次。 非线性流水非线性流水是指如果流水线中除有串行联接的通路外,还有某种反馈回路,使一个任务流经流水线时,需多次经过某个段或越过某些段。是指如果流水线中除有串行联接的通路外,还有某种反馈回路,使一个任务流经流水线时,需多次经过某个段或越过某些段。 1234 向量流水机向量流水机标量流水机标量流水机 标量流水机标量流水机则只有流水线,没有向量数据表示,处理向量、数组时需要借用程序的循环和变址则只有流水线,没有向量数据表示,处理向量、数组时需要借用程序的循环和变址 向量流水机向量流水机是向量数据表示和流水线的结合是向量数据表示和流水线的结合 第16页/共58页

17、3、流水线处理机的主要性能、流水线处理机的主要性能 吞吐率吞吐率和和效率效率是反映流水机器性能的主要指标是反映流水机器性能的主要指标 吞吐率吞吐率指的是在单位时间内,流水线机器所能处理的数据、指令或任务的数目指的是在单位时间内,流水线机器所能处理的数据、指令或任务的数目 效率效率是指流水线中设备实际使用时间占整个运行时间之比,也称为流水线设备的时间利用率;是指流水线中设备实际使用时间占整个运行时间之比,也称为流水线设备的时间利用率; 从时从时空图上看,效率实际上就是空图上看,效率实际上就是n个任务占用的时个任务占用的时空区面积和空区面积和m个段总的时个段总的时空区面积之比。空区面积之比。 第1

18、7页/共58页 1234 1234 1234 1234 1234 空间空间 时间时间 1 2 3 4 提高吞吐率的两个措施:提高吞吐率的两个措施: 第18页/共58页 2 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 空间空间 时间时间 1 21 22 23 3 4 1、将瓶颈子过程再细化、将瓶颈子过程再细化 134212223 第19页/共58页 1 2 3 4 1 2 3 4 3 2 14 1 2 3 4 空间空间 时间时间 1 2A 2B 2C 3 4 2、重复设置多套瓶颈段并使之并联、重复设置多套瓶颈段并使之并联 1 3 4 2A 2B

19、 2C 第20页/共58页 实际吞吐率:实际吞吐率: 设一设一 m 段流水线的各段经过时间均为段流水线的各段经过时间均为t 0, 则最大吞吐率则最大吞吐率TPmax是是 1/ t 0 ; 则完成则完成n条指令共需要条指令共需要T = m* t 0 + (n 1)* t 0 则实际吞吐率则实际吞吐率 TP = n / (m* t 0 + (n 1)* t 0 ) = Tpmax / (1 + (m 1) / n) 1 2 3 4n 1 2 3 4n 1 2 3 4n 1 2 3 4n 1 2 3 4 空间空间 时间时间 第21页/共58页 补充:补充: 用用加速比加速比表示流水线方式相对于非流水

20、线顺序串行方式速度提高的比值。表示流水线方式相对于非流水线顺序串行方式速度提高的比值。 非流水线顺序串行方式:非流水线顺序串行方式: n*m* t 0 流水线方式:流水线方式:m* t 0 + (n 1)* t 0 加速比:加速比:Sp = m / 1 + (m -1) / n 结论:如果线性流水线的各段时间相同,仅当结论:如果线性流水线的各段时间相同,仅当 n m 时,即连续流入的任务数时,即连续流入的任务数n远远大于流水线子过程数远远大于流水线子过程数m的时候,其加速比才能趋于最大值,为流水线的段数的时候,其加速比才能趋于最大值,为流水线的段数m。 第22页/共58页 设有两个向量设有两个

21、向量A和和B,各有,各有4个元素,要在如下图所示的静态双功能流水线上,计算向量点积个元素,要在如下图所示的静态双功能流水线上,计算向量点积AB(a1*b1+a2*b2+a3*b3+a4*b4)。)。 其中,其中,1235组成加法流水线,组成加法流水线,145组成乘法流水线。又设每个流水线所经过的时间均为组成乘法流水线。又设每个流水线所经过的时间均为t 0 ,而且流水线的输出结果可以直接返回到输入或暂存于相应的缓冲寄存器中,其延迟时间和功能切换所需的时间都可以忽略不计。请求出流水线从开始流入到结果流出这段时间的实际吞吐率,而且流水线的输出结果可以直接返回到输入或暂存于相应的缓冲寄存器中,其延迟时

22、间和功能切换所需的时间都可以忽略不计。请求出流水线从开始流入到结果流出这段时间的实际吞吐率TP和效率和效率 。 1 235 4 第23页/共58页 1 2 3 4+ + 1 2 3 4 + + + + 1 2 3 4+ + 空间空间 时间时间 1 2 3 4 5 实际吞吐率:实际吞吐率:7/15 加速比:加速比:24 t 0 / 15 t 0 = 1.6 效率:效率: 24 t 0 / 75 t 0 = 0.32 第24页/共58页 取取分析分析E 取取分析分析E 取取分析分析E 取取分析分析E t取指取指+100t分析分析+99maxt取指,取指,t执行执行+t执行执行 取取分析分析E 取取

23、分析分析E 取取分析分析E 取取分析分析E t取指取指+ maxt取指,取指,t分析分析+ 98maxt取指,取指,t分析,分析,t执行执行+maxt分析,分析,t执行执行+t执行执行 取取分析分析E 取取分析分析E 第25页/共58页 空间空间 时间时间 1 2 3 4 1 2 3 4 5 + 1 2 3 4 5 + 1 2 3 4 5 + 1 2 3 4 5 + 【(A1+A2)+(A3+A4)+(A9+A10)】+(A5+A6)+(A7+A8) 第26页/共58页 空间空间 时间时间 1 2 3 4 123456789 123456 789 123456789 A*(B+C*(D+E*F

24、)+G*H = A*B+A*C*D+A*C*E*F+G*H A*C E*F 1*D 1*2 A*B G*H 5+3 4+6 吞吐率:吞吐率:3/8;效率:;效率:3/8; 第27页/共58页 A1*B1+ A2*B2+ A3*B3+ A4*B4+ A5*B5+ A6*B6+ A7*B7+ A8*B8 空间空间 时间时间 + + + + + + + 1 2 3 4 5 6 7 8 空间空间 时间时间 、(、(8+7)*5=75; + + + + + + + 1 2 3 4 5 6 7 8 乘法乘法 加法加法 乘法乘法 加法加法 、(、(2+7)*5=45; 第28页/共58页 乘法乘法 加法加法

25、 14567 14567 14567 14567 14567 18 18 18 18 18 1220 空间空间 时间时间 第29页/共58页 空间空间 时间时间 + + + + + + + + 1234 567 8 12345 678 123456 78 1234567 8 12345678 1+2; 3+4; 5+6; 12+7; 34+8; 56+127; 348+12567 第30页/共58页 4、流水线的任务调度、流水线的任务调度非线性流水线非线性流水线 预约表预约表:二维的预约表其实就是一个任务在流水时的时空图;:二维的预约表其实就是一个任务在流水时的时空图; 延迟禁止表延迟禁止表:

26、将流水线中所有各段对一个任务流过时会争用同一段:将流水线中所有各段对一个任务流过时会争用同一段 的节拍间隔数汇集在一起,就构成一个延迟禁止表;的节拍间隔数汇集在一起,就构成一个延迟禁止表; 初始冲突向量初始冲突向量:由延迟禁止表可转换得到初始冲突向量;冲突向量:由延迟禁止表可转换得到初始冲突向量;冲突向量 中第中第I位的状态用以表示与当时相隔位的状态用以表示与当时相隔 I 拍给流水线送入后继任务是否拍给流水线送入后继任务是否 会发生功能段的使用冲突;如果不会发生冲突,令该位为会发生功能段的使用冲突;如果不会发生冲突,令该位为0,表示允,表示允 许送入,否则,让该位为许送入,否则,让该位为1,表

27、示禁止送入。如果每个任务通过流水,表示禁止送入。如果每个任务通过流水 线需要线需要n拍,则冲突向量取拍,则冲突向量取n 1位。由初始冲突向量可以得到位。由初始冲突向量可以得到状态状态 转移图转移图。 预约表打预约表打 最多的行是流水线的性能瓶颈,其最多的行是流水线的性能瓶颈,其 的个数实际上限定了的个数实际上限定了 流水线可达到的最短平均间隔拍数。流水线可达到的最短平均间隔拍数。 第31页/共58页 123456 123456 12 12 34 3456 56 123456 123 1425 3 6 456 t0t1t2t3t4t5t6t7t8 s1 * s2* * s3* * s4* * s

28、5* * 第32页/共58页 t1t1t2t2t3t3t4t4t5t5t6t6t7t7t8t8t9t9 s1s1 * s2s2 * * s3s3 * * s4s4 * * s5s5 * * 10001101 10101111 10001111 调度方案平均延迟 2,53.5 2,74.5 55 6,55.5 66 6,76.5 77 5,23.5 2 5 7 65 7 5 7 6 由初始状态出发,由初始状态出发, 构成一种间隔拍数构成一种间隔拍数 呈周期性重复的方呈周期性重复的方 案案 10001101 00100011 10001101 00000100 10001101 00000001

29、10001101 00000010 单功能流水线状态图单功能流水线状态图 禁止禁止 向量向量 : 8, 1, 3, 4, 第33页/共58页 第34页/共58页 第35页/共58页 第36页/共58页 5、流水机器的相关、流水机器的相关全局性相关全局性相关和和局部性相关局部性相关 全局性相关全局性相关:转移指令与其后继指令之间的相关:转移指令与其后继指令之间的相关 发生全局性相关时,不仅不能同时解释,还会使指令缓冲器所预取的指令全部作废,重新花较长的时间再去访问主存取出指令;它对流水线性能的下降有着至关重要的影响;发生全局性相关时,不仅不能同时解释,还会使指令缓冲器所预取的指令全部作废,重新花

30、较长的时间再去访问主存取出指令;它对流水线性能的下降有着至关重要的影响; 局部性相关局部性相关:指令相关、主存数相关、通用寄存器组的数相关、基(变)址值相关等;这些相关都只影响到使相关的指令在某些功能段上停留等待一段时间,不会影响到使流水线需要等待,去重新访问主存取指令。这样,它们对流水线的吞吐率和效率的下降的影响是局部的,所以称为局部性相关。:指令相关、主存数相关、通用寄存器组的数相关、基(变)址值相关等;这些相关都只影响到使相关的指令在某些功能段上停留等待一段时间,不会影响到使流水线需要等待,去重新访问主存取指令。这样,它们对流水线的吞吐率和效率的下降的影响是局部的,所以称为局部性相关。

31、第37页/共58页 、流水线全局性相关的处理、流水线全局性相关的处理 猜测法猜测法猜选猜选 I + 1和和 p 中的一个分支继续流入流水线;中的一个分支继续流入流水线; 为了猜错时使猜测流入流水线的那些指令都作废其部分解释,恢复为了猜错时使猜测流入流水线的那些指令都作废其部分解释,恢复 成解释之前的原始现场,我们使用成解释之前的原始现场,我们使用后援寄存器后援寄存器让流入流水线的指让流入流水线的指 令,其所有可能被破坏的原始内容都保存在后援寄存器中,一旦猜令,其所有可能被破坏的原始内容都保存在后援寄存器中,一旦猜 错了,只需很少的时间,用后援寄存器的内容来恢复就可以了。错了,只需很少的时间,用

32、后援寄存器的内容来恢复就可以了。 为了猜错后能尽快转入为了猜错后能尽快转入 p 分支流水,可设置分支流水,可设置转移目标指令缓冲器转移目标指令缓冲器, 以便在猜测流水的同时就预取以便在猜测流水的同时就预取 p、p+1 等指令,并将它们存入转移等指令,并将它们存入转移 目标指令缓冲器中。这样,一旦猜错时,就不必再去访问存储器,目标指令缓冲器中。这样,一旦猜错时,就不必再去访问存储器, 只需直接从转移目标指令缓冲器中取出指令即可,以减少此时流水只需直接从转移目标指令缓冲器中取出指令即可,以减少此时流水 线的空等时间。线的空等时间。 第38页/共58页 加快条件转移时条件码的生成加快条件转移时条件码

33、的生成 包括在单条指令内部条件码的提前形成和在程序段内所用分包括在单条指令内部条件码的提前形成和在程序段内所用分 支条件码的提前形成。提前知道程序将流向哪个分支,就可以减支条件码的提前形成。提前知道程序将流向哪个分支,就可以减 少猜错时,流水线效率的过分下降。也可以采用少猜错时,流水线效率的过分下降。也可以采用“延迟转移延迟转移”技技 术。依靠编译技术,将转移指令与其前面不相关的一条或多条指术。依靠编译技术,将转移指令与其前面不相关的一条或多条指 令对换一下位置,使成功转移总是延迟到这一条或多条指令之后令对换一下位置,使成功转移总是延迟到这一条或多条指令之后 进行,就可以使转移造成的流水线性能

34、的损失降低到最小。进行,就可以使转移造成的流水线性能的损失降低到最小。 加快对短循环程序的处理加快对短循环程序的处理 如果发现是一个短循环程序,就可将整个循环程序中的各条如果发现是一个短循环程序,就可将整个循环程序中的各条 指令一次性全部装入指令缓冲器中,并暂时停止指令的预取操作指令一次性全部装入指令缓冲器中,并暂时停止指令的预取操作 ,以减少不必要的访存次数。同时,让流水线的循环出口恒猜选,以减少不必要的访存次数。同时,让流水线的循环出口恒猜选 循环分支。循环分支。 第39页/共58页 空间空间 时间时间 1 2 3 4 1 2 3 4 5 AB C 1 2 3 4 5 A BC 1 2 3

35、 4 5 A B c 1 2 3 4 5 A B C 第40页/共58页 、流水线局部性相关的处理、流水线局部性相关的处理 由于局部性相关都是因为出现由于局部性相关都是因为出现“先写后读先写后读”引起的,因此,与重叠引起的,因此,与重叠 方式类似,可以采用方式类似,可以采用推后对相关单元的读操作推后对相关单元的读操作和和设置相关专用通路设置相关专用通路 的办法来解决。的办法来解决。 为了使流水线发生局部相关的指令在某个功能段处于停止等待时,为了使流水线发生局部相关的指令在某个功能段处于停止等待时, 后续不相关的指令可以越过它继续向前流动,以保证流水线仍有较后续不相关的指令可以越过它继续向前流动

36、,以保证流水线仍有较 高的吞吐率和效率,可以采用高的吞吐率和效率,可以采用异步流动控制方式异步流动控制方式流入流水线的流入流水线的 指令顺序可以与流入流水线之前的指令顺序不同指令顺序可以与流入流水线之前的指令顺序不同 流水线采用异步流动方式后,会产生流水线采用异步流动方式后,会产生“写写写写”相关和相关和“先读后写先读后写 ”相关。相关。 “写写写写”相关相关:指令之间对同一寄存器或存储单元,要求在先的:指令之间对同一寄存器或存储单元,要求在先的 指令应先写好,在后的指令才能写入的关联。指令应先写好,在后的指令才能写入的关联。 “先读后写先读后写”相关相关:指令之间要求对同一寄存器或存储单元在

37、先的:指令之间要求对同一寄存器或存储单元在先的 指令应先读出,在后的指令才能写入的关联。指令应先读出,在后的指令才能写入的关联。 流水机器处理局部性相关的一种典型的基本结构是流水机器处理局部性相关的一种典型的基本结构是IBM 360/91。 第41页/共58页 空间空间 时间时间 读读 写写1 2 33 4 5 1 2 33 4 5 1 2 33 4 5 1 2 33 4 5 空间空间 时间时间 1 2 3 4 3 5 1 2 3 4 3 5 1 2 3 4 3 5 1 2 3 4 3 5 第42页/共58页 6、流水机器的中断处理、流水机器的中断处理 中断和转移一样,都会使流水线断流。由于发

38、生中断的概率中断和转移一样,都会使流水线断流。由于发生中断的概率 远比发生条件转移的概率低,所以流水机器处理中断的关键不在远比发生条件转移的概率低,所以流水机器处理中断的关键不在 于如何缩短因中断引起流水线断流的时间,而是看如何保存好中于如何缩短因中断引起流水线断流的时间,而是看如何保存好中 断时的断点及中断现场,以便在中断返回后,能使程序从断点处断时的断点及中断现场,以便在中断返回后,能使程序从断点处 恢复正常工作。恢复正常工作。 “不精确断点不精确断点”法法不管第不管第I 条指令在哪一段发出中断请求条指令在哪一段发出中断请求 ,让未流入流水线的指令不再流入,而已进入流水线的指令继续,让未流

39、入流水线的指令不再流入,而已进入流水线的指令继续 流完,然后再转去执行中断处理程序,这种不精确的断点对程序流完,然后再转去执行中断处理程序,这种不精确的断点对程序 的设计和排错很不利。的设计和排错很不利。 IBM 360/91 “精确断点精确断点”法法不论指令不论指令I 是在流水线中的哪一段响应中是在流水线中的哪一段响应中 断,给中断处理程序的现场全都是对应断,给中断处理程序的现场全都是对应I 的,的,I之后流入流水线的指之后流入流水线的指 令的原有现场都能恢复。令的原有现场都能恢复。“精确断点精确断点”法需要设置大量的后援寄法需要设置大量的后援寄 存器,以保证流水线内各条指令的原有现场都能保

40、存和恢复。存器,以保证流水线内各条指令的原有现场都能保存和恢复。 Amdahl 470/V6 第43页/共58页 D=A*(B+C) 三、向量的流水处理和向量处理机三、向量的流水处理和向量处理机 横向(水平)处理方式:逐个求结果向量的各个元素;横向(水平)处理方式:逐个求结果向量的各个元素; 纵向(垂直)处理方式:将两个向量先全部运算完,得到一个中间结果向量后,再用此中间结果向量与其他向量运算。纵向(垂直)处理方式:将两个向量先全部运算完,得到一个中间结果向量后,再用此中间结果向量与其他向量运算。 第44页/共58页 7+N+7+N+8+N=22+3 N 访存取访存取A送入送入V3寄存器组寄存

41、器组 V0(B)+V1(C) 送入送入V2 V2*V3 送入送入V4 第45页/共58页 7+N+8+N=15+2N 访存取访存取A送入送入V3寄存器组寄存器组 V0(B)+V1(C) 送入送入V2 V2*V3 送入送入V4 第46页/共58页 8+8+N=16+N 访存取访存取A送入送入V3寄存器组寄存器组 V0(B)+V1(C) 送入送入V2 V2*V3 送入送入V4 第47页/共58页 在向量处理机上,每条向量指令的内部都是流水的;在向量处理机上,每条向量指令的内部都是流水的; 邻近多条向量指令之间如果既无流水线邻近多条向量指令之间如果既无流水线功能部件的使用冲突功能部件的使用冲突,也无

42、,也无向量寄存器组向量寄存器组Vi的使用冲突的使用冲突,则这些向量指令都可以同时并行流水。,则这些向量指令都可以同时并行流水。 如果相邻的多条向量指令之间无功能部件使用冲突,只有向量寄存器组如果相邻的多条向量指令之间无功能部件使用冲突,只有向量寄存器组Vi的先写后读相关,可以通过的先写后读相关,可以通过链接链接,实现指令之间大部分时间并行流水;,实现指令之间大部分时间并行流水; 链接:将前面指令的结果向量直接链入后续指令所用的流水线,使多个流水线功能部件链接,构成一条大的流水线,从而使处理机有更高的性能。链接:将前面指令的结果向量直接链入后续指令所用的流水线,使多个流水线功能部件链接,构成一条

43、大的流水线,从而使处理机有更高的性能。 如果后续指令的两个源向量寄存器组恰好是先行两条指令的结果寄存器组,只要前面这两条指令能设法调整到同一时钟周期得到一对分量时,可以实现链接。如果两条向量指令的向量长度不等,则不能链接。如果后续指令的两个源向量寄存器组恰好是先行两条指令的结果寄存器组,只要前面这两条指令能设法调整到同一时钟周期得到一对分量时,可以实现链接。如果两条向量指令的向量长度不等,则不能链接。 第48页/共58页 四、指令级高度并行的超级处理机四、指令级高度并行的超级处理机 结构特性结构特性标量标量超标量超标量超流水超流水超长指令字超长指令字 指令发射指令发射每周期每周期1条条每周期每

44、周期m条条每周期每周期1条条*每周期每周期1条条 是否与标量机兼容是否与标量机兼容/是是是是否否 是否要软件支持是否要软件支持/是是否否是(编译系统)是(编译系统) 时钟周期是否与标时钟周期是否与标 量相同量相同 /是是否(小于标量)否(小于标量) 是是 CPI11*1 流水线结构流水线结构一条一条多条多条一条一条一条一条 第49页/共58页 1、超标量超标量(Superscalar)处理机处理机: 采用设置采用设置m条指令流水线同时并行,来实现度为条指令流水线同时并行,来实现度为m的。它是靠编译时,由编译程序来优化编排指令的执行顺序,将可并行的指令搭配成组,硬件不调整所执行指令的顺序,以利于

45、实现。的。它是靠编译时,由编译程序来优化编排指令的执行顺序,将可并行的指令搭配成组,硬件不调整所执行指令的顺序,以利于实现。 2、超流水线超流水线(Superpipelining)处理机处理机: 采用多相的高频时钟。一台度为采用多相的高频时钟。一台度为m的超流水线处理机的时钟只是基本机器周期的的超流水线处理机的时钟只是基本机器周期的1/m。 3、超长指令字超长指令字(VLIW)处理机处理机: 将水平型微码和超标量处理相结合。在编译时,将多个能并行执行的不相关或无关的操作组合在一起,形成一条有多个操作码字段的超长指令字。运行时,直接控制机器中多个相互独立的功能部件并行操作,来实现同时执行多条指令

46、。将水平型微码和超标量处理相结合。在编译时,将多个能并行执行的不相关或无关的操作组合在一起,形成一条有多个操作码字段的超长指令字。运行时,直接控制机器中多个相互独立的功能部件并行操作,来实现同时执行多条指令。 第50页/共58页 123456789101112 123456789101112 123456789101112 取指取指 分析分析 执行执行 常规标量流水处理机常规标量流水处理机 4812 3711 2610 159 4812 3711 2610 159 4812 3711 2610 159 取指取指 分析分析 执行执行 超标量处理机超标量处理机 (m = 4) 第51页/共58页

47、4812 3711 2610 159 4812 3711 2610 1511 4812 3711 2610 159 取指取指 分析分析 执行执行 5.7 5 超流水线处理机超流水线处理机 (m = 4) 第52页/共58页 123 123 123 123 123 123 取指取指 分析分析 执行执行 超长指令字处理机超长指令字处理机 (m = 4) 第53页/共58页 复习指导:复习指导: 第五章第五章 重叠、流水和向量处理机重叠、流水和向量处理机 概述概述:本章着重讲述在计算机组成设计中,如何通过采用重叠和流水等控制方式来提高解释机器语言程序的速度。在此基础上,讲述向量的流水处理方式、向量流

48、水机的结构。结合:本章着重讲述在计算机组成设计中,如何通过采用重叠和流水等控制方式来提高解释机器语言程序的速度。在此基础上,讲述向量的流水处理方式、向量流水机的结构。结合CRAY-1向量流水处理机,介绍通过让向量指令之间并行或链接执行来进一步提高流水机的性能。最后简要介绍在指令级上发展高度并行的超标量处理机、超长指令字处理机和超流水线处理机的工作原理。向量流水处理机,介绍通过让向量指令之间并行或链接执行来进一步提高流水机的性能。最后简要介绍在指令级上发展高度并行的超标量处理机、超长指令字处理机和超流水线处理机的工作原理。 第54页/共58页 基本要求基本要求: 1、领会重叠方式的工作原理、领会

49、重叠方式的工作原理采用重叠工作方式时,对计算机在采用重叠工作方式时,对计算机在 组成设计上的要求;组成设计上的要求;“一次重叠一次重叠”方式的定义及好处;掌握在方式的定义及好处;掌握在“一一 次重叠次重叠”方式工作的机器上,对指令相关、主存操作数相关、通用方式工作的机器上,对指令相关、主存操作数相关、通用 寄存器组的数相关、通用寄存器组的变(基)址值相关等的定义和寄存器组的数相关、通用寄存器组的变(基)址值相关等的定义和 各自的处理办法;领会设置相关专用通路的目的及其适用的场合;各自的处理办法;领会设置相关专用通路的目的及其适用的场合; 在给出指令之间各种微操作时间重叠关系的要求之后,能够熟练地在给出指令之间各种微操作时间重叠关系的要求之后,能够熟练地 计算出连续执行完计算出连续执行完N条指令需要花费的全部时间。条指令需要花费的全部时间。 2、领会流水方式的工作原理、领会流水方式的工作原理了解从不同的角度对流水线的分类了解从不同的角度对流水线的分类 和定义;熟练掌握有关流水线时空图的画法;在给出的流水线上,和定义;熟练掌握有关流水线时空图的画法;在给出的流水线上, 能够计算出流水的最大吞吐率,及具体题目所能达到的实际吞吐率能够计算出流水的最大吞吐率,及具体题目所能达到的实际吞吐率 、效率和加速比;掌握为消除流水线速度性能瓶颈可采用的两种不、效率和加速比;掌握为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论