重叠流水和向量流水处理机计算机软件及应用it计算机专业资料.pptx
《重叠流水和向量流水处理机计算机软件及应用it计算机专业资料.pptx》由会员分享,可在线阅读,更多相关《重叠流水和向量流水处理机计算机软件及应用it计算机专业资料.pptx(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.1 重叠方式重叠方式 重叠原理和一次重叠重叠原理和一次重叠 图图 5.1 对一条机器指令的解释对一条机器指令的解释 取指令分析执行。t t一、顺序解释一、顺序解释(sequence):一条指令执行完再取下一条指令。):一条指令执行完再取下一条指令。若各阶段执行时间相等,则共需若各阶段执行时间相等,则共需3 n t t 优点:优点:控制简单,节省设备;控制简单,节省设备;缺点:缺点:速度慢,机器各部件的利用率很低。速度慢,机器各部件的利用率很低。取k k分析k k执行k k取k+1k+1分析k+1k+1执行k+1k+1指令的解释方式一般分为顺序、重叠、流水三种。设指令工作方式分成取指令、分析
2、、执行指令阶段第1页/共120页执行n条指令需:T=(1+2n)t;优点:指令执行时间缩短了近1/2;功能部件的利用率也有所提高;缺点:需要增加一些部件,控制也要复杂些;取k分析k执行k分析k+1取k+1执行k+1取k+2分析k+2执行k+2二、重叠(Overlap):在两条相近指令的解释过程中,某些不同解释阶段在时间上存在重叠部分。1.上一条指令的执行阶段与下一条指令的取指阶段完全重叠;取k分析k执行k分析k+1取k+1执行k+1取k+2分析k+2执行k+22.将相邻两条指令的重叠时间再往前提前一个阶段;第2页/共120页执行执行n n条指令需要:条指令需要:T=T=(2+n2+n)t t指
3、令的执行时间缩短了近指令的执行时间缩短了近2/32/3,是一种比较理想的指令执行方式;,是一种比较理想的指令执行方式;这这种种执执行行方方式式存存在在着着访访存存冲冲突突,要要解解决决访访主主存存的的冲冲突突问问题题,通通常常采采用用以以下下几种方式:几种方式:(1 1)主主存存分分成成两两个个独独立立编编址址的的存存储储器器,一一个个专专门门存存放放指指令令,一一个个专专门门存存放放操操作数;作数;(2 2)指指令令和和数数据据仍仍然然混混存存在在一一个个存存储储器器中中,采采用用多多体体交交叉叉主主存存结结构构,不不能能根根本解决本解决;(3(3)采用先行控制技术,增设采用先进先出方式工作
4、的指令缓冲寄存器)采用先行控制技术,增设采用先进先出方式工作的指令缓冲寄存器。第3页/共120页3 3 一次重叠:一次重叠:把取指令操作隐含在分析、执行指令过程中,则把取指令操作隐含在分析、执行指令过程中,则在任何时候只允许上条指令在任何时候只允许上条指令“执行执行”与下条指令与下条指令“分析分析”相重叠。相重叠。分析k执行k执行k+1分析k+1连续执行连续执行n n条指令所需时间为:条指令所需时间为:T=T=(1+n1+n)t t;实际达到这个速度是很难得,存在几个问题:实际达到这个速度是很难得,存在几个问题:(1 1)各种类型的指令)各种类型的指令“分析分析”与与“执行执行”所需时间差别很
5、大;所需时间差别很大;从而导致相互等待。从而导致相互等待。(2 2)当出现转移指令或转移子程序指令时,程序的执行过)当出现转移指令或转移子程序指令时,程序的执行过程就不是顺序的了,那么指缓中的内容以及已经分析完的程就不是顺序的了,那么指缓中的内容以及已经分析完的下一条指令都将作废;下一条指令都将作废;(3 3)数据相关以及控制相关;)数据相关以及控制相关;第4页/共120页三、先行控制三、先行控制 使分析和执行部件分别连续不断地运行,使部件空闲状态减使分析和执行部件分别连续不断地运行,使部件空闲状态减至最低。至最低。(a)重叠方式分析k+1分析k执行k执行k+1分析k+2执行k+2分析部件空闲
6、执行部件空闲分析k+1分析k执行k分析k+2(b)先行控制执行k+1执行k+21.1.工作原理工作原理第5页/共120页 结果:结果:解决了分析与执行时间不等长问题。解决了分析与执行时间不等长问题。与重叠区别:与重叠区别:分析和执行部件可同时处理两条不相分析和执行部件可同时处理两条不相邻指令。邻指令。2.2.硬件要求硬件要求 增设指令缓冲栈,消除取指过程;增设指令缓冲栈,消除取指过程;增设数据缓冲栈,保证不同指令的读、写操作并行;增设数据缓冲栈,保证不同指令的读、写操作并行;增设先行操作栈,保证执行部件能连续执行。增设先行操作栈,保证执行部件能连续执行。第6页/共120页 硬件结构:硬件结构:
7、主主 存存存存 控控指令分析器指令分析器 指令缓冲指令缓冲栈栈读数据缓冲读数据缓冲区区执行执行部件部件先行操作栈先行操作栈数据缓冲栈数据缓冲栈写数据缓冲写数据缓冲区区第7页/共120页相关处理相关处理 1.转移指令的处理转移指令的处理 采用延迟转移技术,将转移指令与条件转移无关的第采用延迟转移技术,将转移指令与条件转移无关的第k-1条指条指令交换一下位置,即使转移成功也不会使重叠效率下降。令交换一下位置,即使转移成功也不会使重叠效率下降。2.指令相关的处理指令相关的处理 “执行执行”指令是指令是IBM 370机器为此设置的一条指令,其形式为机器为此设置的一条指令,其形式为 执行R1X2B2D2
8、当当执执行行到到“执执行行”指指令令时时,按按第第二二操操作作数数(X2)+(B2)+D2地地址址取出操作数区中单元的内容作为指令来执行,参见图取出操作数区中单元的内容作为指令来执行,参见图5.5。第8页/共120页图图 5.5 IBM 370“执行执行”指令的执行指令的执行 第9页/共120页3.主存空间数相关的处理主存空间数相关的处理 图图 5.6 主存空间数相关的处理主存空间数相关的处理 第10页/共120页4.通用寄存器组相关的处理通用寄存器组相关的处理设机器的基本指令格式为设机器的基本指令格式为 操作码L3L1B2d2或 操作码L3L1L2第11页/共120页图图 5.7 指令解释过
9、程中与通用寄存器内容有关的微操作时间关系指令解释过程中与通用寄存器内容有关的微操作时间关系第12页/共120页图图 5.8 “执行执行k”、“分析分析k+1”重叠时,访问通用寄存器组的时间关系重叠时,访问通用寄存器组的时间关系(1)通用寄存器组数相关处理)通用寄存器组数相关处理第13页/共120页图图 5.9 用相关用相关专用通路解决专用通路解决通用寄存器组通用寄存器组的数相关的数相关 处理方法:处理方法:a.推后下一条指令的分析。推后下一条指令的分析。b.设置相关专用通路设置相关专用通路第14页/共120页(2)通用寄存器组基址值和变址值相关的处理)通用寄存器组基址值和变址值相关的处理图图
10、5.10 B一次相关与二次相关一次相关与二次相关 第15页/共120页图图 5.11 B一次、一次、二次相关的推后处理二次相关的推后处理 处理方法:处理方法:a.推后分析推后分析第16页/共120页图图 5.12 B相关专用通路法相关专用通路法 b.设置相关专用通路设置相关专用通路第17页/共120页5.2 流流 水水 方方 式式 基本概念基本概念 1.1.工作原理(重叠的进一步延伸)一种典型的指令流水线 流水线中每一个子过程还可以再进一步分解成更小的子过程将浮点加法器分解为求阶差、对阶、尾数加和规格化4个子过程。图5.13一种典型的指令流水线图5.14浮点数加法器流水线第18页/共120页流
11、水线工作方式:指令一条接着一条从输入端流入,经过各个子过程后从输出端流出。时空图:描述流水线工作过程的二维坐标。对应图5.13所示的流水线的时空图如图5.15所示。图5.15对应图5.13流水线的时空图m t(n-1)t1 1)时空图第19页/共120页图5.16是对应5.14浮点数加法器流水线的时空图图5.16浮点数加法器流水线的时空图从横坐标方向看,流水线中的各个功能部件在逐个连续地完成自己的任务。从纵坐标方向看,在同一个时间段内有多个流水段在同时工作,执行不同的任务。第20页/共120页(2)流水线特点)流水线特点:1)流水一定重叠,比重叠更苛刻。)流水一定重叠,比重叠更苛刻。2)一条流
12、水线通常有多个流水段组成。)一条流水线通常有多个流水段组成。3)每段有专用功能部件,各部件顺序连接,不断)每段有专用功能部件,各部件顺序连接,不断流。流。4)流水线有建立时间、满载时间、排空时间。)流水线有建立时间、满载时间、排空时间。5)各段时间尽量短、一致;不一致时最慢子过程)各段时间尽量短、一致;不一致时最慢子过程为瓶颈。为瓶颈。6)给出指标如最大吞吐率,为满负载最佳指标。)给出指标如最大吞吐率,为满负载最佳指标。第21页/共120页2 流水线分类分级:(处理的级别分类)分级:(处理的级别分类)部件级:指部件内各子部件间的流水,将复杂的部件级:指部件内各子部件间的流水,将复杂的算逻运算组
13、成流水工作方式;算逻运算组成流水工作方式;处理机级:指构成处理机的各部件之间的流水,处理机级:指构成处理机的各部件之间的流水,如取指、分析、执行部件间的流水如取指、分析、执行部件间的流水 ;系统(处理机间)级:构成计算机系统的每个处系统(处理机间)级:构成计算机系统的每个处理机完成某一专门任务,各个处理机所得到的结果理机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中需存放在与下一个处理机所共享的存储器中 。按流水具有的功能多少:按流水具有的功能多少:A.A.单单功功能能流流水水线线:指指流流水水线线内内各各段段固固定定连连接接,同同一一时间内只能完成单一的一种功
14、能。时间内只能完成单一的一种功能。第22页/共120页TI-ASC运算器流水线(多功能)运算器流水线(多功能)输入输入减阶减阶对阶移位对阶移位相加相加规格化规格化相乘相乘累加累加输出输出12345678输入输入减阶减阶对阶移位对阶移位相加相加规格化规格化输出输出123458浮加、减浮加、减输入输入相乘相乘累加累加输出输出1678定乘定乘 B.B.多功能流水线:流水线中各段可以有多种不同的连接方式,以实现多种不同的运算和功能;第23页/共120页按工作方式分为:A.A.静态流水线:在某一时间内各段只能按一种功能连接流水,只有等流水线全部流空后,才能切换为另一种功能;B.B.动态流水线:各个段可以
15、同时为不同的功能服务,也就是说各功能段在同一时间内可以按不同运算或功能连接;第24页/共120页浮加排空完,再进行定乘浮加未排空完,已输入定乘。为什么?产生冲突产生冲突第25页/共120页按流水线中各功能段是否有反馈回路,分为:A.A.线性流水线:各段串行联接,没有反馈回路,各个段只经过一次;B.B.非线性流水线:除有串行联接通路外,还有某种反馈回路,需多次经过某个段或越过某个段;按机器所具有的数据表示分为:标量流水机和向量流水机1234+出出入入非线性流水线非线性流水线+特点:动态流水线必是多功能流水线;单功能流水线必是静态流水线第26页/共120页 一、吞吐率、加速比和效率。一、吞吐率、加
16、速比和效率。流水线处理机的主要性能流水线处理机的主要性能 1.1.吞吐率(吞吐率(Thoughput rateThoughput rate,TPTP)指在单位时间内流水线完成的任务数或输出的结果数。其中:n表示任务数,Tk表示完成n个任务所用的时间第27页/共120页(1)各段时间均相等的流水线各段时间均相等的流水线时空图 S1 S2 S3 S4tttt时间4t(n-1)t完成n个任务n个任务所需要的时间第28页/共120页流水线完成n个连续任务所需要的总时间为(假设一条k k段线性流水线)TkTkk kt t(n n-1)-1)t t(k kn n-1)-1)t t 流水线的实际吞吐率最大吞
17、吐率TP=n(k+n-1)tTPmax=n(k+n-1)tlimn=1t第29页/共120页最大吞吐率与实际吞吐率的关系流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流水线的段数k k以及输入到流水线中的任务数n n等有关。只有当n nk k时,才有TPTPTPTPmaxmax。第30页/共120页流水线中各个段的执行时间不完全相等,流水线出现“瓶颈”部件。时空图(a)各段执行时间不相等的流水线(b)各段执行时间不相等的时空图图5.17各段流水线不相等的流水线和时空图第31页/共120页流水线各段执行时间不相等的情况下的实际吞吐率为:流水线各段执行时间不相等的情况下的最大吞
18、吐率为:对于图5.17所示的例子,流水线的最大吞吐率为:第32页/共120页解决流水线“瓶颈”问题有两种方法:一种方法:将流水线的“瓶颈”部分再细分(a)瓶颈功能段细分的流水线连接图(b)瓶颈功能段细分的时空图图5.18瓶颈功能部件细分的流水线和时空图流水线的最大吞吐率为:第33页/共120页另一种方法:将流水线的“瓶颈”子部件设置多套并联(a)重置瓶颈功能部件的流水线(b)重置瓶颈功能部件的时空图 图5.19重置瓶颈段的流水线和时空图流水线的最大吞吐率为:第34页/共120页2.2.加速比加速比 指流水线加速比是指完成一批任务时,不采用流水线所用的时间与采用流水线所用的时间之比 其中:用T0
19、表示采用顺序方式下的执行时间;用T表示采用流水线的执行时间;用S表示流水线的加速比第35页/共120页(1)各个功能段执行时间均相等的k段流水线上完成n个连续任务的实际加速比为:在k个功能段相等的流水线中,最大加速比为:第36页/共120页(2)如果流水线上各个功能段的执行时间不相等,则流水线的加速比为:计算图5.17、图5.18所示的流水线的加速比?第37页/共120页3.3.效率效率 指流水线的设备利用率。其中:kTK:表示k段流水线完成n个任务的总的时空区;T0:表示流水线完成n个任务所使用的总时间;E:表示k段流水线的效率;即:在时空图上,流水线的效率为n个任务占用的时空区与k个功能段
20、总的时空区之比。第38页/共120页(1)在流水线的各功能段执行时间相等连续输入n个任务的情况下,一条k段流水线的效率为:流水线的最高效率为:流水线效率与吞吐率的关系式:E=TPt 流水线效率与加速比的关系式:第39页/共120页(2)流水线的各段执行时间不相等连续执行n个任务时的流水线效率为:计算图5.17(b)的时空图所示,整个流水线的效率E?在图5.18和图5.19中分别采用的细分瓶颈功能部件和重置瓶颈功能部件的效率?第40页/共120页二二.标量流水线的性能举例标量流水线的性能举例【例5.1】采用前面图5.14所示的4段浮点数加法器流水线计算下面式子的8个浮点数的和,画出流水线的时空图
21、,并求出流水线吞吐率、加速比和效率。Z=A+B+C+D+E+F+G+H解:Z=(A+B)+(C+D)+(E+F)+(G+H)按照数学计算顺序的方法从左到右一个一个计算上式,先计算(A+B),其结果出来后再开始计算(A+B)与C的加法,依次类推。第41页/共120页第42页/共120页流水线的实际吞吐率TP为:流水线的加速比Sp为:流水线的效率E为:第43页/共120页【例5.2】设向量A和B各有4个元素,图5.20为静态双功能的流水线连接图,其中,1235组成加法流水线,145组成乘法流水线,设每个流水线所经过的时间均为t,则计算向量点积画出完成上面运算流水线的时空图,并求出静态双功能流水线的
22、实际吞吐率、加速比和效率。按照数学运算优先级顺序进行(a1b1)+(a2b2)+(a3b3)+(a4b4)的运算,分别用任务1到7表示。解:加加14325乘乘图5.20第44页/共120页第45页/共120页流水线的实际吞吐率TP为:流水线的加速比Sp为:流水线的效率E为:第46页/共120页【例5.3】假设图5.20表示的双功能流水线为动态双功能流水线,则重新计算向量点积要求画出完成上面运算流水线的时空图,并求出动态双功能流水线的实际吞吐率、加速比和效率。解:动态多功能流水线在不发生功能部件冲突前提下,同一时间可以按不同运算进行不同功能的连接。因此,只要任务1、任务2、任务3和任务4的结果输
23、出,任务5和任务6就可以输入流水线。下图为在动态流水线下执行向量点积的时空图。第47页/共120页图6-17动态双功能流水线的时空图第48页/共120页流水线的实际吞吐率TP为:流水线的加速比Sp为:流水线的效率E为:第49页/共120页课堂练习有一个乘、加双功能的静态流水线,“乘”由1236完成,“加”由1456完成,各段如下图所示。若要计算:AB=(a1+b1)(a2+b2)(a3+b3)问:(1)完成全部运算所需时间是多少?画时空图计算此流水线的使用效率和吞吐率。(2)与顺序运算方式相比,加速比是多少?1234562t2t2t2ttt第50页/共120页一、局部性相关处理一、局部性相关处
24、理(1 1)资源冲突(相关)资源冲突(相关)原因:原因:许多指令争抢同一功能部件。如访存许多指令争抢同一功能部件。如访存流水机器的相关处理和控制机构流水机器的相关处理和控制机构 1 1、各种局部性相关的处理包括资源或结构相关、指令相关、数据相关。两条指令同时访存造成资源相关两条指令同时访存造成资源相关MEMEXIDIF指令i+4WBMEMEXIDIF指令i+3WBMEMEXIDIF指令i+2WBMEMEXIDIF指令i+1WBMEMEXIDIFLoad指令87654321时钟指令冲突冲突取指取指 译码译码 执行执行 访存访存 写回写回例:例:第51页/共120页 解决方法:解决方法:a.时间方
25、法时间方法-后续指令冲突部件推后一拍执行;后续指令冲突部件推后一拍执行;b.b.空间方法空间方法-重复设置资源。重复设置资源。EXIDIF指令i+4MEMEXIDIF停顿指令i+3WBMEMEXIDIF指令i+2WBMEMEXIDIF指令i+1WBMEMEXIDIFLoad指令87654321时钟指令9WBMEM使使i+3指令停顿一拍进入流水线,以解决访存相关指令停顿一拍进入流水线,以解决访存相关或重复设置一个存储器或重复设置一个存储器第52页/共120页(2 2)指令相关)指令相关 原因:原因:由指令可修改引起。由指令可修改引起。解决方案:解决方案:a.a.禁止方法禁止方法-指令不允许修改;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重叠 流水 向量 处理机 计算机软件 应用 it 计算机专业 资料
限制150内