




已阅读5页,还剩122页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第三章流水线技术,3.1流水线的基本概念3.2流水线的时空图及性能分析3.3流水线的相关3.4MIPSR4000流水线计算机3.5向量处理机,2,3.1流水线的基本概念,一指令的重叠执行1.一条指令执行的几个过程段1)取指令:根据PC(指令计数器)从M(存储器)取出指令送到IR(指令寄存器)2)译码分析:译出指令的操作性质,准备好所需数据3)执行:将准备好的数按译出性质进行处理,主要涉及ALU(算术逻辑运算部件),3.1.1有关基本概念,3,2.对指令执行的几种方式1)顺序执行(传统机采用)只有在前一条指令的各过程段全部完成后,才从存储器取出下一条指令,取,译,执,取,译,执,i,条,i,+1,条,4,2)仅两条指令重叠:第i条指令的执行与第i+1条的取指重叠。3)三条指令重叠:第i条指令的执行与第i+1条的译码及第i+2条的取指重叠。,5,若一条指令的过程段划分更多时,重叠组合方式更多。重叠解释并不能加快一条指令的实现,但能加快一段程序的解释。3.重叠方式中所需时间表达式及所需时间计算1)条件:设一条指令分为三个过程段,各过程段分别用t取、t译、t执表示。执行n条指令,分别采用顺序执行、两条重叠、三条重叠。,2)分别列出上述三种执行方式所需时间表达式顺序执行n*(t取+t译+t执)两条重叠t取+n*t译+(n-1)*max(t取,t执)+t执三条重叠t取+max(t译,t取)+(n-2)*max(t取,t译,t执)+max(t执,t译)+t执,6,3)例子当n=200,t取=3t,t译=4t,t执=5t,时,分别计算上述三种执行方式的时间。顺序执行:200(3+4+5)=2400t两条重叠:3+2004+(200-1)5+5=1803t三条重叠:3+4+(200-2)5+5+5=1007t,7,重叠方式需要解决的问题1)对存储器的频繁访问有哪些访问:取指令、取操作数、存放执行结果,I/O通道访问.希望存储器为多体结构,以适应多种访问源的需要。当存储器为单体结构时,需要将访问源排队,先后顺序为:取指令、取数据、I/O通道访问、存结果,2)应具有先行控制部件先行:在重叠操作中,当前一条指令在执行过程中就需要提前取出后面的指令进行相应处理,这种提前取出后继指令进行相应处理,称为先行。,8,2)先行控制部件的主要内容)先行地址站,包括先行指令地址站和先行操作数地址站;)先行指令站,用来存放多条指令;)先行操作数站,用来存放多个操作数;)先行地址形成部件,用来形成先行指令地址以及先行操作数地址;)先行操作数译码站,用来完成对多条指令的译码并保留译码输出状态。,9,3)也应具有后行部件后行部件:对指令执行后的结果进行处理的器件,称后行部件。包括:后行数地址站,提供后行数存放地址。后行数站,存放运行的结果,并且,这些结果需送存储器。,10,11,二、从重叠到流水,1、工业生产流水线下面通过一个例子来说明流水线的好处:两种方案两种方案的工作过程对比流水线生产过程的抽象描述这种流水工作方式的主要特点,12,洗衣店的例子,A,B,C,D,均有一些衣物要清洗,甩干,折叠,清洗要花30分钟,甩干要用30分钟,叠衣物也需要30分钟,还要花费30分钟的时间,将衣物放在衣柜里,A,B,C,D,13,顺序操作,洗4个人的衣物,顺序操作需要8个小时,如果使用流水线作业,将需要多少时间呢?,30,任,务,顺,序,时间,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,6下午,7,8,9,10,11,12,1,2上午,14,流水线作业,流水线作业洗4个人的衣物只需要3.5个小时!,任,务,顺,序,12,2上午,6下午,7,8,9,10,11,1,时间,15,流水线,流水线无法帮助解决单个任务,的延迟,有利于减少整个工作,全部时间,多个任务同时操作需要不同的资源,流水线的速率受速度最慢,的流水段的限制,流水线各段长度不均会降低加速比,6下午,7,8,9,时间,任,务,顺,序,16,2、流水线技术把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现。把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。3、流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。,17,4、指令流水线把指令的解释过程分解为分析和执行两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。理想情况:速度提高一倍4段指令流水线,18,5、浮点加法流水线把流水线技术应用于运算的执行过程,就形成了运算操作流水线,也称为部件级流水线。把浮点加法的全过程分解为求阶差、对阶、尾数相加、规格化4个子过程。理想情况:速度提高3倍,19,3.1.2流水线的分类,流水线可按不同的观点进行分类,一般来说流水线可以分为以下几个类型。,1、按各过程段用时是否相等分类流水线按各过程段用时是否相等可分为均匀流水线和非均匀流水线两种。,1)均匀流水线指的是各过程段用时全相等的流水线,2)非均匀流水线指的是各过程段用时不全相等的流水线,20,2、按处理的数据类型,1)标量流水线:用于对标量数据进行流水处理。2)向量流水线:用于对向量数据进行流水处理。(向量很适合流水处理),按处理的数据类型可分为标量流水处理机和向量流水处理机两种。,21,3.按流水线的规模按流水线的规模可分为操作流水线、指令流水线和宏流水线。,1)操作流水线是把处理机的算术逻辑部件分段,使得各种数据类型的操作能够进行流水,规模最小。,2)指令流水线则是把解释指令的过程按照流水方式处理。,3)宏流水线它是指由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。,22,4.按功能分类按流水线完成的功能是否单一,流水线可分为单功能流水线与多功能流水线两种。,1)单功能流水线:只能完成一种固定功能的流水线。2)多功能流水线:流水线的各段可以进行不同的连接,以实现不同的功能。例:ASC的多功能流水线,23,24,5.按工作方式分类流水线按工作方式可分为静态流水线和动态流水线两种。,1)静态流水线:在同一时间内,多功能流水线中的各段只能按同一种功能的连接方式工作。对于静态流水线来说,只有当输入的是一串相同的运算任务时,流水的效率才能得到充分的发挥。例如:ASC的8段流水线,25,2)动态流水线:在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。优点灵活,能够提高流水线各段的使用率,从而提高处理速度。缺点控制复杂。,26,静、动态流水线时空图对比,27,6.按连接方式分类按照流水线的各个功能段之间是否有反馈信号,可将流水线分为线性流水线和非线性流水线。,1)线性流水线:流水线的各段串行连接,没有反馈回路。数据通过流水线中的各段时,每一个段最多只流过一次。2)非线性流水线:流水线中除了有串行的连接外,还有反馈回路,28,29,例:在一个5段流水线上9拍完成一个任务,其预约表为:分别写出延迟禁止表F和冲突向量C。并请给出一种可行的调度方案。,30,7.其他分类除上述几种外,流水线分类还有下述几种。,1)根据控制方式分成顺序流水线和乱序流水线。,2)在线性流水线中,根据控制方式还可以分成同步流水线和异步流水线。,31,3.1.3流水线的特点,1.流水线处理的必须是连续任务,只有连续不断的任务才能充分发挥流水线的效率。2.流水线依靠多个功能部件并行工作来缩短程序的执行时间,实际上是把一个大的功能部件分解为多个子过程,如前述将浮点数加法器分解为4个子过程。3.流水线中的每一功能部件后面都要有一个缓冲寄存器,即所谓的锁存器,以便平滑各个功能段延时时间的不一致。4.流水线中各段时间应尽量相等,避免段延时过长引起的相互等待。5.流水线需要有“装入时间”和“排空时间”。,32,3.2流水线的时空图及性能分析,一、时空图时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。4段指令流水线的时空图,3.2.1流水线的时空图,33,3.2.2流水线的性能分析,吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。,一、吞吐率,n:任务数Tk:处理完成n个任务所用的时间,34,1、各段时间均相等的流水线各段时间均相等的流水线时空图,35,流水线完成n个连续任务所需要的总时间为(假设一条k段线性流水线)Tkkt(n-1)t(kn-1)t流水线的实际吞吐率,最大吞吐率,36,最大吞吐率与实际吞吐率的关系,流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流水线的段数k以及输入到流水线中的任务数n等有关。只有当nk时,才有TPTPmax。,37,2、各段时间不完全相等的流水线各段时间不等的流水线及其时空图举例(时空图)一条4段的流水线S1,S3,S4各段的时间:tS2的时间:3t(瓶颈段)流水线中这种时间最长的段称为流水线的瓶颈段。,38,39,各段时间不等的流水线的实际吞吐率:(ti为第i段的时间,共有k个段),流水线的最大吞吐率为,40,3、解决流水线瓶颈问题的常用方法1)细分瓶颈段例如:对前面的4段流水线把瓶颈段S3细分为3个子流水线段:S3a,S3b,S3c,改进后的流水线的吞吐率:,41,2)重复设置瓶颈段缺点:控制逻辑比较复杂,所需的硬件增加了。例如:对前面的4段流水线重复设置瓶颈段S3:S3a,S3b,S3c,42,重复设置瓶颈段后的时空图,43,二、加速比,流水线的加速比(Speedup,S)完成某个任务顺序执行所用时间与流水线执行所用时间之比。,假设:不使用流水线(即顺序执行)所用的间为Ts,使用流水线后所用的时间为Tk,则该流水线的加速比为,44,1、流水线各段时间相等(都是t)一条k段流水线完成n个连续任务所需要的时间为Tk=(kn-1)t顺序执行n个任务所需要的时间:Ts=nkt流水线的实际加速比为,45,最大加速比,当nk时,Sk思考:流水线的段数愈多愈好?,46,2、流水线的各段时间不完全相等时一条k段流水线完成n个连续任务的实际加速比为,47,三、效率,流水线效率(Efficiency,E)是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个功能段总的时空区之比,因此流水线的效率包含时间和空间两个方面的因素。,实际上,n个任务占用的时空区就是顺序执行n个任务的总的时间T0;而用一条k段流水线完成n个任务的总的时空区为K*Tk,其中Tk是流水线完成n个任务所使用的总时间,则一条k段流水线的效率为:,48,举例计算:S=a0+a1+a2+a3+a4+a5+a6+a7对相关算式要合理分解算式尽量分解为少相关算式:S0=a0+a1S4=S0+S1S1=a2+a3S5=S2+S3S2=a4+a5S6=S4+S5S3=a6+a7,49,吞吐率:TP=7/18(1/t)效率:E=(作用区域面积)/(完成运算所需时间矩形面积)=(7*5t)/(18t*5)=7/18,50,3.3流水线中的相关,3.3.1什么是流水线相关,如果要执行算式S=a/b+c,要通过下列四条指令来执行。LDR,ADIVR,BADDR,C;要等DIV结果STR,S;存结果,第3条指令ADDR,C执行的前提是第2条指令执行完毕、有了结果以后才能执行。换句话说,只有第2条指令没有执行完毕,结果没有出来,第3条指令就无法执行下去,这就出现了指令因等待前面结果,使后面没指令无法继续下去的现象,即相关。,51,流水线中的相关主要分为以下3种类型,1.结构相关,2.数据相关,3.控制相关,52,3.3.2流水线中的结构相关(资源相关),如果某些指令组合在流水线中重叠执行时产生了资源冲突,那么我们称该流水线有结构相关。,由于访问同一个存储器而引起的结构冲突,53,对于这种冲突,通常有以下两种解决方法,解决办法(1):插入暂停周期,即让流水线在完成前一条指令对数据的存储器访问时,暂停取后一条指令的操作,为消除结构冲突而插入的流水线气泡,54,引入暂停后的时空图,55,解决方法(2):设置相互独立的指令存储器和数据存储器或设置相互独立的指令Cache和数据Cache,56,3.3.3流水线中的数据相关,如果下面的条件之一成立,则指令j与指令i数据相关:(1)指令j使用指令i产生的结果(2)指令j与指令k数据相关,指令k与指令i数据相关,则指令j与指令i数据相关。,第2个条件指出,如果两条指令之间存在类似上述的相关链,则它们之间也是相关的。这条相关链甚至可以贯穿整个程序。,57,例如:下面这一段代码存在数据相关。,Loop:L.DF0,0(R1)/F0为数组元素ADD.DF4,F0,F2/加上F2中的值S.DF4,0(R1)/保存结果DADDIUR1,R1,8/数组指针递减8个字节BNER1,R2,Loop/如果R1R2,则分支,58,3.3.4流水线的控制相关,控制相关是指因为程序的执行方向可能被改变而引起的相关。,典型的程序结构是“if-then”结构。请看一个示例:,ifp1S1;S;ifp2S2;,59,控制相关带来了以下两个限制:(1)控制相关于一个分支的指令不能被移到分支之前执行。ifthen程序中,then后面的语句不能移至if之前执行。(2)没有控制相关于一个分支的指令不能移至该分支指令之后从而受这个分支控制,如ifthen程序中,if前的指令不能移至then部分中执行。,60,3.4MIPSR4000流水线计算机,MIPS(MicroprocessorwithoutInterlockedPipedStages)系列处理机属于超流水线处理机。,3.4.1MIPSR4000流水线计算机基本结构和工作原理,R4000处理器是一种流水线处理器,它所实现的MIPS-3指令集是一种和DLX类似的64位指令集。但是和DLX流水线不同,R4000的流水线特别考虑了流水访问存储器的操作。,61,一、基本结构,62,MIPSR4000处理机的流水线操作,二、工作原理,由于流水线段数较多,这有利于提高时钟频率(其时钟速率可达100-200MHz),所以这种类型的流水又称为是“超级流水”(superpipelining)。,63,MIPSR4000正常指令流水工作时序,一条指令的执行过程经历8个流水线周期。由于一个主时钟周期包含有两个流水线周期,因此,也可以认为每4个主时钟周期执行完一条指令。,64,3.4.2MIPSR4000流水线,指令序列在MIPSR4000流水线中重叠执行情况如图所示:,65,从上图可以看出,由于从存储器中读入的数据在DS段的末尾才会有效,所以其载人延迟是2个时钟周期,如下图所示:,66,指令序列在R4000流水线中的执行时空图,67,对R4000的流水线来说,定向是十分重要的。,在R4000的流水线中,ALU输入端的定向源有4个:EX/DF、DF/DS、DS/T和TC/WB,如图所示,所以其对定向的控制也要比DLX流水线复杂得多。,68,R4000流水线的基本分支延迟为3个时钟周期,69,基于单周期延迟分支方法,R4000流水线处理分支指令的时空图,70,3.5向量处理机,3.5.1向量处理的基本概念,在流水线处理机中,设置向量数据表示和相应的向量指令,称为向量处理机。不具有向量数据表示和相应的向量指令的流水线处理机,称为标量处理机。,71,一、向量处理方式,计算:fi=ai*bi+ci设各向量分别放在大写字母单元中:,72,1、横向处理按照算式一个一个地进行计算,即按行计算第一步计算:f0=a0*b0+c0LDR,A0MULR,B0ADDR,C0STR,F0第二步计算:f1=a1*b1+c1即将第一步中的脚标0改为1,同样用上述四条指令。直到第一百步,f99优点:作为工作单元的通用寄存器少(本例仅用一个R)缺点:条条指令发生相关,因而无人采用。,73,2、纵向处理将所有算式列出后,按列进行计算。如对f0f99可分为四大步完成。第一大步:取向量LDR0,A0:LDR99,A99第二大步:向量乘MULR0,B0:MULR99,B99第三大步:向量加ADDR0,C0:ADDR99,C99,74,第四大步:送结果STR0,F0:STR99,F99优点:解决了相关问题,将原来条条发生相关改为条条不相关。缺点:在向量数据较多时,所用的寄存器数目多。如本例共用了一百个寄存器(R0R99),因而在向量数据不多时,可用纵向处理,而向量数据较多时,可用纵横处理。,75,3、纵横处理基本思想:将所有算式分为若干组进行如f0f99可分为10组:第一组:,第二组,第十组。组内采用纵向处理,组间采用横向处理。如第一组:取向量LDR0,A0:LDR9,A9向量乘MULR0,B0:MULR9,B9,76,向量加ADDR0,C0:ADDR9,C9送结果STR0,F0:STR9,F9其余各组与第一组类似,因而总共用了10个寄存器(R0R9),77,3.5.2向量处理机的结构,向量处理机最简单的框图,一种能实现两个向量加得流水结构的加法器,78,3.5.3向量指令的执行过程及简单性能计算,一、CRAY-1机有关问题1)向量指令类型取向量:Vi存储器存向量:存储器Vi向量与向量运算:ViVjOPVk向量与数据运算:ViVjOPB,79,2)多向量寄存器组结构共有8个向量寄存器组(V0V7),每个组可存放64个长度为64位的二进制数的向量数据。,80,3)多功能部件每个部件都以1=10ns为单位的流水线结构。,逻辑运算:定点加:移位:浮点加:访存储器:浮点乘:除法:此外,在功能部件和向量寄存器组之间相互传送也用1。,81,4)、独立总线结构每个向量寄存器组到每个功能部件之间都有单独总线连接,在不冲突条件下,可实现功能部件之间并行运行。,82,二、向量指令的执行过程及简单性能计算,衡量向量处理机性能的简单参数有向量指令的完成时间和向量数据处理速度两个,通过两个例子分别讨论这两个参数的含义和计算方法。,83,例3-4单条向量指令的执行过程已知向量指令:V2V1+V0(浮点加)向量长度为64,实际上是64组向量数据求和。请计算该向量指令的完成时间和向量数据处理速度。,1)写出64组算式V2.0V1.0+V0.0V2.1V1.1+V0.164V2.63V1.63+V0.63,84,2)画出向量指令结构图(如图所示)3)画出各算式执行过程示意图送数1,加法6,输出结果1,共8。,85,86,4)完成运算时间第一个结果时间+(长度-1)=(1+6+1)+(64-1)=715)向量数据处理速度计算(向量指令条数*长度)/(完成运算用时)=(1*64)/(71*10-8S)=90MFOLPS,87,例3-6:多条向量指令的执行过程已知有多条向量指令:V0存储器;V3V2V1;V6V5V4;三条指令可并行执行,向量长度为64,请计算该向量指令的完成时间和向量数据处理速度。,88,解:若有多条向量指令,且可并行执行时,完成运算用时,可选用时最多的那条向量指令。如:V0存储器可并行执行,V3V2V1向量长度为64V6V5V4由于除法用时最长,以它为准。1+14+1+(64-1)=79()3*64/(79*10-8S)244MFLOPS,89,一、向量的链接特性1链接:将多条相关的向量指令链接起来组成更大规模的流水线,从而进一步提高向量数据处理速度,这种链接称为向量链接。,3.5.4向量的链接技术,2向量指令之间的几种情况1)既不相关,又无冲突不能链接,但可并行执行(执行时间以最长向量指令时间为准)2)条条指令相关,且无冲突可顺利链接3)条条指令相关,但有冲突不能顺利链接,执行时间往往需要推迟。,90,3例子例3-6:条条指令相关,可顺利链接的情况有如下向量指令:V0存储器;V2V0+V1;V3V2位移;V5V3V4;V7V5V6向量长度64,请计算该向量指令的完成时间和向量数据处理速度。,解:分析相关性:每条指令之间,上一条向量指令的结果作下一条指令的一个源操作数。,91,1)画出向量链接特性图,92,2)完成运算有时6+2+6+2+4+2+7+2+14+2+(64-1)=110()3)计算向量数据处理速度:5*64/(110*10-8S)291MFLOPS此处结论:相关在向量链接中有利于向量数据处理速度的提高。,93,例3-7:条条指令相关,不能顺利链接的情况有如下向量指令:V0存储器;V2V0V1;V4V2+V3;V5V4位移;V7V5V6;V0V7V1向量长度为64,请计算该向量指令的完成时间和向量数据处理速度。,解:分析相关性:上述向量指令条条相关,且有冲突,故不能顺利链接。,94,1)不能顺利链接时,对画向量链接特性图的影响。源冲突:第一次送出画实线,第二次送出画虚线目冲突:第一次接收画实线,第二次接收画虚线功能部件冲突:第一次出现画实线,第二次出现画虚线,95,96,2)为了计算是否需要推迟时间,以及推迟多少时间,先计算冲突部件的有关时间。源冲突:从第一次送出到第二次送出之前1目冲突:从第一次接收到第二次接收之前1功能块:从第一次送出到第二次送入之前1,源冲突(V1):1+7+1+1+6+1+1+4+1+1+14+1=39()目冲突(V0):1+1+7+1+1+6+1+1+4+1+1+14+1+1+7=48()功能块():1+1+6+1+1+4+1+1+14+1=31()说明:乘法功能部件冲突最严重,上述三个时间以最短时间为准。,97,3)推迟时间计算:当长度大于最短有关时间时,实际需要推迟时间为:向量时间有关时间当长度小于等于有关时间时,实际不用推迟,可视为表面冲突。本例推迟时间为:64-31=33()4)完成运算用时计算:顺利连接时间+推迟时间1+6+1+1+7+1+1+6+1+1+4+1+1+14+1+1+7+1+(64-1)+33=152()5)性能:6*64/(152*10-8)253MFLOPS,98,补充:关于向量指令冲突1)源寄存器冲突:邻近向量指令使用了同一源向量寄存器,如上例中的V1。2)目寄存器冲突:邻近向量指令使用了同一目向量寄存器,如上例中的V0。3)功能部件冲突:邻近向量指令使用了同一功能部件,如上例中的乘法功能部件。解决冲突的办法是推迟法。冲突又分为表面冲突与实际冲突如上例中,向量长度为30时,仅表面冲突。,99,课后习题第7题:在CRAY-1机上,在下列指令组中,组内哪些指令可以链接?哪些不可以链接?不能链接的原因是什么?完成各指令所需的拍数(设向量长度均为64,打入寄存器及启动功能部件各需1)。(1)V0存储器(6);V1V2+V3(6);V4V5V6(7)(2)V2V0V1;V3存储器;V4V2+V3(3)V0存储器;V2V0V1;V3V2+V0;V6V3+V4(4)V0存储器;V11/V0(14);V3V1V2;V5V3+V4,100,解:(1)既不相关又不冲突并行执行(不可链接)1+7+1+(64-1)=72()3*64/(72*10-8)267MFLOPS(2)有相关,不冲突可链接1+7+1+1+6+1+(64-1)=80()3*64/(80*10-8)=240MFLOPS,101,(3)条条指令相关,但有冲突不能顺利链接,源冲突(V0):1+7+1=9()推迟64-9=55功能块冲突(加):1推迟64-1=63用时:1+6+2+7+2+6+2+6+1+(64-1)+118=214()性能:4*64/(214*10-8)120MFLOPS,102,(4)条条相关,且无冲突可顺利链接,用时:1+6+2+14+2+7+2+6+1+(64-1)=104()性能:4*64/(104*10-8)246MFLOPS,103,3.5.5提高向量处理机的方法,1.链接技术前面已经详细介绍了,这里不再叙述。,2.向量循环或分段开采技术,如果向量的长度大于向量寄存器的长度,该如何处理呢?当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。这种技术称为分段开采技术。由系统硬件和软件控制完成,对程序员是透明的。,104,例3-9设A和B是长度为N的向量,考虑在Cray-1向量处理器上实现以下的循环操作:DO10I=1,N10A(I)=5.0*B(I)+1,105,S15.0;将常数5.0送入标量寄存器S1S21.0;将常数1.0送入标量寄存器S2VLN;在向量长度寄存器VL中设置向量长度NV0B;从存储器中将向量B读入向量寄存器V0V1S1V0;向量B中的每个元素分别和常数S1相乘V2S2+V1;向量V1中的每个元素分别和常数S2相加AV2;将计算结果从向量寄存器V2存入存储器的向量A,当N64时,可以用以下指令序列:,106,当N64时,就需要进行分段开采。循环次数K:余数L:,107,S15.0;将常数5.0送入标量寄存器S1S21.0;将常数1.0送入标量寄存器S2VLL;在向量长度寄存器VL中设置向量长度LV0B;从存储器中将向量B0.L-1读入向量;寄存器V0V1S1*V0;向量B中的每个元素分别和常数S1相乘V2S2+V1;向量V1中的每个元素分别和常数S2相加AV2;将计算结果从向量寄存器V2存入存储器的向量A0.L-1,处理余数部分,计算L个元素,108,For(I=0toK-1)V0B;从存储器中将向量BL+I*64.L+I*64+63;读入向量寄存器V0V1S1*V0;向量B中的每个元素分别和常数S1;相乘;V2S2+V1;向量V1中的每个元素分别和常数S2;相加AV2;将计算结果V2存入存储器的向量;AL+I*64L+I*64+63,循环K次,分段处理,109,3、向量递归技术,在向量操作中,结果通常是不送回到作为源操作数使用的同一个向量寄存器中的。有一类特殊的向量循环,其流水线功能部件的输出可能要回送到它的一个源向量寄存器。换句话说,一个向量寄存器用来同时存放源操作数和结果操作数。在功能流水线上的这种递归操作要求特别小心以避免产生数据阻塞问题。,110,4.稀疏矩阵的处理技术,一个稀疏向量由两个向量组成。其中一个是短向量,它仅包含向量的非零元素。另一个是位向量,其中“1”表示对应位置为非零元素,“0”表示对应位置为零元素。位向量的长度与稀疏向量的长度相等。如果向量元素是64位的操作的话,那么现在所需的位数知识原来的1/64。,大型的稀疏矩阵往往非常稀疏,64:1的节省远远不够。稀疏向量这种方法如何进一步改进仍是一个有待研究的问题。,111,3.5.6向量处理机的性能评价,1.向量指令的处理时间Tvp,执行一条向量长度为n的向量指令所需的时间为,Ts:向量流水线的建立时间Tvf:向量流水线的流过时间它是从向量指令开始译码算起,到第一对向量元素流过流水线直到产生第一个结果元素所需的时间。Tc:流水线瓶颈段的执行时间,112,如果流水线不存在“瓶颈”,每段的执行时间等于一个时钟周期,则上式可以写为:s:向量流水线的建立时间所对应的时钟周期数e:向量流水线的流过时间所对应的时钟周期数Tclk:时钟周期时间也可以将上式改写为:Tstart:向量功能部件启动所需的时钟周期数,113,对于一组向量指令而言,其执行时间主要取决于三个因素:向量的长度向量操作之间是否链接向量功能部件的冲突和数据的冲突性把几条能在同一个时钟周期内一起开始执行的向量指令集合称为一个编队。可以看出,同一个编队中的向量指令之间一定不存在流水向量功能部件的冲突和数据的冲突。,114,推论假设每种向量功能部件只有一个,那么下面的一组向量指令能分成几个编队?LVV1,RxMULTSVV2,R0,V1LVV3,RyADDVV4,V2,V3SVRy,V4解:分为4个编队第一编队:LV第二编队:MULTSV;LV第三编队:ADDV第四编队:SV,115,一个编队内所有向量指令执行完毕所要的时间为:(假设第i个编队中所有向量指令处理的向量元素个数均为n)Tci:第i个编队的执行时间Tst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 节后复工员工心理调整辅导资料
- 激素水平检测及调节指南
- 三年级语文课堂阅读理解练习题集
- 雅思阅读考试技巧速成方案
- 城市写字楼运营与维护实务指南
- 电动工具市场需求及竞争分析报告
- 颈椎功能障碍评估量表中文版应用指南
- 2023中考数学真题分析与应试策略
- 三年级语文单元教学整体方案
- 学科核心素养课堂教学设计
- 脊柱区课件教学课件
- 村集体经济培训课件
- 医院清洁消毒灭菌与隔离无菌操作技术
- 信息网络安全考题「附答案」
- 2025年反诈骗知识竞赛问答试题及答案
- 矿井建设工程课件
- 消防设备设施操作讲解培训课件P
- 2025年执业医师考试-中医师承及确有专长考核历年参考题库含答案解析(5卷单选一百题)
- 2025年中储粮储运有限公司招聘考试真题+答案
- 蝴蝶粘土儿童课件教学
- 氨水氨气培训课件
评论
0/150
提交评论