重叠、流水和向量处理机 课件.ppt
《重叠、流水和向量处理机 课件.ppt》由会员分享,可在线阅读,更多相关《重叠、流水和向量处理机 课件.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章第五章重叠、流水和向量处理机重叠、流水和向量处理机1重叠方式重叠方式一重叠解释方式1.一条指令的几个过程段1)取指令:根据PC(指令计数器)从M(存储器)取出指令送到IR(指令寄存器)2)译码分析:译出指令的操作性质,准备好所需数据3)执行:将准备好的数按译出性质进行处理,主要涉及ALU(算术逻辑运算部件)12.对指令执行的几种方式1)顺序执行(传统机采用)l只有在前一条指令的各过程段全部完成后,才从存储器取出下一条指令取取译译执执取取译译执执i条条i+1条条22)仅两条指令重叠:第i条指令的执行与第i+1条的取指重叠。3)三条指令重叠:第i条指令的执行与第i+1条的译码及第i+2条的取
2、指重叠。i条取译执取译执i+1条i条取译执i+1条取译执i+2条取译执3若一条指令的过程段划分更多时,重叠组合方式更多。重叠解释并不能加快一条指令的实现,但能加快一段程序的解释。2.重重叠叠方方式式中中所所需需时时间间表表达达式式及及所所需需时时间间计计算算1)条件:设一条指令分为三个过程段,各过程段分别用t取、t译、t执表示。执行K条指令,分别采用顺序执行、两条重叠、三条重叠。42)分别列出上述三种执行方式所需时间表达式顺序执行顺序执行k*(t取取+t译译+t执执)两条重叠两条重叠t取取+k*t译译+(k-1)*(*(t取取,t执执)max+max+t执执三条重叠三条重叠t取取+(t译译,t
3、取取)max+(k-2)*max+(k-2)*(t取取,t译译,t执执)max+(t执执,t译译)max+max+t执执53)例子当k=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=1007t64重叠方式需要解决的问题1)对存储器的频繁访问 有哪些访问:取指令、取操作数、存放执行结果,I/O通道访问.希望存储器为多体结构,以适应多种访问源的需要。当存储器为单体结构时,需要将访问源排队,先后顺序为:取指令、取数据、I/O通
4、道访问、存结果72)应具有先行控制部件)应具有先行控制部件先行:在重叠操作中,当前一条指令在执行过程中就需要提前取出后面的指令进行相应处理,这种提前取出后继指令进行相应处理,称为先行。82)先行控制部件的主要内容先行控制部件的主要内容)先行地址站,包括先行指令地址站和先行操作数地址站;)先行指令站,用来存放多条指令;)先行操作数站,用来存放多个操作数;)先行地址形成部件,用来形成先行指令地址以及先行操作数地址;)先行操作数译码站,用来完成对多条指令的译码并保留译码输出状态。93)也应具有后行部件 后行部件:对指令执行后的结果进行处理的器件,称后行部件。包括:后行数地址站,提供后行数存放地址。后
5、行数站,存放运行的结果,并且,这些结果需送存储器。1011二、二、相关问题1何谓相关:在重叠方式的指令执行过程中,由于发生了某种关联,使正在被解释的指令无法再继续下去的现象,称相关。122相关类型1)从性质上分指令相关:重新修改了正在被解释的指令数相关:因等待前面指令执行的结果,使后面指令等待不能连续解释。如:S=a/b+cLDR,ADIVR,BADDR,C;要等DIV结果STR,S;存结果ABCSabcs132)按影响面大小分)按影响面大小分局部相关:相关发生时只能影响邻近几条指令的执行,这种相关影响面不大。如等待结果的数相关。全局相关:相关发生时影响面很大全局。如条件转移指令,当条件具备时
6、,就转到其他地方去执行程序,而转移指令之后的几条语句已先后被解释了部分功能,但此时全部废弃。14153解决指令相关解决指令相关1)尽可能避免指令相关2)用分支程序代替被修改的指令4.解决条件转移的全局相关1)猜测法按成功支路猜测:凡是条件转移指令都将成功支路指令提前取到指令站中,此时将不成功支路指令取到后援寄存器组。按不成功支路猜测:做法与正好相反。162)分支预测:允许CPU对分支以后的指令进行译码,如P6系列CPU中,取指/译码单元使用一种优化的分支预测算法,用来在多级分支、过程调用和返回时预测指令的流向。17如计算A=BCifA0GoTon在进行BC之前,可先对SBSC=?进行判断,决定
7、流向。3)尽可能作成短转移,短循环:使转去的指令都在指令站中。184)增加指令站容量(P6体系中称为指令池重排序缓冲器,是一个按内容寻址的存储器阵列。可存放40个等待执行的微操作,执行单元能够以任意顺序执行重排序缓冲器中的指令。)5解决等待结果的数相关1)推迟法:包括推迟译码分析,推迟执行。适用范围宽,但不利于速度的提高。192)相关专用通路法当上一条的运算结果需作下一条的源操作数时,如:LDR,AADDR,BSUBR,C20可建一个相关专用通路,比常规通路提前1获取源操作数。通用寄存器组通用寄存器组AB1相关专用通路常规通路1212 2流水方式流水方式一、流水方式的出现1重叠方式的两种等待1
8、)等待译码当ti译ti+1取时,即:2)等待执行ti执ti+1译时,即:i+1i等待译码时间取译执取译执取译执ii+1执取译等待执行时间222产生等待的原因重迭方式未按时间单位来划分过程段,比较粗糙。3流水线上对各过程段进行时间匹配的办法。1)将一条指令分为以t为单位的多个t过程段。如某指令用时5t,可分为5个过程段:(均匀流水线)1t2t3t4t5t232)当某过程段用时较长,又不便于细分时,可用多套相同设备来实现时间匹配。如第3个过程段用时2t,其余1,2,4用时均为t:(非均匀流水线)1t2t4t32t321244流水线的分类1)按各过程段用时是否全等划分均匀流水线:各过程段用时全等非均
9、匀流水线:各过程段用时不全等(如上图)时间匹配的非均匀流水线。)时间不匹配的非均匀流水线。252)按处理的数据类型标量流水线:用于对标量数据进行流水处理。向量流水线:用于对向量数据进行流水处理。(向量很适合流水处理)3)按流水线的规模操作流水线:如将一条指令划分为多个过程段进行流水处理。规模最小指令流水线:以指令为单位进行处理,用于多进程、多任务。规模较大宏流水线:以程序的逻辑功能段为单位进行流水处理。规模最大264)按流水线上各过程部件之间的连接方式)按流水线上各过程部件之间的连接方式固定流水线:各过程段之间固定连接,不能重新构成其它流水线单单功功能能流流水水线线半动态流水线:各过程段之间可
10、重新连接,但不同时刻只只能能重重构构成成一一种种不不同同的流水线。的流水线。动态流水线:各过程段之间可重新连接,不同时刻可重构成多种流水线。可重构成多种流水线。275)按部件在同一时刻送出支路数的多少来分。一维流水线:在同一时刻,部件只能向一个地方传送结果。阵列流水线:在同一时刻,部件可同时向多个地方传送结果。二流水线的执行过程及性能评价1均匀流水线加法流水线:281)不相关算式计算:Si=ai+bi(i=07)共有8个算式S0=a0+b0 S1=a1+b1 S7=a7+b7 画出各算式在流水线上执行过程时空图 S0 S1S2S3S4 S5S6S7 过程段 1 2 3 4 5 6 7 8 9
11、10 11 12 54321 t(t)29性能计算:吞吐率(TP):单位时间输出的结果数。完成完成n n个连续任务需要的总时间为:个连续任务需要的总时间为:T Tk k(k kn n1 1)t t 其中:其中:k k 为为流水流水线线的段数,的段数,t t为时钟为时钟周期。周期。最大吞吐率为:最大吞吐率为:TP=(输出结果数输出结果数)/(完成算式总用时)(完成算式总用时)=8/12=2/3(1/t)而无流水时(顺序):TP=1/5(1/t)30一个浮点加法器流水线的时空图由求阶差、对阶、尾数加和规格化4个流水段组成。31规规格格化化尾尾数数加加对对阶阶求求阶阶差差求阶求阶差差1求阶求阶差差2
12、求阶求阶差差3求阶求阶差差4求阶求阶差差50t1t2t3t4t5t6t7t8时时间间规格规格化化1规格规格化化2规格规格化化3规格规格化化4规格规格化化5尾数尾数加加1尾数尾数加加2尾数尾数加加3尾数尾数加加4尾数尾数加加5对阶对阶1对阶对阶2对阶对阶3对阶对阶4对阶对阶5空空间间322)相关算式计算:S=a0+a1+a2+a3+a4+a5+a6+a7对相关算式要合理分解算式尽量分解为少相关算式:S0=a0+a1 S4=S0+S1 S1=a2+a3 S5=S2+S3 S2=a4+a5 S6=S4+S5 S3=a6+a73334TP=7/18(1/t)效率():即流水线上部件的利用率=(作作用用
13、区区域域面面积积)/(完完成成运运算算所所需需时时间间矩矩形面积)形面积)=(7t*5)/(18t*5)=7/18结结论论:相关发生时,对单条流水线而言会降低流水线性能。354时间匹配的非均匀流水线右图所示乘法流水线完 成 计 算:Mi=ai*bi(i=07)(也是不相关式子)1)M0=a0*b0 M7=a7*b7362)画出各算式在流水线上执行过程示意图373)性能:TP=8/13(1/t)=(8t*6)/(13t*6)=8/133时间不匹配的非均匀流水线按上图所示乘法流水线完成算式:M=a0*a1*a2*a3*a4*a5*a6*a71)合理分解算式M0=a0*a1 M1=a2*a3 M2=
14、a4*a5 M3=a6*a7M4=M0*M1 M5=M2*M3 M6=M4*M51t2t4t33t382)画出时空图:M0M1M2M3M4M5M 过程段 4 3 2 1 1 2 3 4 6 8 9 10 12 16 20 22 27 t(t)393)性能:TP=7/27(1/t)=(7t*6)/(27t*4)=7/1840三、向量流水处理1向量的处理方式计算:fi=ai*bi+ci设各向量分别放在大写字母单元中:411)横向处理按照算式一个一个地进行计算,即按行计算第一步计算:f0=a0*b0+c0LDR,A0MULR,B0ADDR,C0STR,F0第二步计算:f1=a1*b1+c1即将第一步
15、中的脚标0改为1,同样用上述四条指令。直到第一百步,f99优点:作为工作单元的通用寄存器少(本例仅用一个R)缺点:条条指令发生相关,因而无人采用。422)纵向处理将所有算式列出后,按列进行计算。如对f0f99可分为四大步完成。第一大步:取向量LDR0,A0:LDR99,A99第二大步:向量乘MULR0,B0:MULR99,B99第三大步:向量加ADDR0,C0:ADDR99,C9943第四大步:送结果STR0,F0:STR99,F99优点:解决了相关问题,将原来条条发生相关改为条条不相关。缺点:在向量数据较多时,所用的寄存器数目多。如本例共用了一百个寄存器(R0R99),因而在向量数据不多时,
16、可用纵向处理,而向量数据较多时,可用纵横处理。443)纵横处理基本思想:将所有算式分为若干组进行如f0f99可分为10组:第一组:,第二组,第十组。组内采用纵向处理,组间采用横向处理。如第一组:取向量 LDR0,A0:LDR9,A9 向量乘 MULR0,B0:MULR9,B945 向量加ADDR0,C0:ADDR9,C9 送结果STR0,F0:STR9,F9 其余各组与第一组类似,因而总共用了10个寄存器(R0R9)462 2 CRAY-1CRAY-1机有关问题机有关问题 1)向量指令类型 取向量:Vi存储器 存向量:存储器Vi 向量与向量运算:Vi Vj OP Vk 向量与数据运算:Vi V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重叠、流水和向量处理机 课件 重叠 流水 向量 处理机
限制150内