北大--计算机体系--历年试卷题目汇总及解答cc.doc_第1页
北大--计算机体系--历年试卷题目汇总及解答cc.doc_第2页
北大--计算机体系--历年试卷题目汇总及解答cc.doc_第3页
北大--计算机体系--历年试卷题目汇总及解答cc.doc_第4页
北大--计算机体系--历年试卷题目汇总及解答cc.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

【一 填空】第一台通用电子计算机-ENIAC第一台可操作的存储程序机器-Mark-I第一台全面的、可操作的、存储程序计算-EDSAC第一台流水线计算机-IBM7030第一台成功的商业化计算机-UNIVAC I第一台首次使用变址寄存器(使用了控制程序)-IBM704第一台含通用寄存器的-Pegasus第一台采用逻辑指令来进行非数值计算-IBM7094第一台堆栈计算机-B5000第一台商用小型机-PDP-8第一台超级计算机-CDC 6600(采用了load/store结构)第一台使用cache的商用计算机-IBM360/85第一台商业话的向量超级计算机-Cray-11.0用IEEE 754表示0,01111111,00000000000000000000000100在IEEE754中的表示0,11111111,00000000000000000000000总线的三种类型 地址总线,控制总线,数据总线冒险的三种类型结构冒险,控制冒险,数据冒险流水的三种相关结构相关,控制相关,数据相关数据的三种相关先读后写相关,先写后读相关,写写相关并行的三种方式时间重叠,资源重复,资源共享Cache的四种失效义务失效,冲突失效,容量失效,无效失效(主要的是前三种)计算机性能三要素指令数,时钟周期长度,CPI如何判断n位加法溢出溢出 = 最高位进位 XOR 次高位进位cache写策略,写命中时采取_和_策略,写失效时采取_和_策略写返回,写穿透写分配,写不分配意外的两种类型中断,自陷指出关系: 指令总数 CPI 周期时间 编译器 X X 指令系统 X X X 计算机组成 X X 技术工艺 X【二 辨析】浮点没有结合律是的。当两个绝对值较大的相反数相加再和一个较小的数相加时,如果采用结合律,是不对的。比如(这里用10进制演示,假设有效位是8位):(-1.010+1.010)+1.0 = 1.0-1.010+(1.010+1.0) = 0.0两者相差1.0(1.1111113E7(-1.1111111E7)7.5111111E0 = 9.5111111E01.1111113E7(-1.1111111E7)7.5111111E0) = 1.0000000E1两者相差0.5流水线级数的加深总能提高性能错1) (数据冒险)代码中的数据冒险意味着增加流水线的长度会增加每条指令的执行时间,因为流水线在大量的时钟周期里是阻塞的。2) (控制冒险)控制冒险意味着增加流水线的长度会导致更慢的分支,因而增加了程序执行的时钟周期。3) (入不敷出)流水线开销限制了由于增加流水线长度获得的时钟片段减少的收益。实际上,流水线级数在4到8之间的时候性能相对是最高的。流水线减少了单个指令的执行时间错流水线所带来的性能提高是通过增加指令的吞吐量,而不是减小单个指令的执行时间。RISC就是CISC里的简单指令错RISC和CISC不是从属关系。RISC是简单指令系统,CISC是复杂指令系统。指令系统强大的计算机一定有好的性能错性能涉及到 周期时间,CPI,指令条数,与指令系统的强大无直接关系。指令系统影响不了周期时间。汇编语言和机器指令一一对应如果考虑伪指令:错的。如果不考虑伪指令:对的。具体怎么答看大家吧 。 ORZSPEC95 用几何平均值评价机器性能,几何平均值能忽略样机的影响,几何平均值也是和总运行时间成正比的错几何平均值不是和总运行时间成正比的,算术加权的才是“错误预测转移发生的指令数”比“错误预测转移发生率”对于评价预测转移更有效错这个显然吧100个错3个和10000个错3个能一样么增加寻址方式总能有效地减少指令总数错比较MIPS和8086的就知道寄存器-存储器寻址比L-S的代码少但是不是把方式都加上就一定能减少就不一定了Datapath的控制可以用微程序的方法来设计,然后最后用PLA硬连线实现对这个是概念PLA和ROM作为两个最底层的实现方式是可以被任何的路径到达的【三 简答】什么是MIPSMIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器” 其机制是尽量利用软件办法避免流水线中的数据相关问题。什么是指令系统体系结构(ISA)程序员所能看到的系统属性,例如概念性结构和功能特性,既区别于数据流和控制的组织,也区别于物理实现。它是硬件和软件接口的抽象。什么是软件流水对循环进行重构,使得每次迭代执行的指令是属于原循环的不同迭代过程的,由此达到指令的并行,提高运行效率。什么是局部性原理时间局部性:如果一个信息项正在被访问,那么在近期她很可能还会被再次访问。空间局部性:在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。时钟扭斜对时钟周期和保持时间的影响.根据时钟扭斜与时钟周期,保持时间之间的关系,即时钟周期=Clk-to-Q+建立时间+最长延迟路径时间+时钟扭斜保持时间 Clk-to-Q时间+最短延迟路径时间-时钟扭斜可以得知,时钟扭斜增大时,时钟周期增大,保持时间减少精确中断与非精确中断精确中断:精确地保留程序执行到产生意外事件的指令时的机器的状态非精确中断:系统程序不得不判断在哪里出现了中断,并一起卷回延迟转移为了解决控制冒险,在发生冒险的转移指令后面加入一条不会发生冒险的指令,使得转移行为在下一条指令之后发生。延迟装入为了解决数据冒险,在发生冒险的装入指令后面加入一条不会发生冒险的指令,使得转移行为在下一条指令之后发生。延迟槽为了解决转移时的冒险,装入时的冒险等问题,通过编译加入一条不会发生冒险的指令,使得转移/装入在下一条指令之后发生。微程序设计一种特殊的实现处理器控制部件的策略,它在寄存器传输操作的级别进行“编程”微体系结构微程序编程人员所看到的硬件的逻辑结构和功能特性延迟时间片1. 以分支前的指令填充2. 以分支目标指令填充3. 以分支不发生时的下一条指令填充比较DRAM与SRAMDRAM速度虽慢,但是却价廉、高密。向用户提供大存储系统的较好选择SRAM速度虽快,但是昂贵、密度也不很高。向用户提供快速访问时间的较好选择比较超标量与超长指令字超标量是一种流水线技术,超长指令字是一种指令格式。超长指令字需要更多的寄存器超标量: 每一周期可能发射不同数量的指令(从1条到6条)超长指令字: 固定数量的指令;编译器确定可开发的并行度比较单周期和多周期允许指令的执行占不同的周期数和功能部件可在单个指令执行过程中共享是多周期的优势。单周期周期长,除了装入指令外,其他指令周期时间都超过了实际所需时间。数据通路上而言,多周期比单周期有如下不同:1.指令和数据用同一寄存器2.只有一个ALU,而不是一个ALU和两个加法器3.每个主要的功能单元都加上了一个或多个寄存器存储输出值以便在后面的时钟周期中使用比较超标量与超流水超标量是通过内置多条流水线来同时执行多个指令。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作。 比较软件流水与循环展开循环展开是一个循环内做多个循环做的事情,使得流水线能充分得到利用。软件流水是对循环进行重构,使得每次迭代执行的指令是属于原循环的不同迭代过程的,这样子达到指令的并行,从而提高运行效率。软件流水不用多次灌满和清空流水线,循环展开需要多次灌满和清空流水线。多周期可能的指令执行步骤1. 取指2. 指令解码和读取寄存器3. 执行指令计算存储地址或完成转移分支4. 访问寄存器或完成R型指令5. 读取存储器冒险及其解决方法结构冒险定义:试图以两种不同的方式使用同一资源解决:1.暂停/气泡2.延迟2.增加资源控制冒险定义:在判断转移条件之前,就试图决策转移方向解决:1.暂停/气泡2.延迟3.预测 数据冒险定义:在产生数据之前,就试图使用它们解决:1.暂停/气泡2.延迟3.前递/旁路发生异常的原因有哪些1. 运算错误2. I/O设备请求3. 用户程序调用操作系统服务4. 使用未定义指令5. 硬件错误每个段可能出现的中断IF 取指页失效、未对准存储器访问、存储保护违例ID 未定义或非法操作码EX 算术意外事件MEM 取数据页失效、未对准存储器访问、存储保护违例、存储器错误微程序设计的利弊易于设计灵活性 易于适应组织、定时、工艺技术的变化 在设计周期的后期也能够变化可以实现功能非常强大的指令系统(仅仅需要增加更多的控制存储器)通用性 可以在同一机器上实现多种不同的指令系统. 可以针对具体应用,对指令系统进行剪裁.兼容性 多种组成, 同一指令系统实现成本高速度慢比较多周期处理器多周期延迟路径多周期处理器: 用多个时钟周期执行每条指令多周期延迟路径:在两个存储部件之间的、需要一个以上时钟周期完成的组合逻辑路径【四 计算】通过6*(-7)说明booth算法的过程6 = (0110)2 -7 = (1001)2操作步骤被乘数乘积0初始值01100000 1001 0110:减去被乘数01101010 1001 0右移01101101 0100 1201:加上被乘数01100011 0100 1右移01100001 1010 0300:无操作01100001 1010 0右移01100000 1101 0410:减去被乘数01101010 1101 0右移01101101 0110 15结果值0110(1101 0110)2 = (-42)10160M HZ的机器,int指令70%,fp指令30%,int的CPI 2,FP的CPI 5,问,MIPS改进编译,int多10%,fp少20%,问MIPS问性能提高了多少int的CPI下降20%,问性能提高多少die area的面积加了25%,yield和die area的面积的立方成反比,问成本多多少?给定cache的大小,及tag=19,cache index=9,index=2,offset=2,计算block的大小,cache块的大小,关联度;页大小是8K,总内存64M,TLB用128项的直接映射,TLB里只放物理页的页地址,还有dirty位和valid位,问TLB每项里有多少位?画图说明CACHE和TLB是如何并行工作的指令/数据分离的两级cache 大小 块 相连 失效率 响应时间一级 16k 8 直接映射 5% 1周期二级 256k 32 4路相联 1% 19周期系统寻址空间232问两级分别的Index,tag,digital sel位数(X6)load/store的cpi多少?(X4)扩充mips指令系统,增加 lws $a , $b , $c用处是$a=Mem($b+$c*4)图上给你改好了(就是将Aluout连回SrcA,同时在SrcB上增加了一个4的输入,用01可以选上)写出寄存器传输级语言MEMPCA = Rb B = Rc2S = A+B M = MEMSRa = MPC Rrt then Rr31 = PC + 4, PC = PC + sx(im16)|00;else PC = PC+42(1)多周期的lw指令的控制信号 (2)将其改成流水线的数据通路,需要改动什么一个流水线的数据通路,一共十五个空,流水线上在跑上面的四条指令的指令序列,叫在相应的空上填出当前流水线上应该是啥值(X15)为支持中断, 需要对MIPS ISA增加什么?EPC - 32位寄存器, 用于保存受影响的指令的地址(协处理器0的寄存器14).Cause - 用于纪录产生意外事件原因的寄存器. 在MIPS体系结构中这个寄存器32位, 但是其中的一些位目前还没有用途. 假设这个寄存器的5到2位编码了上面介绍的两类可能的意外事件来源: 未定义指令=0 和算术溢出=1 (协处理器0的寄存器13).BadVAddr - 包括发生存储器访问的存储器地址的寄存器(协处理器0的寄存器8)Status - 中断屏蔽和使能位(协处理器0的寄存器12)控制写入EPC 、Cause、BadVAddr和Status的控制信号为了能够将意外事件地址写入PC, 增加多路选择器,以便增加输入01000000 00000000 00000000 01000000two (8000 0080hex)需要能够撤销PC = PC + 4, 这是因为我们希望EPC指向产生意外事件的指令(而不是它的后继指令); PC = PC 4【其他总结】1. 计算机系统结构 = 指令系统体系结构 + 机器组成2. 计算机的五个主要部件: 数据通路、控制器、存储器、输出设备、输出设备(前两者可合并为 处理器)3. 指令系统设计中的基本问题 : 应该提供那些以及多少操作,多少操作数如何被指明,如何将这些指令编码成一致的指令格式4. 基本的指令系统体系结构种类:累加器、堆栈、通用寄存器、装入/存储5. 指令系统测度: 设计时测度、静态测度、动态测度,最佳测度是执行程序的时间6. 部件延迟 = 内在延迟 + 相关负载延迟 X 输出负载 7. 建立时间: 在触发时钟边沿之前,输入必须稳定8. 保持时间: 在触发时钟边沿之后,输入必须保持9. Clock-to-Q time : 在触发时钟边沿时,输出不能立即变化。 分为两部分:内在Clock-to-Q时间 、 负载相关Clock-to-Q时间10. 时钟扭斜的影响:时钟时间 Clock-to-Q 最长延迟路径 建立时间 时钟扭斜保持时间 Clock-to-Q 最短延迟路径 时钟扭斜 (否则发生 保持时间违例 )11. 设计:从需求分析开始(功能需求、性能特征),以组装结束(分解部件、组装部件),采用层次式设计、 自顶向下vs自底向上vs逐步求精设计过程:分治,产生并测试,逐步求精,阐明可供选择的高级方案12. Booth算法:1. 依赖于当前和以前的位, 进行下述步骤之一:00: a. 0串的中部, 不进行任何运算操作.01: b. 1串的结束, 将被乘数加到乘积的左半部.10: c. 1串的首部, 从乘积的左半部减去被乘数.11: d. 1串的中部, 不进行任何运算操作.2. 象第三种乘法算法一样, 将乘积算术右移1位.13.规格化数 = (-1) S * (1.M) * 2E-127非规格化数 = (-1) S * (0.M) * 2-12614. 存储层次技术: 原理,局部性原理; 工作方式,由时间局部性,将最近被访问的信息项放在离处理器较近的地方,由空间局部性,将包括临近存储字的数据块一起移动到较高层存储中。中,在任何指定时间,数据只能在相邻的两级之间拷贝; 术语:命中、命中率、命中时间(RAM访问时间 + 确定命中/失效时间)失效、失效率、失效损失(替换高层存储数据块的时间 + 将该块交给处理器的时间)命中时间 N路组相连全相联,Cache容量依次减小16. 写入策略比较:写穿透 : 需要一个写缓冲器,有可能遇到写缓冲器饱和的现象。写返回: 控制复杂17. 防取策略的比较:如果只有在却也是才将页面调入按需调页预测未来的访问,在实际使用前,预先装入页面预取调页后者减少了页面传输的开销;移出了已经再页帧中的页,不利于缺页率;预测未来访问很困难绝大多数系统只实现了按需调页,而没有实现预测18. 组相联Cache缺点: N个比较器与1个比较器 在输出数据时,增加了额外的多路选择延迟 在判断命中/失效时候,才可以得到数据,在直接映射Cache中, Cache块在命中/失效之前就可以得到:19. Cache和TLB访问重叠是指 根据虚拟页号访问TLB 和 根据Cache索引访问Cache同时进行。重叠访问的条件是:Cache索引所在的区域需要在页内偏移的部分当中(即块内偏移位数 + Cache索引位数 页内偏移位数)当重叠访问的条件不满足时:解决方案一:增加页面大小(增加页内偏移的位数)解决方案二:换为多路组的Cache(减小Cache索引的位数)20. 论选择页面大小:a) 增大页面大小的原因i. 页表大小与页面大小成反比,可以节省存储器ii. 当Cache容量 = 页面大小时,易于加快Cache的命中时间,较大的页面使得单页Cache是可行的iii. 在二级存储与存储器之间传输较大的页iv. TLB中表项的数量受到时钟周期的限制,因此较大的页可以映射更多的存储空间b) 减小页面大小的原因i. 不浪费存储:页内的数据必须是连续的ii. 对较小的进程可以加快进程的启动c) 混合方案:多页面大小21.总线的优缺点:a) 优点i. 多功能性:1. 易于增加新设备2. 外设可在多个使用相同总线标准的计算机系统之间移动ii. 低成本:可以以多种方式共享使用单一一组线路b) 缺点i. 可能导致通信瓶颈: 总线的带宽制约了最大I/O吞吐率ii. 总线最高速度主要受制于:1. 总线的长度2. 总线上设备的数目3. 需要支持多种设备的范围,特别是这些设备具有:时延差异很大、数据传输率差异很大22.增加总线带宽:c) 独立的与多路复用的地址和数据线d) 增加数据总线宽度e) 成块传输#ch12单周期处理器:看起来就象个以PC为状态的有穷状态自动机/page10:没有寄存器来保存下列过程之间的结果:从理论上讲,需要用一个寄存器来保存一个信号值(signalvalue),如果:(1)这个信号在一个时钟周期被计算,而在其他时钟周期还要使用.(2)并且,在这个信号被写入状态部件(stateelement)之前,计算这个信号的功能块的输入能够变化.多周期延迟路径的利弊(就是不用寄存器的那种方法)Pros:1.节省寄存器2.在多周期中可以共时:-如果ALU需要多个周期,只要整个路径的完成小于3个周期,就能正常工作Cons:1.在大项目上不好验证。-静态定时分析工具只观测两个存储部件之间的延迟,将报告这个问题为timingviolation-你只好忽视静态定时分析工具(statictiminganalyzer)的警告-但是,也就可能忽视了真正的“timingviolations”但是,也就可能忽视了真正的timingviolations-从实际开发的角度,这种做法是不负责任的-好的设计师总是在周期之间放入寄存器以避免“多周期延迟问题”.不要混淆:多周期处理器(MultipleCycleProcessor)用多个时钟周期执行每条指令的处理器多周期延迟路径(MultipleCycleDealyPath)在两个存储部件(storageelement)之间的、需要一个以上时钟周期完成的组合逻辑路径可能(也值得)建造一个没有多周期延迟路径的多周期处理器,只要只要一个信号是在某个周期产生,而在之后的另一周期要使用,就用一个寄存器来保存这个信号值#ch13/微程序和微指令水平编码,垂直编码有20类的指令,编码位数为32位的话水平编码的话就是大家都32位,固定位置的那几位用来放对应的属性。但是,有的属性根本用不到,因此用垂直编码压缩指令格式,某类指令只要表示出对应的属性。这样,有的指令就可以不用32位这么多了。#ch14#ch15结构冒险(structuralhazards):试图同时以两种不同的方式使用同一资源-例如,多次存储器访问、多次寄存器写-解决方案:多个存储器、暂停数据冒险(datahazards):在产生数据之前,就试图使用它们-例如,addr1,r2,r3;subr4,r1,r5;lwr6,0(r7);orr8,r6,r9-解决方案:前递/旁路、暂停/气泡控制冒险(controlhazards):在判定转移条件之前,就试图决策转移方向-例如,条件转移-解决方案:预测、延迟转移/延迟转移是神马?使流水容易实现的策略:-指令长度相同-只有少量的指令格式-ld/st结构Risc很适合这些要求回写时,存在这样的竞争:回写的目标与回写的值到达的时间不一样。如果回写值来得快,就会写错了。因此,要让MemWr,RegWr,Branch这三个控制信号都同时钟作个与操作。这样,在时钟的前半周期,回写的目标有足够多的时间到达,后半周期,回写目标开启,回写的值就可以正确地作写操作了。延迟转移现象:对于转移指令,因为目标地址要四个周期的时间(为了统一,其实Ex和Mem做的是同样的事)得到PC的值,而在流水线中,这条指令后的三条指令将被延迟。(Ifetch要发生在Mem之后)有一定的调度算法可以减少这种延迟。延迟装入现象:对于取值指令,因为取得的值要五个周期的时间得

温馨提示

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

最新文档

评论

0/150

提交评论