《计算机体系结构 (6).ppt》由会员分享,可在线阅读,更多相关《计算机体系结构 (6).ppt(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、利用堆栈技术模拟利用堆栈技术模拟LRU在不同在不同n条件下页面变化时空图及命中率。条件下页面变化时空图及命中率。LRU算法的实现方法算法的实现方法堆栈法、比较对法堆栈法、比较对法4存贮体系的两个分支存贮体系的两个分支虚拟存贮器的简单工作过程虚拟存贮器的简单工作过程Cache主存体系与虚拟存储器相同之处主存体系与虚拟存储器相同之处Cache主存体系与虚拟存储器不同之处主存体系与虚拟存储器不同之处内部定向原理的内部定向原理的有向图有向图和和有向简图有向简图的绘制的绘制 组相联映象的的两个例子组相联映象的的两个例子 页面替换时空图页面替换时空图 主存地址主存地址到到Cache地址的变换地址的变换 第
2、五章第五章重叠、流水和向量处理机重叠、流水和向量处理机1重叠方式重叠方式一重叠解释方式1.一条指令的几个过程段1)取指令:根据PC(指令计数器)从M(存储器)取出指令送到IR(指令寄存器)2)译码分析:译出指令的操作性质,准备好所需数据3)执行:将准备好的数按译出性质进行处理,主要涉及ALU(算术逻辑运算部件)2.对指令执行的几种方式1)顺序执行(传统机采用)只有在前一条指令的各过程段全部完成后,才从存储器取出下一条指令2)仅两条指令重叠:第i条指令的执行与第i+1条的取指重叠。3)三条指令重叠:第i条指令的执行与第i+1条的译码及第i+2条的取指重叠。取译执取译执i条i+1条i条取译执取译执
3、i+1条i条取译执i+1条取译执i+2条取译执若一条指令的过程段划分更多时,重叠组合方式更多。重重叠叠解解释释并并不不能能加加快快一一条条指指令令的的实实现现,但但能能加加快快一一段段程程序的解释。序的解释。3.重叠方式中所需时间表达式及所需时间计算重叠方式中所需时间表达式及所需时间计算1)条件:设一条指令分为三个过程段,各过程段分别用t取、t译、t执表示。执行K条指令,分别采用顺序执行、两条重叠、三条重叠。2)分别列出上述三种执行方式所需时间表达式顺序执行顺序执行k*(t取取+t译译+t执执)两条重叠两条重叠t取取+k*t译译+(k-1)*(*(t取取,t执执)max+)max+t执执三三条
4、条重重叠叠t取取+(t译译,t取取)max+(k-2)max+(k-2)*(t取取,t译译,t执执)max+(t执执,t译译)max+)max+t执执3)例子例子当当k=200,t取取=3t,t译译=4t,t执执=5=5t,时,分时,分别计算上述三种执行方式的时间。别计算上述三种执行方式的时间。顺序执行:顺序执行:200(3+4+5)=2400t两条重叠:两条重叠:3+2004+(200-1)5+5=1803t三条重叠:三条重叠:3+4+(200-2)5+5+5=1007t4重叠方式需要解决的问题重叠方式需要解决的问题1)对存储器的频繁访问)对存储器的频繁访问 有有哪哪些些访访问问:取取指指令
5、令、取取操操作作数数、存存放放执执行行结结果果,I/O,I/O通道通道访问访问.希希望望存存储储器器为为多多体体结结构构,以以适适应应多多种种访访问问源源的的需要。需要。当当存存储储器器为为单单体体结结构构时时,需需要要将将访访问问源源排排队队,先后顺序为:先后顺序为:取指令、取数据、取指令、取数据、I/O通道访问、存结果通道访问、存结果2)应具有先行控制部件)应具有先行控制部件先先行行:在在重重叠叠操操作作中中,当当前前一一条条指指令令在在执执行行过过程程中中就就需需要要提提前前取取出出后后面面的的指指令令进进行行相相应应处处理理,这这种提前取出后继指令进行相应处理,称为先行。种提前取出后继
6、指令进行相应处理,称为先行。先行控制部件的主要包括先行控制部件的主要包括)先先行行地地址址站站,包包括括先先行行指指令令地地址址站站和和先先行行操操作作数地址站;数地址站;)先行指令站,用来存放多条指令;先行指令站,用来存放多条指令;)先行操作数站先行操作数站,用来存放多个操作数;用来存放多个操作数;)先行地址形成部件,用来形成先行指令地址先行地址形成部件,用来形成先行指令地址以及先行操作数地址;以及先行操作数地址;)先行操作码译码站,用来完成对多条指令的先行操作码译码站,用来完成对多条指令的译码并保留译码输出状态。译码并保留译码输出状态。2)也应具有后行部件)也应具有后行部件 后行部件:对指
7、令执行后的结果进行处理的器件,称后行部件:对指令执行后的结果进行处理的器件,称 后行部件。包括:后行部件。包括:后行数地址站,提供后行数存放地址。后行数地址站,提供后行数存放地址。后行数站,存放运行的结果,并且,这些结果需送存后行数站,存放运行的结果,并且,这些结果需送存 储器。储器。二、相关问题二、相关问题1何何谓谓相相关关:在在重重叠叠方方式式的的指指令令执执行行过过程程中中,由由于于发发生生了了某某种种关关联联,使使正正在在被被解解释释的的指指令令无无法法再再继继续下去的现象,称相关。续下去的现象,称相关。2相关类型相关类型1)从性质上分)从性质上分指令指令相关:重新修改了正在被解释的指
8、令相关:重新修改了正在被解释的指令数数相相关关:因因等等待待前前面面指指令令执执行行的的结结果果,使使后后面面指令等待而不能连续解释。指令等待而不能连续解释。如:如:S=a/b+cLDR,ADIVR,BADDR,C;要等要等DIV结果结果STR,S;存结果存结果ABCSabcs2)按影响面大小分)按影响面大小分局局部部相相关关:相相关关发发生生时时只只能能影影响响邻邻近近几几条条指指令令的的执执行,这种相关影响面不大。如等待结果的数相关。行,这种相关影响面不大。如等待结果的数相关。全全局局相相关关:相相关关发发生生时时影影响响面面很很大大全全局局。如如条条件件转转移移指指令令,当当条条件件具具
9、备备时时,就就转转到到其其他他地地方方去去执执行行程程序序,而而转转移移指指令令之之后后的的几几条条语语句句已已先先后后被被解解释释了了部部分功能,但此时全部废弃。分功能,但此时全部废弃。3解决指令相关解决指令相关1)尽可能避免指令相关)尽可能避免指令相关2)用分支程序代替被修改的指令)用分支程序代替被修改的指令4解决条件转移的全局相关解决条件转移的全局相关1)猜测法)猜测法按按成成功功支支路路猜猜测测:凡凡是是条条件件转转移移指指令令都都将将成成功功支支路路指指令令提提前前取取到到指指令令站站中中,此此时时将将不不成成功功支支路指令取到后援寄存器组。路指令取到后援寄存器组。按不成功支路猜测:
10、做法与按不成功支路猜测:做法与正好相反。正好相反。2)分支预测:)分支预测:允许允许CPU对分支以后的指令进行译码,如对分支以后的指令进行译码,如P6系列系列CPU中,取指中,取指/译码单元使用一种优化的分支预测算译码单元使用一种优化的分支预测算法,用来在多级分支、过程调用和返回时预测指令法,用来在多级分支、过程调用和返回时预测指令的流向。的流向。如如计算计算A=BCifA0GoTon在在进进行行BC之之前前,可可先先对对SBSC=?进进行行判判断断,决决定流向。定流向。3)尽尽可可能能作作成成短短转转移移,短短循循环环:使使转转去去的的指指令令都都在指令站中。在指令站中。4)增加指令站容量)
11、增加指令站容量(P6体体系系中中称称为为指指令令池池重重排排序序缓缓冲冲器器,是是一一个个按按内内容容寻寻址址的的存存储储器器阵阵列列。可可存存放放40个个等等待待执执行行的的微微操操作作,执执行行单单元元能能够够以以任任意意顺顺序序执执行行重重排序缓冲器中的指令。)排序缓冲器中的指令。)5解决等待结果的数相关解决等待结果的数相关1)推迟法:包括推迟译码分析,推迟执行。)推迟法:包括推迟译码分析,推迟执行。适用范围宽,但不利于速度的提高。适用范围宽,但不利于速度的提高。2)相关专用通路法)相关专用通路法当当上上一一条条的的运运算算结结果果需需作作下下一一条条的的源源操操作作数时,如:数时,如:
12、LDR,AADDR,BSUBR,C可可建建一一个个相相关关专专用用比比常常规规通通路路提提前前1获获取取源操作数。源操作数。ALUABregisters相关专用通路常规通路数据总线2 2流水方式流水方式一、流水方式的出现一、流水方式的出现1重叠方式的两种等待重叠方式的两种等待1)等待译码)等待译码当当ti译译ti+1取取时,即:时,即:2)等待执行)等待执行ti执执ti+1译译时,即:时,即:i+1i等待译码时间取译执取译执取译执ii+1执取译等待执行时间2产生等待的原因产生等待的原因重迭方式未按时间单位来划分过程段,比较粗重迭方式未按时间单位来划分过程段,比较粗糙。糙。3流水线上对各过程段进
13、行时间匹配的办法。流水线上对各过程段进行时间匹配的办法。1)将一条指令分为以)将一条指令分为以t为单位的多个为单位的多个t过程过程段。如某指令用时段。如某指令用时5t,可分为可分为5个过程段:个过程段:(均匀均匀流水线流水线)1t2t3t4t5t2)当当某某过过程程段段用用时时较较长长,又又不不便便于于细细分分时时,可可用用多多套套相相同同设设备备来来实实现现时时间间匹匹配配。如如第第3个个过过程程段段用用时时2t,其其余余1,2,4用时均为用时均为t:(:(非均匀流水线)非均匀流水线)4流水线的分类流水线的分类1)按各过程段用时是否全等划分)按各过程段用时是否全等划分均匀流水线:各过程段用时
14、全等均匀流水线:各过程段用时全等非均匀流水线:各过程段用时不全等(如上图)非均匀流水线:各过程段用时不全等(如上图)时间匹配的非均匀流水线。)时间匹配的非均匀流水线。)时间不匹配的非均匀流水线。时间不匹配的非均匀流水线。1t2t4t32t3212)按处理的数据类型)按处理的数据类型标量流水线:用于对标量数据进行流水处理。标量流水线:用于对标量数据进行流水处理。向向量量流流水水线线:用用于于对对向向量量数数据据进进行行流流水水处处理理。(向量很适合流水处理)(向量很适合流水处理)3)按流水线的规模)按流水线的规模操操作作流流水水线线:如如将将一一条条指指令令划划分分为为多多个个过过程程段段进行流
15、水处理。规模最小进行流水处理。规模最小指指令令流流水水线线:以以指指令令为为单单位位进进行行处处理理,用用于于多多进程、多任务。规模较大进程、多任务。规模较大宏宏流流水水线线:以以程程序序的的逻逻辑辑功功能能段段为为单单位位进进行行流流水处理。规模最大水处理。规模最大4)按流水线具有功能的多少)按流水线具有功能的多少单单功功能能流流水水线线:各各过过程程段段之之间间固固定定连连接接,不不能能重重新构成其它流水线新构成其它流水线固定流水线固定流水线多功能流水线分:多功能流水线分:静静态态流流水水线线:各各过过程程段段之之间间可可重重新新连连接接,但但不不同同时刻只能重构成一种不同的流水线。时刻只
16、能重构成一种不同的流水线。动动态态流流水水线线:各各过过程程段段之之间间可可重重新新连连接接,不不同同时时刻可重构成多种流水线。刻可重构成多种流水线。5)按部件在同一时刻送出支路数的多少来分。)按部件在同一时刻送出支路数的多少来分。一一维维流流水水线线:在在同同一一时时刻刻,部部件件只只能能向向一一个个地地方方传送结果。传送结果。阵列流水线:在同一时刻,部件可同时向多个地方阵列流水线:在同一时刻,部件可同时向多个地方传送结果。传送结果。二流水线的执行过程及性能评价二流水线的执行过程及性能评价1均匀流水线均匀流水线加法流水线:加法流水线:1)不相关算式计算:Si=ai+bi(i=07)共有8个算
17、式S0=a0+b0 S1=a1+b1 S7=a7+b7 画出各算式在流水线上执行过程时空图 S0 S1S2S3S4 S5S6S7 过程段 1 2 3 4 5 6 7 8 9 10 11 12 54321 t(t)性能计算:吞吐率(TP):单位时间输出的结果数。TP=(输出结果数输出结果数)/(完成算式总用时)(完成算式总用时)=8/12=2/3(条/t)而无流水时:TP=1/5(条/t)2)相关算式计算: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=
18、S4+S5 S3=a6+a7TP=7/18(条/t)效率():即流水线上部件的利用率=(作用区域面积)作用区域面积)/(完成运算所需时间矩形面积)(完成运算所需时间矩形面积)=(7*5t)/(18t*5)=7/18结论:结论:相关发生时,对单条流水线而言会降低流水线性能。2时间匹配的非均匀流水线时间匹配的非均匀流水线右图所示乘法流水线右图所示乘法流水线完完 成成 计计 算算:Mi=ai*bi(i=07)(也也是是不不相相关关式式子)子)1)M0=a0*b0 M7=a7*b72)画出各算式在流水线上执行过程示意图)画出各算式在流水线上执行过程示意图3)性能)性能:TP=8/13(个个/t)=(8
19、*6t)/(13t*6)=8/133时间不匹配的非均匀流水线时间不匹配的非均匀流水线按右图所示乘法流水线完成算式:M=a0*a1*a2*a3*a4*a5*a6*a71)合理分解算式M0=a0*a1 M1=a2*a3 M2=a4*a5 M3=a6*a7M4=M0*M1 M5=M2*M3 M=M4*M51 t2 t4 t33 t2)画出时空图:过程段M0M1M2M3M4M5M4321 1235689101216202227t(t)3)性能:TP=7/27(个/t)=(7*6t)/(27t*4)=7/181重叠方式重叠方式重叠方式中所需时间表达式及所需时间计算重叠方式中所需时间表达式及所需时间计算解
20、决条件转移的全局相关解决条件转移的全局相关解决等待结果的数相关解决等待结果的数相关2 2流水方式流水方式重叠方式的两种等待重叠方式的两种等待流水线的分类流水线的分类均匀流水线均匀流水线、非均匀流水线、非均匀流水线流水线的执行过程及性能评价流水线的执行过程及性能评价均匀流水线均匀流水线时间匹配的非均匀流水线时间匹配的非均匀流水线时间不匹配的非均匀流水线时间不匹配的非均匀流水线三、向量流水处理三、向量流水处理1.向量的处理方式计算:fi=ai*bi+ci(i=099)设各向量分别放在大写字母单元中:1)横向处理按照算式一个一个地进行计算,即按行计算第一步计算:f0=a0*b0+c0LDR,A0MU
21、LR,B0ADDR,C0STR,F0第二步计算:f1=a1*b1+c1即将第一步中的脚标0改为1,同样用上述四条指令。直到第一百步,f99优点:作为工作单元的通用寄存器少(本例仅用一个R)缺点:条条指令发生相关。2)纵向处理将所有算式列出后,按列进行计算。如对f0f99可分为四大步完成。第一大步:取向量LDR0,A0:LDR99,A99第二大步:向量乘MULR0,B0:MULR99,B99第三大步:向量加ADDR0,C0:ADDR99,C99第四大步:送结果STR0,F0:STR99,F99优点:解决了相关问题,将原来条条发生相关改为条条不相关。缺点:在向量数据较多时,所用的寄存器数目多。如本
22、例共用了一百个寄存器(R0R99),因而在向量数据不多时,可用纵向处理,而向量数据较多时,可用纵横处理。3)纵横处理基本思想:将所有算式分为若干组进行如f0f99可分为10组:第一组:,第二组,第十组。组内采用纵向处理,组间采用横向处理。如第一组:取向量 LDR0,A0:LDR9,A9 向量乘 MULR0,B0:MULR9,B9 向量加ADDR0,C0:ADDR9,C9 送结果STR0,F0:STR9,F9 其余各组与第一组类似,因而总共用了10个寄存器(R0R9)2.CRAY-1机有关问题 1)向量指令类型 取向量:Vi存储器 存向量:存储器Vi 向量与向量运算:Vi Vj OP Vk 向量
23、与数据运算:Vi Vj OP B 2)向量寄存器组结构 共有8个向量寄存器组(V0V7),每个组可存放64个长度为64位的二进制数的向量数据。3)多功能部件 每个部件都以1(=10ns=10-8S)为单位的流水线结构。逻辑运算:定点加:移位 :浮点加:访存储器:浮点乘:除法 :此外,在功能部件和向量寄存器组之间相互传送也用1。4)独立总线结构 每个向量寄存器组到每个功能部件之间都有单独总线连接,在不冲突条件下,可实现功能部件之间并行运行。3.向量指令的执行过程及性能计算 已知向量指令:V2 V1+V0(浮点加)向量长度为64,实际上是64组向量数据求和。1)写出64组算式 V2.0V1.0+V
24、0.0 V2.1V1.1+V0.1 64 V2.63 V1.63+V0.63 2)画出向量指令结构图(如右上图所示)3)画出各算式执行过程示意图送数1,加法6,输出结果1,共8。4)完成运算时间第一个结果时间+(长度-1)=(1+6+1)+(64-1)=715)向量数据处理速度计算(向量指令条数*长度)/(完成运算用时)=(1*64)/(71*10-8S)=90MFLOPS(每秒处理的浮点数个数)4.多条向量指令的执行过程 若有多条向量指令,且可并行执行时,完成运算用时,可选用时最多的那条向量指令。如:V0存储器 可并行执行,V3 V2V1 向量长度为64V6 V5V4 由于除法用时最长,以它
25、为准。1+14+1+(64-1)=79()3*64/(79*10-8S)244MFLOPS四、向量的链接特性1.链接:将多条相关的向量指令链接起来组成更大规模的流水线,从而进一步提高向量数据处理速度,这种链接称为向量链接。2.向量指令之间的几种情况1)既不相关,又无冲突 不能链接,但可并行执行(执行时间以最长向量指令时间为准)2)条条指令相关,且无冲突 可顺利链接3)条条指令相关,但有冲突不能顺利链接,执行时间往往需要推迟。3.可顺利链接的情况 有如下向量指令:V0存储器;V2V0+V1;V3V2位移;V5 V3V4;V7 V5V6 向量长度64 相关:上一条向量指令的结果作下一条指令的一个源
26、操作数。1)画出向量链接特性图2)完成运算有时 6+2+6+2+4+2+7+2+14+2+(64-1)=110()3)计算向量数据处理速度:5*64/(110*10-8S)291MFLOPS此处结论:相关在向量链接中有利于向量据处理速度的提高。4.不能顺利链接的情况 有如下向量指令:V0V0存储器;V2V0V1V1;V4V2+V3;V5V4位移;V7V5V6;V0V0V7V1V1 故不能顺利链接1)不能顺利链接时,对画向量链接特性图的影响。源冲突:第一次送出画实线,第二次送出画虚线 目冲突:第一次接收画实线,第二次接收画虚线 功能部件冲突:第一次出现画实线,第二次出现画虚线向量长度64,上述向
27、量指令条条相关,有冲突: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()说明:乘法功能部件冲突最严重,上述三个时间以最短时间为准(仅适用本例)。3)推迟时间计算:当长度大于最短有关时间有关时间时,实际需要推迟时间为:向量时间向量时间 有关时间有
28、关时间 当长度小于等于有关时间时,实际不用推迟,可视为表面冲突表面冲突。本例推迟时间为: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-8S)253MFLOPS P224 17题:在CRAY-1机上,在下列指令组中,组内哪些指令可以链接?哪些不可以链接?不能链接的原因是什么?完成各指令所需的拍数(设向量长度均为64,打入寄存器及启动功能部件各需1)。(1)V0存储器(6);V1V2+V3(6);V4V5V6(7)(2)V
29、2V0V1;V3存储器;V4V2+V3 (3)V0存储器;V2V0V1;V3V2+V0;V6V3+V4 (4)V0存储器;V11/V0(14);V3V1V2;V5V3+V4解:(1)即不相关又不冲突并行执行(不可链接)1+7+1+(64-1)=72()3*64/(72*10-8S)267MFLOPS(2)有相关,不冲突可链接1+7+1+1+6+1+(64-1)=80()3*64/(80*10-8S)=240 MFLOPS(3)条条指令相关,但有冲突不能顺利链接源冲突(V1):1+7+1=9()推迟 64-9=55 功能块冲突(加):1推迟 64-1=63总推迟:55+63=118()1+6+2
30、+7+2+6+2+6+1+(64-1)+118=214()4*64/(214*10-8S)120MFLOPS(4)条条相关,且无冲突可顺利链接1+6+2+14+2+7+2+6+1+(64-1)=104()4*64/(104*10-8S)246MFLOPS三、向量流水处理三、向量流水处理向量的处理方式向量的处理方式 向量指令的执行过程及性能计算向量指令的执行过程及性能计算四、向量的链接特性四、向量的链接特性 冲突冲突:邻近向量指令使用了同一个部件邻近向量指令使用了同一个部件 冲突又分为表面冲突与实际冲突冲突又分为表面冲突与实际冲突 向量链接特性图的绘制向量链接特性图的绘制 完成运算用时计算:顺利
31、连接时间完成运算用时计算:顺利连接时间+推迟时间推迟时间 有关时间、推迟时间的计算有关时间、推迟时间的计算五加速比的概念五加速比的概念流水线方式相对于非流水线顺序串行方式速度提高的比值称加速比(Sp)。设:流水线段数m,指令有n条,各段经过的时间均为t则:此外,还有某种流水处理机相对于另一种流水处理机的加速比。如超标量流水处理机相对于常规标量流水处理机的加速比。六非线性流水线的概念六非线性流水线的概念线性流水线中各个段之间串行地链接,既无反馈也无跳跃,每个任务流经流水线中各个段均只有一次,反之就是非线性流水线。1234567S1S2S3S4时间流水线非线性流水线的预约表延迟禁止表为:延迟禁止表
32、为:F=2,4,6初始冲突向量为:初始冲突向量为:C=(101010)调度方案调度方案平平 均均延延迟迟(1,7)4(3,5)4(5,3)4(5,7)6(5)5(7)7如上例中:延迟禁止表为:延迟禁止表为:F=2,4,6初始冲突向量为:初始冲突向量为:C=(101010)状状态态转转移移图图:各种调度方案及其相应的平均延迟表:由状态转移图,从初始状态开始延箭头走向,构成调度意义上延迟拍数成周期性重复出现的拍数循环。按此方案进行任务调度,必然无冲突。七、指令级高级并行超级处理机七、指令级高级并行超级处理机超标量处理机、超长指令字处理机和超流水线处理机是指令级高度并行的三种不同的超级处理机。让单处
33、理机在每个时钟周期里可同时解释m(m1)条指令,称处理机并行的度为m。1.超超标标量量处处理理机机是采用设置m条指令流水线同时并行,来实现度为m的。2.超超长长指指令令字字处处理理机机是将水平型微码和超标量处理相结合。在在编编译译时时,将多个能并行执行的不相关或无关的操作组合在一起,形成一条有多个操作码字段的超长指令字。运行时,直接控制机器中多个相互独立的功能部件并行操作,来实现同时执行多条指令。3.超超流流水水线线处处理理机机:一台度为m的超流水线处理机的时钟只是基本机器周期的1/m。解过程执行01234567891011121314(t)图1常规标量流水处理机的时空图常规标量流水处理机的时
34、空图例例1指指令令由由取取指指、译译码码和和执执行行三三个个过过程程组组成成。每每个个过过程程经经过过的的时时间间为为t连连续续执执行行12条条指指令令。请请分分别别画画出出在在常常规规标标量量流流水水处处理理机机及及度度m均均为为4的的超超标标量量处处理理机机、超超长长指指令令字字处处理理机机、超超流流水水线线处处理理机机上上工工作作的的时时空空图图,分分别别计计算算出出它它们们相相对对常常规规标标量量流流水水处处理机的加速比理机的加速比Sp。12345678910 11 1212345678910 11 1212345678910 11 12译码取指过程481237112610159481
35、237112610159481237112610159012345时间(t)图2超标量处理机的时空图取指译码执行Sp=14t/5t=2.8过程123123123123123123执行(m=4)取指译码图3超长指令字处理机的时空图Sp=14t/5t=2.8012345时间(t)图4超流水线处理机的时空图48123711261015948123711261015948123711261015955.75时间(t)01234Sp=14t/5.75t2.43执行译码取指过程例2现有长度为4向量A和B,请分别画出在下列4种结构的处理器上求点积AB的时空图,并求完成全部结果的最少时钟拍数。设处理器中每个部
36、件的输出均可直接送到任何部件的输入端或存入缓冲器,其间的传送延时不计,指令和源操作数均能连续提供。(1)处理器有一个乘法部件和一个加法部件,不能同时工作,部件内也只能顺序方式工作,完成一次加法或乘法均只需5拍;(2)与(1)基本相同,只是乘法部件和加法部件可并行;(3)处理器有一个乘、加双功能静态流水线,乘、加均由5个流水段构成,各段经过时间要1拍;(4)处理器有乘、加两条流水线,可同时工作,各由5段构成,每段经过时间为1拍。解答长度为4向量A和B的点积为ABa1*b1+a2*b2+a3*b3+a4*b4共需做4乘法和3加法:c1=a1*b1,c2=a2*b2,c3=a3*b3,c4=a4*b
37、4d1=c1+c2,d2=c3+c4,d3=d1+d2=AB(1)乘法部件和加法部件不能同时工作,部件内也只能顺序方式工作如下图所示。由向量点积AB运算的时空图可知,完成全部运算最少为45十3535(拍)部件05101520253035拍c4d1d2d3c1c2c3加乘(2)乘法部件和加法部件可并行的时空图乘法部件和加法部件可并行的时空图其中,e1=d1+c3,e2=e1+c4=ABd1e1e2c1c2c3c4部件加乘0510152025拍(d1=c1+c2)(3)处理器有一个乘、加双功能静态流水线时的时空图d1 d2d3d1 d2d3d1 d2d3d1 d2d3d1 d2d3c1c2c3c4
38、c1c2c3c4c1c2c3c4c1c2c3c4c1c2c3c4加乘部件058101519拍5432154321(4)处理器有乘、加两条流水线,可同时工作时的时空图d1d2d3d1d2d3d1d2d3d1d2d3d1d2d3c1c2c3c4c1c2c3c4c1c2c3c4c1c2c3c4c1c2c3c4加乘部件058101518拍54321543212在下述流水线上完成算式M=ai(i=18)(1)合理分解算式;(2)画出各算式执行过程时空图;(3)计算吞吐率和效率。1设将指令划分为三个时间段t取t译t执来完成。分别采用顺序执行,有两条指令重叠,有三条指令重叠。都执行K条指令,分别写出三种执行
39、方式所需时间表达式;若K=300,t取=4t,t译=5t,t执=6t,分别计算三种执行方式所需时间1.解:解:1)顺序执行:)顺序执行:t=k*(t取取+t译译+t执执)=300(4+5+6)=4500(t)2)两条重叠:两条重叠:t=t取取+k*t译译+(k-1)*(*(t取取,t执执)max+)max+t执执=4+3005+(300-1)6+6=3304(t)3)三条重叠三条重叠:t=t取取+(t译译,t取取)max+(k-2)*()max+(k-2)*(t取取,t译译,t执执)max+(t执执,t译译)max+)max+t执执=4+5+(300-2)6+6+6=1809(t)2解:M=a
40、0*a1*a2*a3*a4*a5*a6*a71)合理分解算式M=a*a1M1=a2*a3M2=a4*a5M3=a6*a7M4=M0*M1M5=M2*M3M=M4*M52)时空图3)吞吐率:TP=7/21=1/3(个/t)效率:=(7*6t)/(21t*6)=1/33求向量D=A*(B+C),向量长度为N,分解为下列3条向量指令:V3存储器(将A送V3、6)V2V0+V1(B+C送V2、6)V4V2*V3(A*(B+C)送V4、7)当采用下列3种方式工作时,各需多少时间才能得到全部结果:1)串行执行;2)并行执行完后,再与串行;3)采用链接技术;4)画出链接特性图.3.解1)串:1+6+1+(N
41、-1)+1+6+1+(N-1)+1+7+1+(N-1)=22+3N()2)并+串:1+6+1+(N-1)+1+7+1+(N-1)=15+2N()3)链接:1+6+1+1+7+1+(N-1)=16+N()4)时空图:例3若机器共有5级中断,中断响应优先次序为1-2-3-4-5,现要求其实际的中断处理次序为1-4-5-2-3。(1)设计各级中断处理程序的中断级屏蔽位(令“1”对应于屏蔽,“0”对应于开放);(2)若在运行用户程序时,同时出现第4、2级中断请求,而在处理第2级中断未完成时,又同时出现第1、3、5级中断请求,请画出此程序运行过程示意图。例4某机器有5级中断,中断响应次序为1-2-3-4
42、5,现要求中断处理次序为2-3-1-5-4。(1)设计各级中断处理程序的中断级屏蔽位的状态,令“0”为开放,“1”为屏蔽。(2)若在运行用户程序时,同时发生1、3级中断请求,而在1级中断服务未完成时,又发生2、3、4、5级中断,请画出处理机执行程序的全过程示意图。中断处理程序级别中断级屏蔽位1级2级3级4级5级第1级第2级第3级第4级第5级例5.设有五级中断,中断级屏蔽位“1”对应开放,“0”对应屏蔽,中断响应次序为12345,已知各中断处理程序的中断级屏蔽位设置如下表所示。(1)中断处理次序是什么?(2)在执行用户程序时,如出现4、5级中断请求,在处理5级中断请求未完成时,又发生1、2、3级中断请求,请画出中断处理过程的示意图(包括将交换PSW的时间段也表示出来)。中断处理程序级别中断级屏蔽位1级2级3级4级5级第1级00000第2级10111第3级10000第4级10101第5级10100补充1:关于向量指令冲突1)源寄存器冲突:邻近向量指令使用了同一源向量寄存器,如上例中的V1。2)目寄存器冲突:邻近向量指令使用了同一目向量寄存器,如上例中的V0。3)功能部件冲突:邻近向量指令使用了同一功能部件,如上例中的乘法功能部件。解决冲突的办法是推迟法。冲突又分为表面冲突与实际冲突如上例中,向量长度为30时,仅表面冲突。