第5章重叠流水和向量处理机精选PPT.ppt
《第5章重叠流水和向量处理机精选PPT.ppt》由会员分享,可在线阅读,更多相关《第5章重叠流水和向量处理机精选PPT.ppt(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 重叠流水和向量处理机第1页,本讲稿共95页本章重点:本章重点:流水的性能分析及时空图流水的性能分析及时空图,相关处理、流相关处理、流水线调度、向量指令流水的并行与链接。水线调度、向量指令流水的并行与链接。本章难点:本章难点:针对所要求的重叠关系,计算全部指令针对所要求的重叠关系,计算全部指令完成的时间。根据题目要求画出功能静态流完成的时间。根据题目要求画出功能静态流水时空图,计算吞吐率、效率和加速比。单水时空图,计算吞吐率、效率和加速比。单功能非线性流水线的调度。向量指令间的并功能非线性流水线的调度。向量指令间的并行、链接、串行的判断及所需拍数的计算。行、链接、串行的判断及所需拍数的计
2、算。第2页,本讲稿共95页5.1 5.1 重叠方式重叠方式5.1.1 5.1.1 基本思想和一次重叠基本思想和一次重叠一条指令的执行过程可以分为多个阶段,一条指令的执行过程可以分为多个阶段,如:如:1.取指取指2.分析分析3.执行执行可以有多种处理方式:顺序执行、一次重叠、可以有多种处理方式:顺序执行、一次重叠、二次重叠二次重叠。第3页,本讲稿共95页1 1、顺序解释:、顺序解释:各条指令之间顺序串行地进行;每条指各条指令之间顺序串行地进行;每条指令内部的各个微操作也顺序串行地进行。令内部的各个微操作也顺序串行地进行。2 2、解释一条机器指令的微操作可归并成解释一条机器指令的微操作可归并成取指
3、令,分析取指令,分析和执行和执行三个部份三个部份 执行执行n n条指令所用的时间为:条指令所用的时间为:如果每段时间都为如果每段时间都为t t,则执行,则执行n n条指令所用的时间条指令所用的时间为:为:T=3ntT=3nt对一条机器对一条机器指令的解释指令的解释第4页,本讲稿共95页优点:优点:控制简单,节省设备。控制简单,节省设备。缺点:缺点:执行指令的速度慢,功能部件的利用率执行指令的速度慢,功能部件的利用率很低。很低。3 3、指令的重叠:、指令的重叠:是在解释第是在解释第K K条指令的操作完成条指令的操作完成之前,就可开始解释第之前,就可开始解释第K+1K+1条指令。条指令。取指令取指
4、令k 分析分析k 执行执行k 取指令取指令k+1 分析分析k+1 执行执行k+1取指取指k+2 分析分析k+2 执行执行k+2取指取指k+1 分析分析k+1 执行执行k+1取指取指k分析分析k执行执行k重叠解释的一种方式(二次重叠)重叠解释的一种方式(二次重叠)第5页,本讲稿共95页4 4、重叠方式对计算机组成的要求、重叠方式对计算机组成的要求 解决主存冲突问题(在同一时刻同时访问第解决主存冲突问题(在同一时刻同时访问第K K条指令的操条指令的操作数和第作数和第K+1K+1条指令的指令码):条指令的指令码):一是把操作数和指令分别存一是把操作数和指令分别存放在两个独立的存储器;二是采用多体交叉
5、主存系统;三是增放在两个独立的存储器;二是采用多体交叉主存系统;三是增设采用先进先出方式工作的指令缓冲寄存器。设采用先进先出方式工作的指令缓冲寄存器。5 5、一次重叠:、一次重叠:指令分析部件和指令执行部件任何时候只指令分析部件和指令执行部件任何时候只有相邻两条指令在重叠解释的方法。有相邻两条指令在重叠解释的方法。分析分析k执行执行k分析分析k+1分析分析k+2执行执行k+1执行执行k+2一次重叠工作方式一次重叠工作方式第6页,本讲稿共95页“一次重叠一次重叠”解释的优点解释的优点:省硬件省硬件,简化控制简化控制,指令的执行时间缩短指令的执行时间缩短,功能部件的利用率功能部件的利用率明显提高。
6、明显提高。(1 1)为了实现)为了实现“执行执行 k k”与与 “分析分析k+1 k+1”,硬件还应有独,硬件还应有独立立 的指令分析部件和指令执行部件;的指令分析部件和指令执行部件;以增加某些硬件为代价的。以增加某些硬件为代价的。(2 2)要解决因条件转移指令带来的重叠效率下降问题;)要解决因条件转移指令带来的重叠效率下降问题;采取延迟转移技术。采取延迟转移技术。(3 3)要解决)要解决“相关相关”问题。问题。第7页,本讲稿共95页5.1.2 5.1.2 相关处理相关处理1 1、基本概念、基本概念“相关相关”:邻近指令之间出现关联,为了防出错邻近指令之间出现关联,为了防出错 让它们不能同时解
7、释的现象;让它们不能同时解释的现象;“数相关数相关”:邻近两条指令的数据地址有了关联;邻近两条指令的数据地址有了关联;“指令相关指令相关”:采用机器指令可修改的方法在第采用机器指令可修改的方法在第K K条指令执行后才产生第条指令执行后才产生第K+1K+1条指令的现象。条指令的现象。即:即:为了避免出错,第为了避免出错,第k k、第、第k+1k+1条指令就不能同时条指令就不能同时 解释。解释。第8页,本讲稿共95页2 2、指令相关的处理:指令相关的处理:禁止指令修改,还可另设置一条执行禁止指令修改,还可另设置一条执行指令来解决程序设计灵活性。指令来解决程序设计灵活性。3 3、主存空间数相关的处理
8、:主存空间数相关的处理:推后读推后读 。推后读是指若出现相邻两条指令之间出现对主存同一单元推后读是指若出现相邻两条指令之间出现对主存同一单元要求先写后读的关联。要求先写后读的关联。4 4、通用寄存器组相关的处理通用寄存器组相关的处理 通用寄存器组数相关的处理方法:通用寄存器组数相关的处理方法:推后推后“分析分析k+1k+1”和和设置设置“相关专用通路相关专用通路”,前面降低速度为代价,后者增,前面降低速度为代价,后者增加硬件成本为代价。加硬件成本为代价。设置设置“相关专用通路相关专用通路”是指第是指第K K条指令的运算结果直接条指令的运算结果直接通有硬件专用通道回送到寄存器。通有硬件专用通道回
9、送到寄存器。通用寄存器组基址值或变址值相关的处理:通用寄存器组基址值或变址值相关的处理:方法同上方法同上类拟,只不推后分析的推后时间不同及设置类拟,只不推后分析的推后时间不同及设置“相关专用通路相关专用通路”回写是到访存操作数地址形成机构。回写是到访存操作数地址形成机构。第9页,本讲稿共95页5.2 5.2 流水方式流水方式5.2.1 5.2.1 基本概念基本概念1.1.流水是重叠的引申流水是重叠的引申流水流水是重叠的引申:把指令的解释过程分为是重叠的引申:把指令的解释过程分为更多子过程;更多子过程;取指令取指令指令译码指令译码取操作数取操作数入入出出执行执行指令解释的流水处理指令解释的流水处
10、理第10页,本讲稿共95页1时间时间空间空间0t1t2t3t4t52345123451234512345t6t7t8取指令取指令指令译码指令译码取操作数取操作数执行执行流水处理的时空图流水处理的时空图第11页,本讲稿共95页流水的最大吞吐率流水的最大吞吐率:指流水线满负荷每隔:指流水线满负荷每隔tt流出一个结果时所达到的吞吐率;流出一个结果时所达到的吞吐率;流水的最大吞吐率是取决于流水的最大吞吐率是取决于子过程的经过时间子过程的经过时间 tt,tt越小,流水线的最大吞吐率就越高。越小,流水线的最大吞吐率就越高。时钟信号周期不得低于速度最慢子部件的经过时钟信号周期不得低于速度最慢子部件的经过时间
11、与锁存器的存取时间之和;时间与锁存器的存取时间之和;子过程的细分会因锁存器数增多而增大任务或子过程的细分会因锁存器数增多而增大任务或指令流过流水线的时间,这在一定程度上会抵指令流过流水线的时间,这在一定程度上会抵消子过程细分使吞吐率提高的好处。消子过程细分使吞吐率提高的好处。第12页,本讲稿共95页2.2.流水线的分类流水线的分类计算机系统在不同等级上的流水线计算机系统在不同等级上的流水线(处理的级别)(处理的级别)(1 1)流水的向下扩展指的是把子过程进一步细分,让每个子过程经)流水的向下扩展指的是把子过程进一步细分,让每个子过程经过的时间都同等程度地减少,吞吐率就会进一步提高;过的时间都同
12、等程度地减少,吞吐率就会进一步提高;部件级部件级流水线(操作流水线)流水线(操作流水线)。(2 2)流水的向上扩展可理解为在多个处理机之间的流水。)流水的向上扩展可理解为在多个处理机之间的流水。系统级流水是指构成计算机系统的多个处理机之间的流水,系统级流水是指构成计算机系统的多个处理机之间的流水,也称为宏流水。也称为宏流水。处理机级流水线处理机级流水线,又称为指令流水线又称为指令流水线 (Instruction Pipelining)(Instruction Pipelining)。处理处理机机1处理处理机机2处理处理机机n数据集数据集处理机间的流水处理处理机间的流水处理第13页,本讲稿共95
13、页从流水线的功能的多少来分,可分为单功能流从流水线的功能的多少来分,可分为单功能流水线和多功能流水线水线和多功能流水线(流水线具有的功能)(流水线具有的功能)(1 1)单功能流水线只能实现单一功能的流水。)单功能流水线只能实现单一功能的流水。(2 2)多功能流水线指的是同一流水线的各个段)多功能流水线指的是同一流水线的各个段之间可以有多种不同的联接方式以实现多种不之间可以有多种不同的联接方式以实现多种不同的运算或功能。同的运算或功能。第14页,本讲稿共95页输输入入减减阶阶对阶移位对阶移位相相加加规格化规格化相相乘乘累累加加输输出出21543678输输入入减减阶阶对阶移位对阶移位相相加加规格化
14、规格化输输出出21543678输输入入相相乘乘累累加加输输出出21543678(a a)流水线的)流水线的 功能段功能段(b b)浮点加减法运)浮点加减法运 算时的联接算时的联接(c c)定点乘法)定点乘法 时的联接时的联接ASCASC机器运算器的流水线机器运算器的流水线第15页,本讲稿共95页按多功能流水线的各段能否允许同时用于多种按多功能流水线的各段能否允许同时用于多种不同功能联接流水,可把流水线分为静态流水不同功能联接流水,可把流水线分为静态流水线和动态流水线线和动态流水线(1)静态流水线在某一时间内各段只能按一种功能联接)静态流水线在某一时间内各段只能按一种功能联接流水,只有等流水线全
15、部流空后,才能切换成按另一种流水,只有等流水线全部流空后,才能切换成按另一种功能联接流水。功能联接流水。(2)动态流水线的各功能段在同一时间内可按不同运算)动态流水线的各功能段在同一时间内可按不同运算或功能联接。或功能联接。第16页,本讲稿共95页1 1时间时间空间空间0 02 2 3 3 n n1 1 2 2 3 3 n n1 1 2 2 3 3 n n1 1 2 2 3 3 n n1 1 2 2 3 3 n n1 1 2 2 3 3 n n1 1 2 2 3 3 4 4 1 1 2 2 3 3 1 1 2 2 1 1输入输入求阶差求阶差对阶对阶尾数加尾数加规格化规格化尾数乘尾数乘累加累加输
16、出输出静态流水线时空图静态流水线时空图浮点加法浮点加法定点乘法定点乘法第17页,本讲稿共95页1 1时间时间空间空间0 02 2 3 3n n1 1 2 2 3 3n n1 1 2 2 3 3n n1 1 2 2 3 3n n1 1 2 2 3 3n n1 1 2 2 3 3n n输入输入求阶差求阶差对阶对阶尾数加尾数加规格化规格化尾数乘尾数乘累加累加输出输出动态流水线时空图动态流水线时空图1 1 2 2 3 35 54 46 61 1 2 2 3 35 54 41 1 2 2 3 3 4 41 1 2 2 3 3浮点加法浮点加法定点乘法定点乘法第18页,本讲稿共95页以机器所具有的数据表示可
17、以把流水线处理以机器所具有的数据表示可以把流水线处理机分为标量流水机和向量流水机机分为标量流水机和向量流水机(1)标量流水机没有向量数据表示,只能用标)标量流水机没有向量数据表示,只能用标量循环方式来处理向量和数组。量循环方式来处理向量和数组。(2)向量流水机指的是机器有向量数据表示,)向量流水机指的是机器有向量数据表示,设置有向量指令和向量运算硬件,能流水地设置有向量指令和向量运算硬件,能流水地处理向量和数组中的各个元素。处理向量和数组中的各个元素。第19页,本讲稿共95页从流水线中各功能段之间是否有反馈回路,从流水线中各功能段之间是否有反馈回路,可把流水线分为线性流水和非线性流水可把流水线
18、分为线性流水和非线性流水(1)流水线各段串行联接,各段只经过一次,没有反馈回路的,)流水线各段串行联接,各段只经过一次,没有反馈回路的,称为线性流水线。称为线性流水线。每个流水段都流过一次,且仅流过一次。线每个流水段都流过一次,且仅流过一次。线性流水线能够用流水线连接图唯一表示。性流水线能够用流水线连接图唯一表示。(2)流水线除有串行联接的通路,还有反馈回路,使任务流经)流水线除有串行联接的通路,还有反馈回路,使任务流经流水线需多次经过某个段或越过某些段,则称为非线性流水流水线需多次经过某个段或越过某些段,则称为非线性流水线。线。在流水线的某些流水段之间有反馈回路或前馈回路。在流水线的某些流水
19、段之间有反馈回路或前馈回路。S1输入输入S2S3输出输出前馈回路前馈回路反馈回路反馈回路一种简单的非线性流水线一种简单的非线性流水线第20页,本讲稿共95页流水线的其他分类方法流水线的其他分类方法(1 1)按照控制方式:)按照控制方式:同步流水线和同步流水线和 异步流水线。异步流水线。(2 2)顺序流水线与乱序流水线顺序流水线与乱序流水线:乱序流水线又称为无序流水线、错序流乱序流水线又称为无序流水线、错序流水线或异步流水线等。水线或异步流水线等。第21页,本讲稿共95页5.2.2 5.2.2 流水线处理机的主要性能流水线处理机的主要性能 衡量流水线处理机的性能主要使吞吐率衡量流水线处理机的性能
20、主要使吞吐率(Through Put Rate,TPThrough Put Rate,TP)和效率和效率(Efficiency,Efficiency,)和和加速比加速比。1.1.吞吐率吞吐率吞吐率使流水线单位时间里能流出的任务数或结吞吐率使流水线单位时间里能流出的任务数或结果数。果数。求流水线吞吐率的最基本公式:求流水线吞吐率的最基本公式:TPTP=n n/T Tk kn n为任务数为任务数,T Tk k为完成为完成n n个任务所用时间个任务所用时间各段执行时间相等,输入连续任务情况下完成各段执行时间相等,输入连续任务情况下完成n n个个连续任务需要的总时间为:连续任务需要的总时间为:T Tk
21、 k=(=(k k+n n-1)-1)DtDt k k为流水线的段数,为流水线的段数,DtDt为时钟周期为时钟周期第22页,本讲稿共95页1时间时间空间空间S123 n-1 nS2S3S4123 n-1 n123 n-1 n123 n-1 nk t(n-1)tn t(k-1)tT第23页,本讲稿共95页吞吐率:吞吐率:最大吞吐率为:最大吞吐率为:各段执行时间不相等、输入连续任务情况下:各段执行时间不相等、输入连续任务情况下:吞吐率为:吞吐率为:最大吞吐率为:最大吞吐率为:第24页,本讲稿共95页瓶颈子过程瓶颈子过程:流水线中经过时间最长的子过程。:流水线中经过时间最长的子过程。消除瓶颈的两种方
22、法:消除瓶颈的两种方法:细化与并联;细化与并联;最大吞吐率:最大吞吐率:第25页,本讲稿共95页流水线各段执行时间不相等的解决办法流水线各段执行时间不相等的解决办法S1输输入入 t1=tS2 t2=3 tS3 t3=tS4 t4=t输输出出1时间时间空间空间S1S2S3S4S S ti(n-1)t2Tk23n123n123n123n第26页,本讲稿共95页一是将一是将“瓶颈瓶颈”流水段细分流水段细分(如果可分的话如果可分的话):二是将二是将 “瓶颈瓶颈”流水段重复设置(并联):流水段重复设置(并联):S1输入输入输出输出D DtS2-1D DtS2-2D DtS2-3D DtS3D DtS4D
23、 DtS2(3D Dt)S1输入输入输出输出D Dt1=D DtS2-1S2-1S2-1S3S4D Dt3=D DtD Dt4=D DtD Dt2=3D Dt第27页,本讲稿共95页1时间时间空间空间2 3nS1S2-14 5 614-2-1n-225n-136n1 2 3n4 5 6-2-11 2 3n4 5 6-2-1S2-2S2-3S3S4流水段重复设置的流水线流水段重复设置的流水线第28页,本讲稿共95页设一设一m m段流水线各段经过的时间均为段流水线各段经过的时间均为t t0 0,则第则第1 1条指令从流入到流出需要条指令从流入到流出需要T T0 0=m=mt t0 0的流水建立时的
24、流水建立时间,之后每隔间,之后每隔t t0 0就可流出一条指令,这样,完成就可流出一条指令,这样,完成n n个任个任务共需时间务共需时间T=mT=mt t0 0+(n-1)+(n-1)t t0 0,流水线在这段时间里的实际吞流水线在这段时间里的实际吞吐率为:吐率为:TP=n/(TP=n/(m mt t0 0+(n-1)+(n-1)t t0 0)=1/)=1/t t0 0(1+(m-1)/n)1+(m-1)/n)=TPTPmaxmax/(1+(m-1)/n)/(1+(m-1)/n)不仅实际吞吐率总是小于最大吞吐率,而不仅实际吞吐率总是小于最大吞吐率,而且只有当且只有当nmnm时,才能使实际吞吐率
25、接近于最时,才能使实际吞吐率接近于最大吞吐率。大吞吐率。第29页,本讲稿共95页加速比(加速比(SpeedupSpeedup)计算流水线加速比的基本公式:计算流水线加速比的基本公式:S S=顺序执行时间顺序执行时间T T0 0/流水线执行时间流水线执行时间T Tm m (1 1)各段执行时间相等,输入连续任务情况下)各段执行时间相等,输入连续任务情况下加速比为:加速比为:(2 2)最大加速比为:)最大加速比为:(3 3)各段执行时间不等,输入连续任务情况下实际加速比为:各段执行时间不等,输入连续任务情况下实际加速比为:第30页,本讲稿共95页如果线性流水线每段经过的时间如果线性流水线每段经过的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 重叠流水和向量处理机精选PPT 重叠 流水 向量 处理机 精选 PPT
限制150内