体系结构(知识讲座)_第1页
体系结构(知识讲座)_第2页
体系结构(知识讲座)_第3页
体系结构(知识讲座)_第4页
体系结构(知识讲座)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.6某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型指令执行数量平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2 求该计算机的有效CPI、MIPS和程序执行时间。解:〔1〕CPI=(45000×1+75000×2+8000×4+1500×460(或259)〔2〕MIPS速率=f/CPI=400/1.776=225.225MIPS(或5180MIPS)259〔3〕程序执行时间=(45000X1+75000X2+8000×4+1500×2)/400=575μs1.7将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,那么采用此增强功能方法后,能使整个系统的性能提高多少?解由题可知:可改良比例=40%=0.4根据Amdahl定律可知:部件加速比=10系统加速比=1(L-0.4)+04=1.562510采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。2.11某台处理机的各条指令使用频度如下表所示:指令使用频度指令使用频度指令使用频度ADD43%JOM6%CIL2%SUB13%STO5%CLA22%JMP7%SHR1%STP1%请分别设计这9条指令操作码的哈弗曼编码、3/3/3扩展编码和2/7扩展编码,并计算这3种编码的平均码长。解:根据给出的九条指令的使用频度和哈弗曼生成算法的结构的不用构造了两种不同的哈夫曼树。1Il15O.02Oa0219 18(左边为A,右边为B)各编码如下:指令IiPi哈弗曼A哈弗曼B3/3/32/7ADDI1000000CLAI2101000101SUBI3110101101000JMPI411100110011001001JOMI511101110111011010STOI611110111011101011CILI7111110111101111001100SHRI811111101111101111011101STPI911111111111111111101110由表可知,三种编码的平均码长为:(公式:L=∑Pi*Li).某机指令字长16位。设有单地址指令和双地址指令两类。假设每个地址字段为6位.且双地址指令有X条。问单地址指令最多可以有多少条?解:双地址指令结构为:〔4位操作码〕〔6位地址码〕〔6位地址码〕单地址指令结构为:〔10位操作码〕〔6位地址码)因此,每少一条双地址指令,那么多2^6条单地址指令,双地址指令最多是2^(16-6-6)=2^4=16条,所以单地址指令最多有〔16-X〕*2^6条。.假设某机要求:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位.每个地址码长为3位。问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。解:〔1〕不能用扩展码为其编码。指令字长12位,每个地址码占3位,三地址指令最多是2^(12-3-3-3)=8条,现三地址指令需4条,所以可有4条编码作为扩展码,而单地址指令最多为4×2^3×2^3=2^8=256条,现要求单地址指令255条,所以可有一条编码作扩展码因此零地址指令最多为1×2^3=8条不满足题目要求,故不可能以扩展码为其编码。〔2〕假设单地址指令254条,可以用扩展码为其编码。依据〔1〕中推导,单地址指令中可用2条编码作为扩展码,零地址指令为2×2^3=16条,满足题目要求有一指令流水线如下所示入一U 1I2T3T4一出50ns50ns100ns 200ns求连续输入10条指令,该流水线的实际吞吐率和效率;该流水线的“瓶颈〞在哪一段?请采取两种不同的措施消除此“瓶颈〞。对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少?解:〔1〕T1=EAt+(n-1)∆tpipeline i maxi=1=(50+50+100+200)+9X200=2200(ns)TP=nT=1220(nsT)pipelineEm∆ti400 5E=TP∙-4=1—=TP∙ =—≈45.45%m 4 11〔2〕瓶颈在3、4段。■变成八级流水线〔细分〕50ns50ns50ns50ns50ns 50nsT1=EAt+(n-1)∆tpipeline i maxi=1=50X8+9X50=850(ns)TP=nT.r=185(nsT)pipelineEm∆ti40010E=TP∙-4-ι =TP∙ =——≈58.82%m 8 17■重复设置部件段4_44_34_24_13_23_121时间IH850nsTP=/T.ɪ.=185(nsT)JpipelineE=400X10850x8=1017≈58.82%有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需要的时间都是At,问:(1)当在流水线的输入端连续地每At时间输入任务时,该流水线会发生什么情况?(2)此流水线的最大吞吐率为多少?如果每2∆t输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少?当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时,其吞吐率提高多少?解:〔1〕会发生流水线阻塞情况。第1个任务S1S2S3S3S4第2个任务S1S2stallS3S3S4第3个任务S1stallS2stallS3S3S4第4个任务S1stallS2stallS3S3S4〔2〕ΔE=TP∙5δt,4=5%2≈54.35%〔3〕重复设置部件TP=Δtpipeline∙Δt=7∙Δt5吞吐率提高倍数=J1023Δt3.8有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为243其余各段的时间均为△t,而且流水线的输出可以直接返回输入端或暂存于相应的流水存放器中。现要在该流水线上计算算其吞吐率、加速比和效率。H(A,+B.),画出其时空图,并计加法ii=1i解:首先,应选择适合于流水线工作的算法。对于此题,应先计算A1+B1、A2+B2∖A3+B3和A4+B4;再计算(A1+B1)×(A2+B2)和(A3+B3)×(A4+B4);然后求总的结果。其次,画出完成该计算的时空图,如下图,图中阴影局部表示该段在工作。B1B2B3B4 BDC×D由图可见,它在18个^t时间中,给出了7个结果。7TP= 18Δt所以吞吐率为:如果不用流水线,由于一次求积需3^t,一次求和需54t,那么产生上述7个结果共需〔4x5+3x3〕△t=294t。所以加速比为:S=29δt=1.6118Δt该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得:E=4X5+3X3=0,3225X18解释以下术语指令级并行:简称ILPo是指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。指令调度:通过在编译时让编译器重新组织指令顺序或通过硬件在执行时调整指令顺序来消除冲突。指令的动态调度:是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。指令的静态调度:是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。保存站:在采用TOmaSUlO算法的MIPS处理器浮点部件中,在运算部件的入口设置的用来保存一条已经流出并等待到本功能部件执行的指令〔相关信息〕。CDB:公共数据总线。动态分支预测技术:是用硬件动态地进行分支处理的方法。在程序运行时,根据分支指令过去的表现来预测其将来的行为。如果分支行为发生了变化,预测结果也跟着改变。BHT:分支历史表。用来记录相关分支指令最近一次或几次的执行情况是成功还是失败,并据此进行预测。分支目标缓冲:是一种动态分支预测技术。将执行过的成功分支指令的地址以及预测的分支目标地址记录在一张硬件表中。在每次取指令的同时,用该指令的地址与表中所有工程的相应字段进行比拟,以便尽早知道分支是否成功,尽早知道分支目标地址,到达减少分支开销的目的。前瞻执行:解决控制相关的方法,它对分支指令的结果进行猜想,然后按这个猜想结果继续取指、流出和执行后续的指令。只是指令执行的结果不是写回到存放器或存储器,而是放到一个称为ROB的缓冲器中。等到相应的指令得到“确认〃〔即确实是应该执行的〕后,才将结果写入存放器或存储器。ROB:ReOrderBuffer。前瞻执行缓冲器。超标量:一种多指令流出技术。它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。超流水:在一个时钟周期内分时流出多条指令。超长指令字:一种多指令流出技术。VLIW处理机在每个时钟周期流出的指令条数是固定的,这些指令构成一条长指令或者一个指令包,在这个指令包中,指令之间的并行性是通过指令显式地表示出来的。循环展开:是一种增加指令间并行性最简单和最常用的方法。它将循环展开假设干遍后,通过重命名和指令调度来开发更多的并行性。假设在3000次访存中,第一级Cache失效110次,第二级Cache失效55次。试问:在这种情况下,该Cache系统的局部失效率和全局失效率各是多少?解第一级Cache的失效率〔全局和局部〕是110/3000,第二级Cache的局部失效率是55/110,第二级Cache的全局失效率是55/3000,7.10给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。由计算结果能得出什么结论?(1)理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;(2)两者Cache容量均为64KB,块大小都是32字节;(3)组相联Cache中的多路选择器使CPU的时钟周期增加了10%;(4)这两种Cache的失效开销都是80ns;命中时间为1个时钟周期;64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。解:平均访问时间=命中时间+失效率X失效开销平均访问时间11-路平均访问时间22-路两路组相联的平均访问时间比拟低CPUtime=〔CPU执行+存储等待周期〕*时钟周期CPUtime=IC〔CPI;行+总失效次数/指令总数*失效开销〕*时钟周期=IC〔CPI执行*时钟周期〕+〔每条指令的访存次数*失效率*失效开销*时钟周期〕〕CPUtimeI-Way=IC(2.0*2+1.2*0.014*80)=CPUtime2-way=IC(2.2*2+1,2*0,01*80)=CPU相对性能比: time-2way=time-1way直接映象cache的访问速度比两路组相联cache要快倍,而两路组相联Cache的平均性能比直接映象cache要高倍。因此这里选择两路组相联。一个字节多路通道连接有6台设备,它们的数据传输率如下表所示。设备名称DiD,D3D4D5D6数据传输速率〔B/ms〕505040252510计算该通道的实际工作流量。假设通道的最大流量等于实际工作流量,求通道的工作周期Ts+TD。解:〔1〕通道实际流量为f=£f=50+50+40+25+25+10=200B/msbyteii=1〔2〕由于通道的最大流量等于实际工作流量,即有f=,=-1—=200B/msmax—byteT+TS+D可得,通道的工作周期Ts+TD=5μso.设某个数组多路通道设备选择时间Ts=1μs,传送1个字节数据的传送时间TD=1μs,一次传送定长数据块的大小k=512B。现有8台外设的数据传输速率分别为如下表所示:各外设的数据传输速率〔KB/s〕外设号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论