《《计算机体系结构》期末复习题答案(共15页).doc》由会员分享,可在线阅读,更多相关《《计算机体系结构》期末复习题答案(共15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上计算机体系结构期末复习题答案系别 _ 班级 _ 姓名_ 学号_一、 填空题(每空1分)1.按照弗林(Flynn)分类法,计算机系统可以分为4类:SISD计算机、(SIMD计算机)、(MISD计算机)和(MIMD计算机)。2. 改进之后的冯诺依曼计算机的只要特点是存储器为中心,总线结构,分散控制。3. 当前计算机系统中的存储系统是一个层次结构,其各层分别为:(通用寄存器,高速缓存,主存,辅存,脱机大容量存储器)。4.高速缓冲存储器的地址映象方式有三种,它们分别是:(全向量方式,直接相联方式,组相联方式)。5.虚拟存储器的三种管理方式是(段式管理,页式管理和段页式管理)。
2、6.目前计算机中常用数据有(用户定义数据,系统数据和指令数据)三种类型。7.通常可能出现的流水线的相关性有(资源相关,数据相关和控制相关)。8.解决中断引起的流水线断流的方法有(不精确断点法和精确断点法)。9.目前向量处理机的系统结构有两种:(存储器存储器型和寄存器寄存器型)。10.通用计算机基本指令分为5类,它们分别是:(数据传送类,运算类,程序控制类,输入输出类,处理机控制和调试类)。11执行指令x1=x2+x3;x4=x1-x5会引起(RAW)类型的数据相关,执行指令x5=x4*x3;x4=x0+x6会引起(WAR)类型的数据相关,执行指令x6=x1+x2;x6=x4*x5会引起(WAW
3、)类型的数据相关。12多计算机网络中,通常出现的4种通信模式是(单播模式,选播模式,广播模式和会议模式)。13.传统的冯诺依曼计算机是以控制驱动方式工作,以数据驱动方式工作的典型计算机是(数据流计算机),以需求驱动方式工作的典型计算机是(归约机),以模式匹配驱动方式工作的典型计算机是(人工智能计算机)。二、名词解释(每题2分)1.计算机体系结构:计算机系统结构就是计算机的机器语言程序员或编译程序编写者所看到的外特性,是硬件子系统的概念结构及其功能特性。2.系列机: 所谓系列机是指同一厂家生产的具有相同的系统结构,但采取了不同的组成和实现的技术方案,形成了不同型号的多种机型。3.模拟: 模拟是指
4、用软件的方法在一台计算机上,实现另一台计算机的指令系统,被模拟的机器是不存在的,称为虚拟机,执行模拟程序的机器称宿主机。4.程序的局部性原理: 程序访问局部性原理说明了计算机在程序执行过程中呈现出的一种规律,即程序往往重复使用它刚刚使用过的数据和指令。局部性分为时间上的局部性和空间上的局部性两种。所谓时间局部性是指近期被访问的代码,很可能不久又将再次被访问;空间局部性是指地址上相邻近的代码可能会被连续地访问。5.MIPS:它表示每秒百万条指令数。6.高速缓冲存储器: 高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的
5、速度。7.虚拟存储器: 虚拟存储器是由主存储器和辅助存储器组成,通过必须的软件和硬件的支持,使得CPU可以访问的存储器具有近似于主存的速度和近似于辅存的容量。8.快表: 为了提高地址转换速度,缩短查表时间,采用一个小容量的、高速的相关存储部件,用来存放当前最经常用到的那一部分页表,采取按内容相联方式进行访问。这样,查页表的时间就相当于访问小容量的相关存储器的时间,从而大大地提高了速度,这个小容量相关存储器称为快表。9.程序定位: 把一个程序交给处理机运行,必须首先把这个程序的指令和数据装入到主存储器中。一般情况下,程序所分配到的主存物理空间与程序本身的逻辑地址空间是不同的,把指令和数据中的逻辑
6、地址(相对地址)转变成主存物理地址(绝对地址)的过程称为程序定位。10.延迟转移技术:为了使指令流水线不断流,在转移指令之后插入一条不相关的有效的指令,而转移指令被延迟执行,这种技术称为延迟转移技术。11.窗口重叠技术: 为了能更简单、更直接地实现过程与过程之间的参数传递,大多数RISC机器的CPU中都设置有数量较大的寄存器组,让每个过程使用一个有限数量的寄存器窗口,并让各个过程的寄存器窗口部分重叠,这就是窗口重叠技术。12.流水线技术: 把一个重复的时序过程分成若干个子过程,每个子过程都可以有效地在其专用功能段上和其他子过程同时执行的一种技术,称为流水线技术。13.动态流水线: 动态流水线在
7、同一时间内允许按多种不同运算的联结方式工作。14.静态流水线: 静态流水线在同一时间内只能按一种运算的联结方式工作。15.线性流水线: 线性流水线中,从输入到输出,每个功能段只允许经过一次,不存在反馈回路。16.非线性流水线: 非线性流水线存在反馈回路,从输入到输出过程中,某些功能段将数次通过流水线,这种流水线适合于进行线性递归的运算。17.流水线的吞吐率: 流水线单位时间完成的任务数。18.超流水线计算机: 超级流水线结构是把每一个流水线(一个周期)分成多个(例如3个)子流水线,而在每一个子流水线中取出的仍只有一条指令,但总的来看,在一个周期内取出了三条指令。即在一个时钟周期内能够分时发射多
8、条指令的处理机。19.向量的分段开采技术: 当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,采用循环结构处理这个长向量,这种技术称为向量循环开采技术,也称为向量分段开采技术。三、简答题(每题5分)1.什么是存储系统?答:存储系统是两个或两个以上的速度、容量、价格不同的存储器采用硬件,软件或软、硬件结合的办法联结成一个系统,使得整个系统看起来象一个存储器,其速度接近其中最快的一个,容量接近其中最大的一个,价格接近其中最便宜的一个。 2.简述全相联映象规则。答:(1)主存与缓存分成相同大小的数据块。(2)主存的某一数据块可以装入缓存的任意一块空间中。3.简述直接相联映象规则。答:
9、(1)主存与缓存分成相同大小的数据块。(2)主存容量应是缓存容量的整数倍,将主存空间按缓存的容量分成区,主存中每一区的块数与缓存的总块数相等。 (3)主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。4.引起Cache与主存内容不一致的原因是什么?为了保持Cache的一致性,在单计算机系统中一般采取哪些措施?答:不一致的原因:(1) 由于CPU写Cache,没有立即写主存(2) 由于I/O处理机或I/O设备写主存采取措施:(1)全写法,亦称写直达法(WT法Write through)方法:在对Cache进行写操作的同时,也对主存该内容进行写入。(2)写回法(WB法Write back)方
10、法:在CPU执行写操作时,只写入Cache,不写入主存。5影响虚拟存储器命中率的因素有哪些?它们是如何影响的?答:(1)页面大小:当页面比较小时,随着页面的增大,命中率明显提高,但当页面增大到一定值时,命中率不再增大,而随着页面的增大而下降。(2)主存容量:当主存容量增加时,命中率不断提高;当容量增大到一定程度后,命中率的提高就不大了。(3)页面调度方式:页面的调度都是发生在产生缺页中断时进行,因此在程序刚开始运行时命中率很低,为此可以采用预取式调度法,提高命中率。6.模拟与仿真的主要区别和适合场合是什么?答:模拟是指用软件的方法在一台计算机上,实现另一台计算机的指令系统,被模拟的机器是不存在
11、的,称为虚拟机,执行模拟程序的机器称宿主机。由于模拟采用纯软件解释执行方法,因此运行速度较慢,实时性差。因此只适合于移植运行时间短,使用次数少,而且在时间上没有约束和限制的软件。仿真是指用微程序的方法在一台计算机上实现另一台计算机的指令系统。执行微程序的机器为宿主机,被实现的为目标机。仿真的运行速度比模拟快,但仿真计算机的系统结构,因此对于系统结构差别较大的机器难于用仿真的方法实现软件移植。7.什么是程序直接定位方式?什么是程序静态定位方式?答:(1)直接定位方式 程序员在编写程序时或编译程序对源程序进行编译时,就已经确切知道该程序应占用的主存物理空间。因此可以直接使用实际主存物理地址来编写或
12、编译程序。目前大多不用这种方式。 (2)静态定位方式 专门用装入程序来完成并要求程序本身可以重定位。在程序装入主存的过程中,把那些带有标识的指令或数据中的逻辑地址全部变成主存的物理地址,集中一次完成地址变换,一旦装入主存就不能再变动了。8.什么是程序动态定位方式?答:动态定位方式是利用类似变址寻址方法,有硬件支持完成。程序装入主存时,指令或数据地址不作修改,只把主存的起始地址装入该程序对应的基址寄存器中。在程序运行时,利用地址加法器,指令中的逻辑地址与已经存放在基址寄存器中的程序起始地址相加,就形成了主存的物理地址。指令的地址码不需全部修改。9什么是指令的重叠解释方式?重叠解释方式有哪三种?答
13、:所谓重叠解释方式,即是在两条相邻指令的解释过程中,某些不同解释阶段在时间上存在重叠部分。重叠解释方式分三种:一次重叠、先行控制技术和多操作部件并行。10.什么是数据相关,数据相关冲突可分为哪三种类型?答:数据相关是在几条相近的指令间共用相同的操作数时发生的。例如,指令部件中的某一条指令在进行操作数地址计算时要用到一个通用寄存器的内容,而这个通用寄存器的内容又要由这条指令前的另一条指令产生,但前面那条指令还未进入执行部件,还未产生通用寄存器的内容,这时指令部件中的那条指令只能停下来等待。数据相关冲突可分为RAW、WAR和WAW三种类型。 11.如有一个经解释实现的计算机,可以按功能划分成4级。
14、每一级为了执行一条指令需要下一级的N条指令解释。若执行第一级的一条指令需K(ns)时间,那么执行第2、3、4级的一条指令各需要用多少时间(ns)?解: 第二级的一条指令需第1级的N条指令解释 第二级的一条指令执行时间为NKns; 第三级的一条指令执行时间为N2Kns; 第四级的一条指令执行时间为N3Kns。12.假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知 fe=0.4, re=10, 根据Amdahl定律13.若某机要求有:三地址指令4条,单地址指令192条,零地址指令16条。设指令字长
15、为12位,每个地址码长3位。问能否以扩展操作码为其编码?14.简述冯。诺依曼计算机的特征。答:一般认为其主要特征有以下几点:(1)机器以运算器为中心。除了完成运算以外,机器内部的数据传输都经过运算器。各部件的操作以及它们之间的协调由控制器集中控制。(2)存储器按一维线性编址,顺序访问存储器地址单元,每个存储单元的位数固定。 (3)程序存储,指令和数据无区别存放在存储器中,指令和数据一样可以送到运算器中进行运算,指令与数据的区别主要在于地址区域不同。(4)指令在存储器中按其执行顺序存放,由一个顺序控制器(亦称程序计数器或指令计数器)指定即将被执行的指令地址。每读取一条指令后,计数器自动按顺序递增
16、。 (5)指令由操作码和地址码组成,操作码指明操作类型,地址码指明操作数的地址和结果地址。(6)数据以二进制表示。15.试述页式管理虚拟存储器的工作过程。答:页式管理是将主存空间与虚存空间按固定的大小划分成块,每块称为一页。页的大小和划分与程序的逻辑功能无关,由操作系统软件来执行。一般而言,一页的大小应该是512Bit的整数倍,因为辅助磁盘存储的物理块的大小为512Bit。虚页中的页称为虚页,实存中的各页称为实页,各虚页与实页之间按全相联方式映象,也就是虚页中的一页,可以存入主存中的任意一页的位置。当CPU给出所要访问的虚地址后,根据用户号访问基址寄存器,求得用户的页表首地址Pa,然后与虚地址
17、中的虚页号P相加,得到该页的表目,由此表目中得到该页存入主存中的实页号为p,将该页号读出与页内地址组装即可得到主存的实际地址。 16.简述计算机系统结构用软件实现和用硬件实现各自的优缺点。答:硬件实现:速度快、成本高;灵活性差、占用内存少。 软件实现:速度低、复制费用低;灵活性好、占用内存多。17.简述字节多路、数组多路和选择通道的数据传送方式。答:(1)字节多路通道:用于连接多台慢速外设,一般采用字节交叉传送数据的方式,即连接在通道上的各个设备轮流占用一个很短的时间片(通常小于100微秒)传输一个字节。 (2)选择通道:是指每一个通道连接一台高速外设,也可以连接多台相同的高速外设,但通道只能
18、对各台外设串行服务。当某一设备工作时,则通道与该设备相连,一直到整个数组传送完后,才可能转向为其他设备服务。(3)数组多路通道:数组多路通道是字节多路通道与选择通道工作方式的综合,是在数组传送的基础上,再分时为多个高速外设服务。它每次选择一个高速设备后传送一个数据块,并轮流为多台外围设备服务。每台高速外设,如磁盘,其工作时间有寻址时间与传送时间之分。而寻址时间很长,在这段时间中并不需要通道的控制,所以是通道空闲时间,那么通道可以为其他准备好的高速外设服务。四、问答与计算题(每题15分)1. 某机主存容量为512KB,Cache的容量为32KB,每块的大小为16个字(或字节)。划出全相联方式主、
19、缓存的地址格式、目录表格式及其容量。答:主存块数:512K/1632K215;缓存块数:32K/162K211;块内地址:1624容量:与缓冲块数量相同即2112048(或32K/162048)。 主存块号Bi 块内地址 18 4 3 0 主存地址 缓存块号Bi 块内地址 14 4 3 0 缓存地址 主存块地址 缓存块地址 有效位 26 12 11 1 0 目录表 2. 主存容量为512KB,Cache的容量为32KB,每块为64个字(或字节),缓存共分128组。划出组相联方式主、缓存的地址格式、目录表格式及其容量。答:主存区数:512K/32K1624;缓存组数:12827; 缓存块数:32
20、K/6451229;组内块数:512/128422; 块内地址:6426容量:与缓冲块数量相同即29512(或32K/64512)。 区号 块号 缓存块号 有效位 8 5 4 3 2 1 0 目录表 组号 缓存块号 块内地址 14 8 7 6 5 0 缓存地址 区号 组号 块号 块内地址 18 15 14 8 7 6 5 0 主存地址 3. 什么是方体置换?写出方体置换函数的表达式,假设互联网有16个结点,请画出4个方体置换函数(即C0,C1,C2,C3)的输入端与输出端的连接关系。答:方体置换是实现二进制地址编号中第k位位值不同的输入端输出端之间的连接。其表达式为: C0立方置换函数:100
21、01001101010111100110111101111100010011010101111001101111011110000000100100011010001010110011100000001001000110100010101100111 C1立方置换函数:00000000000100100011010001010110011100010010001101000101011001111001101010111100110111101111100110101011110011011110111110001000C2立方置换函数:1000100110101011110011011110
22、1111100010011010101111001101111011110000000100100011010001010110011100000001001000110100010101100111C3立方置换函数:100010011010101111001101111011111000100110101011110011011110111100000001001000110100010101100111000000010010001101000101011001114. 在页式虚拟存储器中,一个程序由P1P5共5个页面组成。在程序执行过程中依次访问的页面如下:P2,P3,P2,P1,P5,
23、P2,P4,P5,P3,P2,P5,P2 假设系统分配给这个程序的主存有3个页面,分别采用FIFO、LFU和OPT三种页面替换算法对这3页主存进行调度。(1)画出主存页面调入、替换和命中的情况表。(2)统计三种页面替换算法的页命中率。解:三种替换算法的替换过程:页地址流232152453252 FIFO命中3次223232*3153*1521*5*245*2432*432*4354*3*52调进调进命中调进替换替换替换命中替换命中替换替换LRU命中5次22323123*512*251*425*542*354*235*523*253*调进调进命中调进替换命中替换命中替换替换命中命中OPT命中6次
24、22323231*23*52*354*354*354*3523*5235235调进调进命中调进替换命中替换命中命中替换命中命中5. 一个有快表和慢表的页式虚拟存储器,最多有64个用户,每个用户最多要用1024个页面,每页4K字节,主存容量8M字节。(1)写出多用户虚地址的格式,并标出各字段的长度。(2)写出主存地址的格式,并标出各字段的长度。(3)快表的字长为多少位?分几个字段?各字段的长度为多少位?(4)慢表的容量是多少个存储字?每个存储字的长度为多少位?答:用户号:6426,虚页号:1024210,页内地址:4K212,主存页数:8M/4K211(1)多用户虚地址: 用户号(6位)虚页号(
25、10位)页内地址(12位) 共28位(2)主存地址: 主存实页号(11位)页内地址(12位) 共23位(3)快表字长27位;分3个字段:用户号6位,虚页号10位,实页号11位(4)慢表容量为2(6+10),每个存储字长为:主存页号112位。6. 一个程序由五个虚页组成,采用LFU替换算法,在程序执行过程中依次访问的地址流如下: 4,5,3,2,5,1,3,2,3,5,1,3(1)可能的最高页命中率是多少?(2)至少要分配给该程序多少个主存页面才能获得最高的命中率。(3)如果在程序执行过程中访问一个页面,平均要对该页面内的存储单元访问1024次,求访问存储单元的命中率。 解:(1)由于在页地址流
26、中互不相同的页共有5页,因此最多分配5个主存页面就可获得最高页中命中率,可能的最高命中率为(2)因为LFU替换算法为堆栈型换算法,即随着分配给该程序的主存页面数的减少,其命中率单调递减,所以为获得最高命中率H7/12,可采用逐步减少所分配的主存页数的方法来推算,若分配n个主存页面时可获得最高命中率,但分配n1个页面时命中率却减少,则此时我们可以得出这样的结论:至少要分配给该程序n个主存页面才能获得最高的命中率。由表可知,至少要分配给该程序4个主存页面才能获得最高的命中率。页地址流453251322513 S(1)堆 S(2)栈 S(3)内 S(4)容 S(5) S(6)454354235452
27、3415234315242315423154523141523431524 n=1实 n=2页 n=3数 n=4 n=5HHHHHHHHHHHHHHHHHH(3)访问存储单元的命中率为值得说明的是,在此例中,尽管LFU属于堆栈替换算法,但是分配的实际页数n也并不是越多越好,当命中率H达到饱和后,实际页数n的增加不仅不会提高命中率,反而会使实存的利用率下降。7. 假设一台模型计算机共有10种不同的操作码,如果采用固定长操作码需要4位。已知各种操作码在程序中出现的概率如下表所示,计算采用Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量(假设最短平均长度H3
28、.1位)。指令序号指令使用频度Pi指令序号指令使用频度PiI10.17I60.09I20.15I70.08I30.15I80.07I40.13I90.03I50.12I100.01答:构造Huffman树如下:Huffman编码如下表:指令号指令使用频度PiHuffman编码码长指令号指令使用频度PiHuffman码码长I10.17102I60.0901104I20.150003I70.0801114I30.150013I80.0711104I40.130103I90.03111105I50.121103I100.01111115Huffman编码的平均码长为: 冗余量(3.153.10)/3
29、.151.59%固定码长:log2104冗余量(43.10)/422.5%8一台模型机的各条指令的频度如下:ADD(加):43% SHR(右移):1%SUB(减):13% CLL(循环左移):2%JOM(按页转移):6% CLA(累加器清0):22%STO(存):5% STP(停机):1%JMP(转移):7 试设计这9条指令的哈夫曼编码的操作码表示以及2-4等长扩展操作码表示,并计算这两种表示的平均操作码长度。答:构造Huffman树如下:Huffman编码如下表:指令指令使用频度PiHuffman编码码长2-4扩展码码长ADD0.4301002CLA0.221003012SUB0.13101
30、310004JMP0.071100410014JOM0.061101410104STO0.051110410114CLL0.0211110511004SHR0.01611014STP0.01611104Huffman编码的平均码长为:2-4编码的平均码长为: 14用一条4段浮点加法器流水线求8个浮点数的和: ZABCDEFGH,求流水线的吞吐率、加速比和效率,其中t1=t2=t3=t4=t。输入 S1 S2 S3 S4 输出 t1 t2 t3 t4 答:可对原式作一简单变化,得到: Z(AB)(CD)(EF)(GH)7个加法8个数的流水线时空图如下:从流水线的时空图中可以很清楚地看到,7个浮点
31、加法共用了15个时钟周期。 流水线的吞吐率为: 流水线的加速比为: 流水线的效率为: 9设有两个向量A,B,各有4个元素,若在如图所示的静态双功能流水线上,计算向量点积: 其中,1235组成加法流水线,145组成乘法流水线。又设每个流水线所经过的时间均为t,而且流水线的输出结果可以直接返回到输入或暂存于相应的缓冲寄存器中,其延迟时间和功能切换所需的时间都可以忽略不计。请使用合理的算法,能使完成向量点积A*B所用的时间最短,并求出流水线在此期间实际的吞吐率TP和效率E。解:首先,应选择适合于静态流水线工作的算法。对于本题,应先连续计算al*bl、a2*b2、a3*b3和a4*b4共4次乘法,然后功能切换,按(albl+a2b2)+(a3b3+a4b4)经3次加法来求得最后的结果。按此算法可画出流水线工作时的时空图。由图可见,总共在15个t的时间内流出7个结果,所以在这段时间里,流水线的实际吞吐率TP为7/15t。若不用流水线,由于一次求积需3t,产生上述结果就需要43t+34t=24t。因此,加速比为S=24t/(15t)=1.6。该流水线的效率可用阴影区面积和全部5个段的总时空图面积之比求得,即专心-专注-专业