版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学科专业基础综合组成原理-存储器层次结构(五)(总分:137.47,做题时间:90分钟)一、{{B}}单项选择题{{/B}}(总题数:33,分数:66.00)下述说法中正确的是 。I.半导体RAM信息可读可写,且断电后仍能保持记忆II.动态RAM是易失性RAM,而静态RAM中的存储信息是不易失的半导体RAM是易失性RAM,但只要电源不断电,所存信息是不丢失的半导体RAM是非易失性的RAMA.I、IIB.只有IIIC.I、VD.全错(分数:2.00)A.B.C.丿解析:[解析]半导体RAM,无论静态RAM还是动态RAM都是易失性的,即断电后存储信息都将丢失。RAM是可读可写,而ROM只读。对于III来讲,DRAM即使不断电,如果在规定的时间内没有及时刷新,则存储信息也会丢失。易失性存储器,即断电后存储信息消失的存储器;断电后存储信息仍然保存的存储器被称为非易失性存储器。显然半导体RAM是易失性存储器。半导体静态存储器(SRAM)的存储原理是 。A.依靠双稳态电路B. 依靠定时刷新C. 依靠读后再生D. 信息不再变化(分数:2.00)丿B.C.D.解析:[解析]半导体静态存储器(SRAM)是由双稳态电路构成,并依靠其稳态特性来保存信息;动态存储器(DRAM)是利用电容器存储电荷的特性存储数据,依靠定时刷新和读后再生对信息进行保存,而ROM中的信息一经写入就不再变化。下面叙述错误的是 。A.随机存储器可随时存取信息,断电后信息丢失B.在访问随机存储器时,访问时间与单元的物理位置无关C.主存储器中存储的信息均是不可改变的D.随机存储器和只读存储器可以统一编址(分数:2.00)A.B.丿D.解析:[解析]主存由RAM和ROM组成,其中ROM中的信息是不可改变的,RAM中的信息是可以改变的。在对破坏性读出的存储器进行读/写操作时,为维持原存信息不变,必须辅以的操作是 。A.刷新B.再生C.写保护D.主存校验(分数:2.00)A.丿C.D.解析:[解析]对于破坏性读出的存储器,每当一次读出操作之后,必须紧接一个重写(再生)操作,以便恢复被破坏的信息,保持原存信息不变。如果某个存储单元所存储的信息被读出时,原存信息被破坏,则称为破坏性读出;如果读出时,原存信息不被破坏,则称为非破坏性读出。破坏性读出的存储器,每次读出之后必须紧接一个重写(再生)操作。再生和刷新是两个完全不同的概念,切不可混淆。再生是随机的,某个存储单元只有在破坏性读出之后才需要再生,一股是按存储单元进行的。而刷新是定时的,即使许多记忆单元长期未被访问,也需要刷新。刷新以存储体矩阵中的一行为单位进行。在CPU执行一段程序的过程中,Cache的存取次数为4600次,由主存完成的存取次数为400次。若CacheTOC\o"1-5"\h\z的存取时间为5ns,主存的存取时间为25ns,则CPU的平均访问时间为 ns。A.5.4B.6.6C.8.8D.9.2(分数:2.00)A.丿C.D.解析:[解析]命中率H=4600/(4600+400)=0.92。则平均访问时间:T=HXT+(1-H)XT=0.92X5ns+0.08X25ns=6.6ns。A A1 A2命中率[*],N为Cache的存取次数,N为主存的存取次数。假设Cache访问和主存访问是同时启动的,则12平均存取(读/写)时间为T=HXT+(1-H)XTTOC\o"1-5"\h\zA A1 A2式中,T为Cache读/写时间;T为主存读/写时间。A1 A2主存与Cache间采用全相联映射方式,Cache容量4MB,分为4块,每块1MB,主存容量256MB。若主存读/写时间为30ns,Cache的读/写时间为3ns,平均读/写时间为3.27ns,则Cache的命中率为 。A.90%B.95%C.97%D.99%(分数:2.00)A.B.C.丿解析:[解析]此题属于逆向解题,没有出过类似的题目,考生需引起重视。根据公式T=HXT+(1-H)XT,可求得Cache的命中率为99%。TOC\o"1-5"\h\zA A1 A2题干中真正有意义的数据是主存读/写时间、Cache的读/写时间和平均读/写时间,据此就可以求出Cache的命中率,其他数值属于干扰数据。某SRAM芯片,其容量为512X8位,除电源和接地端外,该芯片引出线的最小数目应该是 。A.23B.25C.50D.19(分数:2.00)A.B.C.丿解析:[解析]容量为512X8位,首先数据线是8位,因为29=512,所以地址线为9位,再加上一根读控制线和一根写控制线(可能有些书上的答案还会有电源线、地线等,做题时只算读、写线即可),一共是8+9+2=19,故选D。某机器的主存储器共32KB,由16片16KX1位(内部采用128X128存储阵列)的DRAM芯片字和位同时扩展构成。若采用集中式刷新方式,且刷新周期为2ms,那么所有存储单元刷新一遍需要 个存储周期。TOC\o"1-5"\h\zA.128B.256C.1024D.16384(分数:2.00)丿B.C.D.解析:[解析]因为芯片内部采用128X128存储阵列,刷新一行需要一个存储周期,所以选A。刷新是所有芯片的某行同时被刷新,在考虑刷新问题时,应当从单个芯片的存储容量着手,而不是从整个存储器的容量着手。此题在计算中,只需要考虑芯片内部的存储阵列的大小,对于采用何种刷新方式,刷新周期为多少,都不会影响最终的结果。若单译码方式的地址输入线为6,则译码输出线有 根,那么双译码方式有输出线 根。• A.64,16• B.64,32• C.32,16• D.16,64(分数:2.00)丿B.C.D.解析:[解析]单译码方式的译码输出线为64根,双译码方式的译码输出线为16根。地址译码电路有单译码和双译码两种方式,单译码方式只有一个译码器,双译码方式有两个译码器(X地址译码器和Y地址译码器),X和Y两个方向译码器的输出线在存储体内部的一个记忆单元上交叉,以选择相应的记忆单元。单译码方式的地址输入线为6位,则译码输出线有64根,C、D选项可以排除。由于双译码方式将地址输入线一分为二,X和Y方向各3位,每个译码输出线为8根,因此总的输出信号线为16根。TOC\o"1-5"\h\z某机器字长32位,存储容量64MB,若按字编址,它的寻址范围是 。A.8MB.16MBC.16MD.8MB(分数:2.00)A.B.丿D.解析:[解析]首先需要分清MB和M的区别:M是一个数量级,如1M就是代表一个数字,没有实际的物理意义;MB是一个单位,1MB表示的就是1M个字节。寻址范围,必然应该是数量级。本题中,由于是按字编址,并且字长是32位,因此4个字节(4B)编一个地址,一共有64MB/4B=16M个地址,寻址范围为16M。11•采用八体并行低位交叉存储器,设每个体的存储容量为32KX16位,存取周期为400ns,下述说法中正确的是 。A.在400ns内,存储器可向CPU提供27位二进制信息B.在100ns内,每个体可向CPU提供27位二进制信息C.在400ns内,存储器可向CPU提供28位二进制信息D.在100ns内,每个体可向CPU提供28位二进制信息分数:2.00)丿B.C.解析:[解析]计算过程:八体并行低位交叉存储器,存取周期和总线周期需要满足存取周期=8X总线周期,因此得到总线周期为50ns。对于单个个体而言,每个存取周期内仍然只能取出16位,但是由于CPU交叉访问8个存储体,因此可以在一个存取周期内使8个存储体各传输16位,共16X8=128位,也就是27位二进制信息。双端口存储器能高速进行读/写,是因为采用了 。A.新型器件B.流水技术C.两套相互独立的读/写电路D.高速芯片(分数:2.00)A.B.丿D.解析:[解析]双端口存储器指同一个存储器具有两组相互独立的读/写控制线路,由于进行并行的独立操作,因此它是一种高速工作的存储器。当两个端口的地址不相同时,在两个端口上进行读/写操作,一定不会发生冲突。当任意一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制和输出驱动控制。当两个端口同时存取存储器同一存储单元时,便发生读/写冲突。为解决此问题,特设置了BUSY标志,由片上的判断逻辑决定对哪个端口优先进行读/写操作,而暂时关闭另一个被延迟的端口。关于Cache的3种基本映射方式,下面叙述中错误的是 。A.Cache的地址映射有全相联、直接和多路组相联3种基本映射方式B.全相联映射方式,即主存单元与Cache单元随意对应,线路过于复杂,成本太高C.多路组相联映射是全相联映射和直接映射的一种折中方案,有利于提高命中率D.直接映射是全相联映射和组相联映射的一种折中方案,有利于提高命中率(分数:2.00)A.B.C.丿解析:[解析]Cache存储器通常使用3种地址映射方式,它们是全相联映射、直接映射和多路组相联映射方式。1)全相联映射方式。主存单元与Cache单元随意对应,有最大的使用灵活性,但地址标志字段位数多,比较地址时可能要与所有单元比较,线路过于复杂,成本太高,只用于Cache容量很小的情况。2)直接映射方式。一个主存单元只与一个Cache单元硬性对应,有点死板,影响Cache容量的有效使用效率,即影响命中率,但地址比较线路最简单,比较常用。3)多路组相联映射方式。一个主存单元可以与多个Cache单元有限度地随意对应,是全相联映射和直接映射的一种折中方案,有利于提高命中率,地址比较线路也不太复杂,是比较好的一种选择。一般来讲,直接映射常用在 。A.小容量高速CacheB.大容量高速CacheC.小容量低速CacheD.大容量低速Cache
(分数:2.00)A.丿C.D.解析:[解析]直接映射的地址转换速度快(标记位相比其他映射方式要少),但块的冲突概率较高。在大容量高速Cache系统中使用直接映射方式,既可以发挥Cache的高速度,又可以减少块的冲突概率。主存按字节编址,地址从0A4000H到OCBFFFH,共有 字节;若用存储容量为32KX8位的存储芯片构成该主存,至少需要 片。A.80K,2B.96K,2C.160K,5D.192K,5(分数:2.00)A.B.丿D.解析:[解析]CBFFFH+l-A4000H=28000H(可以换成二进制或者十进制计算),总共有160KB(28000H转换成二进制为00101000000000000000,转换成十进制为163840,163840/1024=160,即160KB),则所需存储芯片数=(160KX8)/(32KX8)=5用末地址+1减去首地址,即可求出存储容量,然后用存储容量除以存储芯片容量,即可得出所需芯片数。一个存储器的容量假定为MXN,若要使用lXk的芯片(1<M,k<N),需要在字和位方向上同时扩展,此时共需要.个存储芯片。A.MXNB.(M/1)X(N/k)此时共需要.个存储芯片。A.MXNB.(M/1)X(N/k)(分数:2.00)A.B.丿D.解析:[解析]用存储容量除以存储芯片容量,需要向上取整,因为M除以1和N除以k不一定是整数。存储器采用部分译码法片选时, 。A.不需要地址译码器B.不能充分利用存储器空间C.会产生地址重叠D.CPU的地址线全参与译码分数:2.00)A.B.丿解析:[解析]部分译码即只用高位地址的一部分参与译码,而另一部分高位地址与译码电路无关,因此出现一个存储单元对应多个地址的现象,这种现象被称为地址重叠(如{{U}}00{{/U}}111和{{U}}01{{/U}}111,前两位不参与译码,导致一个存储单元对应多个地址)。地址线A15〜A0(低),若选取用16KX1位存储芯片构成64KB存储器,则应由地址码 译码产生片选信号。A.A15、A14B.AO、A1C.A14、A13D.A1、A2(分数:2.00)丿B.C.D.解析:[解析]用16KX1位芯片构成64KB的存储器,需要的芯片数量为(64KX8)/(16KX1)=32每8片一组分成4组,每组按位扩展方式组成一个16KX8位的模块,4个模块按字扩展方式构成64KB的存储器。存储器的容量为64K=2i6,需要16位地址,选用A〜A为地址线;每个模块的容量为16K=2i4(需要TOC\o"1-5"\h\z15 014位地址),选用A〜A为每个模块提供地址;A、A通过2-4译码器对4个模块进行片选。13 0 15 14如果一个存储单元被访问,那么可能这个存储单元会很快地再次被访问,这称为 。A.时间局部性B.空间局部性C.程序局部性•D.数据局部性(分数:2.00)丿B.C.D.解析:[解析]如果程序中存在循环,则从时间上看,一个单元刚被访问又会被再次访问,那么称为时间局部性。程序的局部性有两个方面的含义,即时间局部性和空间局部性。时间局部性指如果一个存储单元被访问,则可能该单元会很快再次被访问,这是因为程序存在循环。空间局部性指如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问,这是因为程序中大部分指令是顺序存储、顺序执行的,数据一般也是以向量、数组、树、表等形式簇聚地存储在一起的。为了解决CPU与主存速度不匹配的问题,通常采用的方法是 。A.采用速度更快的主存B.在CPU和主存之间插入少量的高速缓冲存储器C.在CPU周期中插入等待周期D.扩大主存的容量分数:2.00)A.丿C.D.解析:[解析]由于主存的速度低于CPU的速度,因此解决CPU与主存速度不匹配的问题最常用的方法是在CPU和主存之间建立高速缓冲存储器(Cache)。Cache位于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU能高速地使用它们。Cache的存取速度可以与CPU的速度相匹配,但存储容量较小,价格较高。在Cache和主存之间,增加辅助硬件,让它们构成一个整体(Cache存储系统),Cache存储系统全部用硬件来调度,因此它对系统程序员和应用程序员都是透明的。下面关于计算机Cache的论述中,正确的是 。A.Cache是一种介于主存和辅存之间的存储器,用于主存和辅存之间的缓冲存储B.如果访问Cache不命中,则用从内存中取到的字节代替Cache中最近访问过的字节C.Cache的命中率必须很高,一般要达到90%以上D.Cache中的信息必须与主存中的信息时刻保持一致(分数:2.00)A.B.D.解析:[解析]由于Cache不是介于主、辅存之间的存储器,因此A选项错;由于访问Cache不命中需要替换时的传送单位是数据块而不是字节,因此B选项错;在采用写回法时,由于Cache中的信息并非与主存中的信息时刻保持一致(知识点详细讲过),因此D选项错。若数据在存储器中采用以低字节地址为字地址的存放方式(小端存储),则十六进制数12345678H按自己地址由小到大依次存为 。A.12345678B.87654321C.78563412D.34127856(分数:2.00)A.B.丿D.解析:容量为64块的Cache采用组相联映射方式,字块大小为128个字,每4块为一组。如果主存为4K块,且按字编址,那么主存地址和主存标记的位数分别为 。16,17,18,19,(分数:2.00)A.B.C.丿解析:[解析]因为主存容量4KX128=512K字,所以主存地址19位。又因为字块大小为128个字,所以块内地址7位,Cache被分成64/4=16组,故组号4位,主存标记19-4-7=8位。主存地址由主存标记、组号和块内地址3部分组成。先算出主存的容量,得出主存地址的位数,然后根据组相联方式和块的大小,确定组号字段的位数和块内地址字段的位数,即可得出主存标记的位数。TOC\o"1-5"\h\zCache用组相联映射,一块大小为128B,Cache共64块,4块分一组,主存有4096块,主存地址共需 位。A.19B.18C.17D.16(分数:2.00)丿B.C.D.解析:[解析]主存有4096块,每块大小128B,则主存容量共有4096X128B=512KB,共需地址线19位。此题在计算时,只需要算出主存的容量即可得出结果,实际上与采用什么映射方式没有关系,不需要考虑组相联的问题。另外,还需要知道Cache的块大小和主存的块大小是一样大的,不然此题也无法作答。有效容量为128KB的Cache,每块16B,8路组相联。字节地址为1234567H的单元调入该Cache,其tag应为 。A.1234HB.2468HC.048DHD.12345H(分数:2.00)A.B.丿D.解析:[解析]因为块的大小为16B,所以块内地址字段为4位;又因为Cache容量为128KB,8路组相联,所以可以分为1024组[128KB/(8X16B)=1024],对应的组号字段10位;剩下为标记字段。1234567H=0001001000110100010101100111,标记字段为其中高14位,00010010001101=048DH。组相联映射对应的主存地址应包括3部分:标记(Tag)、组号(Index)和块内地址(Offset)。首先将主存地址由十六进制变成二进制,其中块内地址字段为最后4位,组号字段为中间10位,剩下的就是标记字段,将标记字段二进制转换为十六进制,即可得出结果。在全相联映射、直接映射和组相联映射中,块冲突概率最小的是 。A.全相联映射B.直接映射C.组相联映射D.不一定(分数:2.00)丿B.C.D.解析:[解析]全相联映射就是让主存中任何一个块均可以装入到Cache中任何一个块的位置上,块冲突概率最小。在全相联映射、直接映射和组相联映射3种映射方式中,全相联映射的块冲突概率最小,直接映射的块冲突概率最大,组相联映射的块冲突概率居中。27•关于LRU算法,以下论述正确的是 。A.LRU算法替换掉那些在Cache中驻留时间最长且未被引用的块B.LRU算法替换掉那些在Cache中驻留时间最短且未被引用的块C.LRU算法替换掉那些在Cache中驻留时间最长且仍在引用的块D.LRU算法替换掉那些在Cache中驻留时间最短且仍在引用的块(分数:2.00)丿B.C.D.解析:[解析]LRU算法指近期最少使用算法,把在Cache中驻留时间最长而没有使用的块作为被替换的块。LRU算法需要随时记录Cache中各块被使用的情况,以便确定哪个块是近期最少使用的块。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用以记录其被使用的情况。下列关于虚拟存储器的说法,错误的是 。A.虚拟存储器利用了局部性原理B.页式虚拟存储器的页面如果很小,主存中存放的页面数较多,导致缺页频率较低,换页次数减少,可以提升操作速度C.页式虚拟存储器的页面如果很大,主存中存放的页面数较少,导致页面调度频率较高,换页次数增加,降低操作速度D.段式虚拟存储器中,段具有逻辑独立性,易于实现程序的编译、管理和保护,也便于多道程序共享(分数:2.00)A.丿C.D.解析:[解析]在虚拟存储器中,页面如果很小,虚拟存储器中包含的页面个数就会过多,使得页表的体积过大,页表本身占据的存储空间过大,操作速度将变慢。A选项,CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中,即局部性原理。虚拟存储器正是依据了这一原理来设计的;C选项,当页面很大时,虚拟存储器中的页面个数会变少。另外,主存的容量比虚拟存储器的容量更少,主存中的页面个数就会更少,缺页率自然就很大,就会不断地调入/调出页面,降低操作速度;D选项,段式虚拟存储器是按照程序的逻辑性来设计的,具有易于实现程序的编译、管理和保护,也便于多道程序共享的优点。访问相联存储器时, 。A.根据内容,不需要地址B.不根据内容,只需要地址C.既要内容,又要地址D.不要内容也不要地址(分数:2.00)丿B.C.D.解析:[解析]此题属于概念题。访问相联存储器只需要给出内容,不需要给出地址,因此,相联存储器又被称为按内容访问存储器,故选A。下列关于虚拟存储器的论述中,正确的是 。A.对应用程序员透明,对系统程序员不透明B.对应用程序员不透明,对系统程序员透明C.对应用程序员、系统程序员都不透明D.对应用程序员、系统程序员都透明(分数:2.00)丿B.C.D.解析:[解析]由于虚拟存储器需要通过操作系统来调度,因此对系统程序员是不透明的,但对应用程序员是透明的。计算机中所谓透明性概念是指本来存在的事物或属性,从某种角度看似乎不存在。这与日常生活中的“透明”的含义正好相反,日常生活中的“透明”是要公开,让大家看得到,而计算机中的“透明”,则是指看不到的意思,也就是指那些不属于自己管的部分。A选项是虚拟存储系统的特点,D选项是Cache存储系统的特点,因为Cache是使用硬件来实现的。对36位虚拟地址的页式虚拟存储系统,每页8KB,每个页表项为32位,页表的总容量为 。A.1MBB.4MBC.8MBD.32MB分数:2.00)A.B.解析:[解析]根据虚拟地址的位数,可以得出虚存的容量23664GB,又根据页面大小为8KB,得出64GB/8KB=8M个页表项,每个页表项32位(4B),因此,页表的总容量为32MB。主存空间和虚存空间都划分成若干个大小相等的页。主存(即实存的页)称为实页,虚存的页称为虚页。页表大小=页表项数X每个页表的字节数。下列关于页式虚拟存储器的论述,正确的是 。A.根据程序的模块性,确定页面大小B.可以将程序放置在页面内的任意位置C.可以从逻辑上极大地扩充内存容量,并且使内存分配方便、利用率高D.将正在运行的程序全部装入内存(分数:2.00)A.B.丿D.解析:[解析]页式虚拟存储器中页面的大小与程序的大小无关,A选项错;程序仅能从页面的起始位置开始放置,B选项错;正在运行的程序未必能全部装入内存,D选项错。某计算机主存地址空间大小为256MB,按字节编址。虚拟地址空间大小为4GB,采用页式存储管理,页面大小为4KB,TLB(快表)采用全相联映射,有4个页表项,内容见下表。{{B}}表全相联映射对应的页表项{{/B}}有效位标记页框号•••0FF180H0002H•••13FFF1H0035H•••002FF3H0351H•••103FFFH0153H•••则对虚拟地址03FFF180H进行虚实地址变换的结果是 。A.0153180HB.0035180HC.TLB缺失D.缺页(分数:2.00)丿B.C.D.解析:[解析]由于页面大小为4KB,因此页内地址为12位。于是可以得到虚拟地址03FFF180H的页内地址为180H,故页号为03FFFH。由表可知,页标记为03FFFH所对应的页框号为0153H,于是将页框号与页内地址进行拼接,即可以得到虚实地址变换的结果是0153180H。二、{{B}}综合应用题{{/B}}(总题数:7,分数:71.50)设某机主存容量为16MB,Cache的容量为8KB,且按字节编址。每字块8个字,每字32位。设计一个4路组相联映射的Cache组织。(分数:12.50)(1) .画出主存地址字段中各段的位数。(分数:2.50)正确答案:(主存地址字段如图所示。[*]图主存地址字段)解析:(2) .设Cache初态为空,CPU依次从主存0,1,2,…,99号单元中读出100个字(主存一次读出一个字),并重复此次序10次,问命中率是多少?(分数:2.50)正确答案:(由于Cache初态为空,因此CPU读0号单元时不命中,必须访存,同时将该字所在的主存块调入Cache(调入内存一定是一整块调入,而一块包括8个单元),接着CPU读1〜7号单元均命中。同理,CPU读8,16,…,96号单元均不命中。可见,CPU在连续读100个字中共有13次未命中,而后9次循环读100个字全部命中,命中率为[*])解析:(3).若Cache速度是主存速度的5倍,试问有Cache和无Cache相比,速度提高多少倍?(分数:2.50)正确答案:(设主存存取周期为5t,Cache的存取周期为t,没有Cache的访问时间是5tX1000,有Cache存取周期为tX(1000-13)+5tX13,则有Cache和无Cache相比,速度提高的倍数为[*])解析:(4).系统的效率是多少?(分数:2.50)正确答案:(系统的效率为[*])解析:(5).某计算机的主存地址位数为32位,按字节编址。假定数据Cache中最多存放128个主存块,采用4路组相联方式,块大小为64B,每块设置了1位有效位。采用一次性写回策略,为此每块设置了1位“脏位”。要求:1)分别指出主存地址中标记(Tag)、组号(Index)和块内地址(0ffset)3部分的位置和位数。2)计算该数据Cache的总位数。(分数:2.50)正确答案:(主存地址由标记(Tag)、组号(Index)和块内地址(0ffset)3部分组成,标记字段在前,组号字段居中,块内地址字段在后。1)因为块大小为64B,所以块内地址字段为6位;因为Cache中有128个主存块,采用4路组相联,Cache分为32组(128/4=32),所以组号字段为5位;标记字段为剩余位,32-5-6=21位。2)数据Cache的总位数应包括标记项的总位数和数据块的位数。每个Cache块对应一个标记项,标记项中应包括标记字段、有效位和“脏位”(仅适用于写回法)。因此,标记项的总位数=128X(21+1+1)=128X23=2944位。又由于数据块位数=128X64X8=65536位,因此数据Cache的总位数=2944+65536=68480位。写回法指CPU在执行写操作时,被写数据只写入Cache,不写入主存。仅当需要替换时,才把已经修改过的Cache块写回到主存。如果“脏位”为“1”,则必须先把这一块写回到主存中去之后才能调入新的块;如果“脏位”为“0”,则这一块不必写回主存,只要用新调入的块覆盖掉这一块即可。)解析:某彩色图形显示器,屏幕分辨率为640像素X480像素,共有4色、16色、256色和65536色4种显示模式。(分数:7.50)(1).试给出每个像素的颜色数m和每个像素所占用存储器的比特数n之间的关系。(分数:2.50)正确答案:(在图形方式中,每个屏幕上的像素都由存储器中的存储单元的若干比特指定其颜色。每个像素所占用的内存位数决定于能够用多少种颜色表示一个像素。表示每个像素的颜色数m和每个像素占用的存储器的比特数n之间的关系由下面的公式给出:n=logm)2解析:(2).显示缓冲存储器的容量是多少?(分数:2.50)正确答案:(由于显示缓冲存储器的容量应按照最高灰度(65536色)设计,故容量为640X480X(log65536)bit/8=614400B=615KB)2解析:(3).叙述带有Cache存储器的计算机,其CPU读内存一次的工作过程。(分数:2.50)正确答案:(l)CPU将内存地址加载到地址总线,并发出读信号。2)Cache从地址总线截取内存地址,解析出该地址所在的内存块号。3)查阅主存Cache地址映射变换机构,若该主存块已调入Cache,则为命中,进入4),否则,转入6)o4)将对应的Cache块号与主存地址中的块内地址拼接,形成Cache地址,访问Cache存储体,同时阻断主存的读。5)由Cache读出的数据经数据总线送往CPU。6)在不命中的情况下,维持主存的读,由主存读出的数据经数据总线送往CPUo7)同时查阅Cache是否有剩余的空间允许新的块调入,如有,则转入9)o8)启动Cache替换机构,留出一个Cache块位置。9)“打通”直接调度通路,将该主存块调入Cache,并修改标记。)解析:设主存容量为1MB,Cache容量为16KB,每字块有16个字,每字32位,且按字节编址。(分数:5.00)(1).若Cache采用直接映射,试求主存地址字段中各段的位数。(分数:2.50)正确答案:(若Cache采用直接映射。由于每个字块含有16个字(64B),且按字节编址,因此字块内的位数(块内地址位数)为6位。另外,由于Cache中含有256个块(16KB/16X4B),因此字块地址位数为8位。主存容量1MB,说明总位数为20位,因此主存字块标记位数为20-6-8=6位。主存的地址格式如下:[*])解析:(2).若Cache采用4路组相联映射,试求主存地址字段中各段的位数。(分数:2.50)正确答案:(若Cache采用4路组相联映射。同理,块内地址位数为6位。由于采用4路组相联映射,即每组4块,因此一共有64组,即组号需要6位。很容易得到主存字块标记位数为20-6-6=8位。主存的地址格式如下:[*])解析:某Cache采用全相联映射,且此Cache有16块,每块8个字,主存容量为216个字(按字寻址),Cache开始为空。Cache存取时间为40ns;主存与Cache间传送8个字需要1Mso(分数:18.97)(1).计算Cache地址中标记位数和块内地址位数。(分数:2.71)正确答案:(Cache地址中块内地址位数为3位(23=8)。由于采用的是全相联映射,因此除去块内地址剩下的就是标记位数。主存的标记位数为16-3=13,故Cache的标记位数为13位。)解析:(2).程序首先访问主存单元20,21,22,・・・,45,然后重复访问主存单元28,29,30,・・・,45四次(假设没有命中Cache,将主存对应块一次全部读入Cache中,且第一块从0开始计数),试计算Cache的命中率。(分数:2.71)正确答案:(首先,每块包含8个字(也就是8个主存单元),先访问20号单元,如果Cache不命中(因为Cache开始时为空),那么Cache就调入包含此单元的块,此块包含20、21、22、23单元,当接下来访问21〜23单元时都命中。其次,访问24号单元时又不命中,以此类推。当访问20、24、32、40号单元时,不命中。也就是说,一共访问次数为26+18X4=98次,其中有4次不命中,Cache的命中率为[*])解析:.计算上述程序总的存取时间。(分数:2.71)正确答案:(已知Cache命中率、访问Cache的时间、主存与Cache交换块的时间,总的存取时间就很容易计算了,如下:40nsX98+4Xlps=7920ns有些考生认为答案应该是40nsX94+4Xlps=7760ns,因为有4次没有命中Cache,故没有存取操作,仅仅是对比了标记位而已,所以只需乘以94。解释一下,如果Cache没有命中,则CPU将会去主存取数据,并且将数据从主存送往Cache,所以最终CPU还是得对Cache进行98次的存取。)解析:.现有一64KX2位的存储器芯片,欲设计具有同样存储容量的存储器,应如何安排地址线和数据线引脚的数目,使两者之和最小,并说明有几种解法。(分数:2.71)正确答案:(不妨设地址线和数据线的数目分别为x和y。只需要满足2xXy=64KX2,有如下方案:当y=1时,x=17;当y=2时,x=16;当y=4时,x=15;当y=8时,x=14。(可不用讨论y等于3、5、6这些情况,不然x就没法计算了)后面的就不用计算了,肯定比前面的引脚数目多。从以上分析可以看出,当数据线为1或2时,地址线和数据线引脚的数目之和为18,达到最小,并且有两种解答。)解析:.用16KX16位的SRAM芯片构成64KX32位的存储器。要求画出该存储器的组成逻辑框图。(分数:2.71)正确答案:(所需芯片总数(64KX32)/(16KX16)=8片,因此存储器可分为4个模块(图中用椭圆标示出来了),每个模块16KX32位,各模块通过A15、A14进行2:4译码,如下图所示。[*]图64KX32位存储器的组成逻辑框图)解析:.一个Cache-主存系统,采用50MHz的时钟,存储器以每一个时钟周期传输一个字的速率连续传输8个字,以支持块长为8个字的Cache,且每个字长为32位。假设读操作所花费的时间:1个周期接收地址,3个周期延迟,8个周期传输8个字;写操作所花费的时间:1个周期接收地址,2个周期延迟,8个周期传输8个字,3个周期恢复和写入纠错码。求下述几种情况下的存储器的带宽。1)全部访问为读操作。2)全部访问为写操作。3)65%的访问为读操作,35%的访问为写操作。(分数:2.71)正确答案:(由于存储系统采用50MHz的时钟,因此每一个时钟周期为1/(50MHz)=20ns。当全部访问为读操作时,一次读操作所花费的时间为T=(l+3+8)X20ns=240nsr故存储器的带宽为B=8/T=8/(240X10-9)^33.3X106字/s~133.2MB/srr当全部访问为写操作时,一次写操作所花费的时间为T=(1+2+8+3)X20ns=280nsw故存储器的带宽为:B=8/T=8/(280X10-9)^28.6X106字/s~114.4MB/sww读/写操作合在一起的加权时间为T=240nsX0.65+280nsX0.35=254ns故存储器的带宽为B=8/T=8/(254X10-9)~31.5X106字/s~126MB/s)解析:⑺.某机器中,配有一个ROM芯片,地址空间为0000H〜3FFFH。现在再用若干个16KX8位的RAM芯片构成一个32KX8位的RAM区域,使其地址空间为8000H〜FFFFH。假设此RAM芯片有CS和WE信号控制端。CPU地址总线为A〜A,数据总线为D〜D,控制信号为RD(读)、WR(写)、MREQ(存储器请求信号),当且15 0 7 0仅当MREQ和RD(或WR)同时有效时,CPU才能对存储器进行读(或写),试画出此CPU与上述ROM芯片、RAM芯片的连接图。(分数:2.71)正确答案:(答案如下图所示。选用两片16KX8位的RAM芯片即可构成一个32KX8位的RAM区域。下面说明应该注意的一些细节问题。[*]图CPU与ROM芯片、RAM芯片的连接图ROM芯片不要连接在[*]信号线上,RAM芯片一定要连。关于RAM的片选信号:由于地址范围应该是8000H〜BFFFH({{U}}10{{/U}}00000000000000〜{{U}}10{{/U}}11111111111111)C000H〜FFFFH({{U}}11{{/U}}00000000000000〜{{U}}11{{/U}}11111111111111),因此两片RAM的%A14分别是10和11(加粗和加下画线的部分),也就是对应了丫2和Y3。)解析:某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示:程序A:inta[256][2S6];•••intsum_array1(){inti,j,sum=0;for(i=0;iV256;i++)for(j=0;jV256;j++)sum+=a[i][j];returnsum;}程序B:inta[256][256];•••intsum_array2(){inti,j,sum=0;for(j=0;jV256;j++)for(i=0;iV256;i++)sum+=a[i][j];returnsum;}假定int类型数据用32位补码表示,程序编译时,i、j、sum均分配在寄存器中,数组a按行优先方式存放,其首地址为320(十进制)。请回答下列问题,要求说明理由或给出计算过程。(分数:7.50)(1).若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?(分数:2.50)正确答案:(Cache结构如下。V… TAG Data此处的行即为块(Block)。直接映射下,每块的Cache结构一般分为4个部分,其中,V:1位,表示所在的块是否有效。…:表示用于Cache一致性维护和替换算法的控制位。TAG:地址转换标记。如果不计算“…”部分,则Cache的大小由V、TAG和Data(数据)3部分组成。在直起射中,可以将地址分为如下3个部分:TAG 块索引 块内本题中,总的寻址位数为28位(228=256M);块内位为6位(26=64),5〜0位;块索引为3位(23=8),8〜6位。因此,TAG=28-6-3=19位,即27〜9位。每行(块)的大小=V+TAG+数据=1+19+64X8位。数据Cache有8行,总容量为(1+19+64X8)X8/8=532B。)解析:(2).数组元素a[0][31]和各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?(分数:2.50)正确答案:(由于数组在存储器中按行优先方式存放,因此每个数组元素占4B。数组首地址为320,因此可知:a[0][31]在存储器中的地址为320+31X4=444=000110111100Ba[l][l]在存储器中的地址为:320+(256+1)X4=1348=010101000100B按直接映射方式,地址分为3部分,块索引在地址的8〜6位,因此两地址所对应的块索引分别为6(110B)、5(101B)。)解析:(3).程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短?(分数:2.50)正确答案:(数组a中每个数据只用了一次,如果程序没有命中,则从主存中读入一块,大小64B,相当于16个整数。对于程序A,如果是按行连续存放的,那么从主存读入一块到Cache(一次失配)后,随后的15次便都Cache命中,读一次管16次,因此命中率为[(216-212)/216]X100%=93.75%程序B随列访问数组a,由于Cache的容量太小,读入的数据块留不到下次用便又被替换,因此每次都失败,命中率为0%。另一种算法是,由于数组a一行的数据量为1KB〉64B,因此访问第0行时,每个元素都不命中,由于数组有256列,数据Cache仅有8行,故访问数组后续列元素仍然不命中,于是程序B的数据访问命中率为0%。由于从Cache读数据比从内存读数据快很多,因此程序A的执行时间更短。分析:1) V、TAG、Data是每个Cache块(行)的必要组成。为了提高效率或者实行替换算法,每个块还需要一些控制位,这些位根据不同的设计要求而定。2) 本题中计算两个数组元素的地址是关键。3) 命中率的计算是本问题的关键。注意数组访问与数组在内存中的存储方式,以及命中率的定义。)解析:某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB;Cache采用直接映射方式,共8行;主存与Cache之间交换的块大小为32B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容如图1和图2所示,图中页框号及标记字段的内容为十六进制形式。请回答下列问题:图2Cache的部分内容(分数:10.00)(1).虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位?哪几位表示页框号(物理页号)?(分数:2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大气污染防治法城管职责题库
- 2026年青年干部黄河保护法专项竞赛题库
- 2026年历史常识与文化素养AI出题
- 2026年智能化工具应用管理晋升知识考核
- 2026年机器人研学旅行竞赛体验课程
- 2026年绿色环保技术突破题集
- 2026年人工智能赋能新质生产力题库
- 2026年题型多样化训练助你轻松备考过关
- 2026年女工特殊劳动保护规定与权益保障测试
- 2026年街道农贸市场及周边环境治理题
- 电离辐射危害及预防方法
- 系统解剖学课件:内脏神经
- GB/T 19515-2023道路车辆可再利用率和可回收利用率要求及计算方法
- GB/T 15587-2023能源管理体系分阶段实施指南
- ICD-9-CM3编码与手术分级目录
- 数据库原理及应用-课件
- 探究物联网的技术特征-说课
- GB/T 18804-2022运输工具类型代码
- LY/T 1726-2008自然保护区有效管理评价技术规范
- GA/T 951-2011紫外观察照相系统数码拍照规则
- 《内部控制》第四章-风险评估课件
评论
0/150
提交评论