计算机组成原理 存储器层次结构 考研真题及例题解析.docx
《计算机组成原理 存储器层次结构 考研真题及例题解析.docx》由会员分享,可在线阅读,更多相关《计算机组成原理 存储器层次结构 考研真题及例题解析.docx(19页珍藏版)》请在冰豆网上搜索。
计算机组成原理存储器层次结构考研真题及例题解析
存储器层次结构真题及例题解析
在本章的内容中,需要重点掌握的有存储器的组成、Cache的映像等。
本节按照研究生入学考试的试题样式,参考历年的真题和全国40所高校的研究生入学试题,组织了相关的真题及解析,供参考。
一、单项选择题
例题1:
某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。
每个主存块大小为32字节,按字节编址。
主存129号单元所在主存块应装入到的Cache组号是
(1)。
[2009年试题14]
(1)A.0B.2C.4D.6
例题1分析
组相联映射方式是将某一主存块j按模Q(Q是Cache的组数)映射到Cache的第i组中的任一块,即i=jmodQ。
根据题目条件可知,Q=16/2=8组。
因为每个主存块大小为32字节,按字节编址,所以主存129号单元所在的主存块号为4(注意:
从0开始计数),所以i=4mod8=4。
每个主存块大小为32字节,4位,每组2块8位,129/8=16
例题1答案:
C
例题2:
某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。
现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是
(2)。
[2009年试题15]
(2)A.1、15B.2、l5C.1、30D.2、30
例题2分析
因为1B=8位,ROM区的总大小为4KB,即为4K×8位,那么需要的ROM芯片数为:
(4K×8位)/(2K×8位)=2片。
64KB-4KB=60KB,即60K×8位,那么需要的RAM芯片数为:
(60K×8位)/(4K×4位)=30片。
例题2答案:
D
例题3:
假设某计算机的存储系统由Cache和主存组成。
某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是(3)。
[2009年试题21]
(3)A.5%B.9.5%C.50%D.95%
例题3分析
程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,也就是说Cache完成存取的总次数为1000-50=950。
那么Cache的命中率=(1000-50)/1000=95%。
例题3答案:
D
例题4:
假定用若干个2K×4位芯片组成一个8K×8位存储器,则地址0B1FH所在芯片的最小地址是(4)。
[2010年试题15]
(4)A.0000H B.0600H C.0700H D.0800H
例题4分析
芯片的大小为2K×4位,而存储器的大小为8K×8位,不难得出要获得这样一个大小的存储器,需要8片2K×4位的芯片。
如果按字节编址,对应一个大小为8K×8位的存储器,需要13位地址,其中高3位为片选地址,低10位为片内地址,而题目给出的地址0B1FH转换为二进制为0101100011111,其高3位为010,即片选地址为2。
因此,地址0B1FH对应第2片芯片,该芯片的起始地址(最小地址)为0100000000000,即0800H。
例题4答案:
D
例题5:
下列有关RAM和ROM的叙述中,正确的是(5)。
[2010年试题16]
IRAM是易失性存储器,ROM是非易失性存储器
IIRAM和ROM都采用随机存取方式进行信息访问
IIIRAM和ROM都可用做Cache
IVRAM和ROM都需要进行刷新
(5)A.仅I和II B.仅II和IIIC.仅I,II,IIID.仅II,III,IV
例题5分析
对于计算机系统中的存储器,常用的数据存取方式有顺序存取、直接存取、随机存取和相联存取四种。
其中RAM和ROM都是采用随机存取方式。
RAM具有读/写方便,使用灵活等优点,但断电后无法保存信息,因此只能用于暂存数据,可用于主存和高速缓冲存储器。
ROM的信息是固化在存储器中,断电后仍然能保存信息,信息不容易丢失。
但ROM中的信息只可读出,无法改写,当然不需要刷新。
一般用于存放系统程序BIOS和用于微程序控制,不适合用于读写频繁的Cache。
例题5答案:
A
例题6
下列命令组合情况中,一次访存过程中,不可能发生的是(6)。
[2010年试题17]
(6)A.TLB未命中,Cache未命中,Page未命中
B.TLB未命中,Cache命中,Page命中
C.TLB命中,Cache未命中,Page命中
D.TLB命中,Cache命中,Page未命中
例题6分析
TLB是缓存曾经访问过的虚拟地址所指向的物理地址,以使将来快速得到相同物理地址的高速存储器,可以与Cache的作用相类比。
在一次访问存储器的过程中,如果能够Cache命中,很显然,说明就访问到了需要的页(Page),即Page命中。
同样的道理,如果能够TLB命中,也说明访问到了需要的页,如果这两者都命中,那么页肯定命中。
因此本题中选项D的情况是不可能发生的。
例题6答案:
D
例题7:
下述关于存储器的描述中,正确的是(7)。
(7)A.CPU访存时间由存储器容量决定
B.ROM和RAM在存储器中是统一编址的
C.ROM中任一单元可随机性访问
D.DRAM是破坏性读出,因此需要读后重写
例题7分析
随机存储器RAM中任何存储单元的内容都能随机存取,且存取时间和存储单元的物理位置无关。
由于存取原理的不同,又分为静态RAM和动态RAM。
静态RAM以触发器原理寄存信息,动态RAM以电容充放电原理寄存信息,对动态RAM的读出是破坏性读出,因此需要读后重写。
只读存储器ROM只能对其存储的内容读出,而不能对其重新写入。
一般来说,CPU访问存储器的时间与存储器容量的大小无关(或者说关系很小),而是由存储单元的材料决定的。
例题7答案:
D
例题8:
下面关于主存储器性能说法中,不正确的是(8)。
(8)A.衡量一个主存储器的性能指标主要有主存容量、存储器存取时间和存储周期
B.指令中地址码的位数决定了主存储器可以直接寻址的空间
C.存储器存取时间是指从启动一次存储器操作到完成该操作所经历的时间
D.存储周期是指连续启动两次独立的存储器操作所需间隔的最小时间,通常存储周期略小于存取时间,其差别主要与主存储器的物理实现细节有关
例题8分析
衡量一个主存储器的性能指标主要有主存容量、存储器存取时间和存储周期。
指令中地址码的位数决定了主存储器可以直接寻址的空间。
存储器存取时间是指从启动一次存储器操作到完成该操作所经历的时间。
存储周期是指连续启动两次独立的存储器操作所需间隔的最小时间,通常存储周期略大于存取时间,其差别主要与主存储器的物理实现细节有关。
例题8答案:
D
例题9:
若一台计算机的字长为4个字节,则表明该机器(9)。
(9)A.能处理的数值最大为4位十进制数
B.能处理的数值最多由4位二进制数组成
C.在CPU中能够作为一个整体处理32位的二进制代码
D.在CPU中运算的结果最大为232
例题9分析
字长是计算机内部一次可以处理的二进制数码的位数。
如果计算机的字长为4个字节,则说明该计算机在CPU中能够作为一个整体处理32位的二进制代码。
例题9答案:
C
例题10:
现有存储器SRAM、DRAM、Cache以及寄存器、磁盘、磁带和光盘,存储容量由大到小,存取时间由快到慢的顺序为(10)。
(10)A.寄存器,Cache,SRAM,DRAM,磁盘,光盘,磁带
B.Cache,寄存器,SRAM,DRAM,磁盘,光盘,磁带
C.寄存器,Cache,DRAM,SRAM,磁盘,光盘,磁带
D.寄存器,Cache,SRAM,DRAM,磁带,磁盘,光盘
例题10分析
计算机存储系统的层次结构如图3-19所示。
根据图3-19可知,存储器SRAM、DRAM、Cache以及寄存器、磁盘、磁带和光盘,存储容量由大到小,存取时间由快到慢的顺序为寄存器、Cache、SRAM、DRAM、磁盘、光盘、磁带。
例题10答案:
A
例题11:
动态存储器DRAM的刷新原则是(11)。
(11)A.各DRAM芯片轮流刷新
B.各DRAM芯片同时刷新,片内逐位刷新
C.各DRAM芯片同时刷新,片内逐字刷新
D.各DRAM芯片同时刷新,片内逐行刷新
例题11分析
为了使已写入存储器的信息保持不变,一般每隔一定时间必须对存储体中的所有记忆单元的栅极电容补充电荷,这个过程就是刷新。
刷新的时间间隔由栅极电容的泄放速度决定,一般选定MOS型动态存储器允许的最大刷新间隔为2ms。
刷新和重写是两个完全不同的概念,重写是随机的,某个存储单元只有在破坏性读出之后才需要重写,而刷新是定时的,即使许多记忆单元长期未被访问,若不及时补充电荷的话,信息就会丢失。
无论是由刷新控制逻辑产生的地址逐行循环的刷新,还是芯片内部自动的刷新,都不依赖外部的访问,刷新对CPU是透明的。
刷新通常是一行一行地进行的,每一行中各记忆单元同时被刷新,故刷新操作时仅需要行地址,不需要列地址。
刷新操作类似于读出操作,但又有所不同,因为刷新操作仅是给栅极电容补充电荷,不需要输出信息,另外刷新不需要加片信号,即整个存储器中的所有芯片同时被刷新。
例题11答案:
D
例题12:
在一个引入Cache的计算机主存中,已知Cache为16KB,主存为128MB,Cache中块的大小为1KB,当采用直接地址映像时,主存地址的二进制格式为(12)。
(12)A.7位区号,4位块号,1位内地址
B.7位区号,16位块号,11位内地址
C.13位区号,4位块号,10位内地址
D.27位区号,14位块号,10位内地址
例题12分析
Cache容量为16KB,因为16KB=214,所以Cache的地址为14位。
Cache块的大小为1KB,所以块内地址10位,块地址为4位。
主存容量为128MB,因为128MB=227,所以主存的地址为27位。
Cache中块的大小为1KB,采用直接地址映像,则Cache可以分为16块,也就是说,主存的每个区(页)有16块,而主存一共有128MB/1KB=217块,即主存可以分为217/16=213个区,所以区号为13位。
例题12答案:
C
例题13:
用于存储器的芯片有不同的类型。
可随机读写,且只要不断电,则其中存储的信息就可一直保存的,称为(13)。
可随机读写,但即使在不断电的情况下其存储的信息也要定时刷新才不致丢失的,称为(14)。
所存信息由生产厂家用掩膜技术写好后就无法再改变的称为(15)。
通过紫外线照射后可擦除所有信息,然后重新写入新的信息并可多次进行的,称为(16)。
通过电信号可在数秒钟内快速删除全部信息,但不能进行字节级别删除操作的,称为(17)。
(13)A.RAMB.VRAMC.DRAMD.SRAM
(14)A.RAMB.VRAMC.DRAMD.SRAM
(15)A.EPROMB.PROMC.ROMD.CDROM
(16)A.EPROMB.PROMC.ROMD.CDROM
(17)A.E2PROMB.FlashMemoryC.EPROMD.VirtualMemory
例题13分析
有关这些概念,在前面的章节中都已经介绍,下面直接给出这些存储器的区别,如表3-1所示。
表3-1几种存储器之间的比较
类 型
保持数据
可 写
擦除大小
擦除次数
价 格
读写速率
静态RAM
×
√
字节
无限
昂贵
快
动态RAM
×
√
字节
无限
中等
中等
ROM
√
×
便宜
快
PROM
√
一次使用编程器
中等
快
EPROM
√
√使用编程器
整个芯片
有限
中等
快
EEPROM
√
√
字节
有限
昂贵
读快写慢
Flash
√
√
区
有限
中等
读快写慢
NVRAM
√
√
字节
无限
昂贵
快
例题13答案:
(13)D(14)C(15)C(16)A(17)B
例题14:
虚拟存储管理系统的基础是程序的(18)理论。
这个理论的基本含义是指程序执行时往往会(19)访问内存储。
程序的(18)表现在(20)和(21)上。
(20)是指最近被访问的存储单元可能马上又要被问。
(21)是指马上被访问的单元,而其附近的单元也可能马上被访问。
根据这个理论,Denning提出了工作集理论。
工作集是进程运行时被频繁地访问的页面集合。
在进程运行时,如果它的工作页面都在(22)器内,能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象。
(18)A.局部性B.全局性C.动态性D.虚拟性
(19)A.频繁地B.均匀地C.不均匀地D.全面地
(20)A.数据局部性B.空间局部性C.时间局部性D.数据全局性
(21)A.数据局部性B.空间局部性E.空间全局性F.时间全局性
(22)A.外部存储B.主存储C.辅助存储D.虚拟存储
例题14分析
虚拟存储管理系统从逻辑上扩充了内存容量,使用户感觉到的存储容量远远大于实际的内存容量,实质是让作业存在的地址空间与运行时存放作业的内存空间分开。
用户可在地址空间内编写程序,而无须去考虑实际内存的大小。
其理论基础是程序的局部性原理。
根据程序的局部性理论,Denning提出了工作集理论。
工作集是指进程运行时被频繁访问的页面集合。
显然只要使程序的工作集全部在内存(主存储器)当中,就可以大大减少进程的缺页次数。
否则会使进程在运行中频繁出现缺页中断,从而出现频繁的页面调入/调出现象,造成系统性能下降,甚至出现抖动(颠簸)。
例题14答案:
(18)A(19)C(20)C(21)B(22)B
例题15
一个虚拟存储系统由容量C1=8MB的主存和容量C2=800MB的辅存的两级存储器所构成。
主存每位平均代价pl=10个单位成本,辅存每位平均代价p2=1个单位成本。
相对CPU而言,从主存读出时间tA1=500ns,从辅存读出时间tA2=5ms。
为了测定是否达到高的存取速率和低的位成本等,可以统计一组Benchmark程序,获得访问主存次数
,访问辅存次数
。
那么,本虚存系统的两级存储器的读出时间比γ=(23),每位平均代价p=(24)单位成本,命中率H=(25),平均读出时间tA=(26)μs。
(23)A.102B.103C.104D.105
(24)A.1.08B.1.09C.1.10D.2.09
(25)A.0.98B.0.998C.0.999D.1
(26)A.10.5B.20.5C.50.5D.100.5
例题15分析
由于辅存的读出时间为5ms=5000μs=5000000ns,所以两级存储器的读出时间比为:
要计算每位的平均代价,则需要计算出两级存储器的成本之和,再除以总容量,即:
(8×220×8×10+800×220×8×1)/(8×220×8+800×220×8)=110/101=1.891
例题15答案:
(23)C(24)B(25)B(26)D
例题16:
容量为64块的Cache采用组相联方式映像,每块大小为128个字,每4块为一组。
若主存容量为4096块,且以字编址,那么主存地址应该为(27)位,主存组号为(28)位。
(27)A.16B.17 C.18 D.19
(28)A.5B.6 C.7 D.8
例题16分析
组相联映射是直接映射和全相联映射的折中方案。
它将Cache中的块再分成组,通过直接映射方式决定组号,通过全相联映射的方式决定Cache中的块号。
主存容量为4096块,每块大小为128个字,则主存大小为4096×128=219个字,主存以字编址,因此,主存地址应该为19位。
在组相联映像方式中,主存中一个组内的块数与Cache的分组数相同。
Cache容量为64块,每4块为一组,则可以分为64/4=16组,所以主存需要分为4096/16=256(每组16块),即28组,因此主存组号需8位。
例题16答案:
(27)D(28)D
例题17:
虚拟存储器的作用是允许(29)。
它通常使用(30)作为它的一个主要组成部分。
对它的调度方法与(31)基本相似,即把要经常访问的数据驻留在高速存储器中,因为使用虚拟存储器,指令执行时(32)。
在虚拟存储系统中常使用相联存储器进行管理,它是(33)寻址的。
(29)A.直接使用外存替代内存
B.添加比地址字长允许的更多内存容量
C.程序直接访问比内存更大的地址空间
D.提高内存的访问速率
(30)A.CDROMB.硬盘C.软盘D.寄存器
(31)A.CacheB.DMAC.I/OD.中断
(32)A.所需的数据一定能在内存中找到
B.必须先进行虚、实地址交换
C.必须事先使用覆盖技术
D.必须先将常用子程序调入内存
(33)A.按地址B.按内容C.寄存器D.计算
例题17分析
所谓虚拟存储技术,即在内存中保留一部分程序或数据,在外存(硬盘)中放置整个地址空间的副本。
程序运行过程中可以随机访问内存中的数据或程序,当需要的程序或数据不在内存时,就将内存中部分内容根据情况写回外存,然后从外存调入所需程序或数据,实现作业内部的局部对换,从而允许程序的地址空间大于实际分配的存储区域。
虚拟存储器的调度方法与Cache基本相似。
当指令执行时,如果操作对象不在内存,就向操作系统发出缺页中断。
这时操作系统按照某种替换算法挑选某一物理页,根据情况决定是否将其写回外存,然后从外存中调入相应页面进行覆盖,并修改页表。
而内存中存储的数据和程序是以物理地址来表示的,这样,在执行一条指令时,必须先进行从逻辑地址到物理地址的交换(这个过程称为地址映射),即虚实地址的交换。
在虚拟存储器系统中,常使用相联存储器进行管理,它是按内容寻址的。
例题17答案:
(29)C(30)B(31)A(32)B(33)B
例题18:
实存的存储分配算法用来决定输入的程序和数据放到主存中的位置,总是将程序装入主存中最大的空闲区域的算法称为(34)。
(34)A.最佳适应算法B.最差适应算法C.首次适应算法D.循环首次适应算法
例题18分析
通常使用的四种存储分配算法如下。
首次适应算法:
将内存中的可用分区单独组成可用分区表或可用分区自由链,按起始地址递增的次序排列。
每次按递增次序向后找,一旦找到大于或等于所要求内存长度的分区,则结束探索,从找到的分区中找出所要求的内存长度分配给作业,并把剩余的部分进行合并。
循环首次适应算法:
首次适应算法经常利用的是低地址空间,后面经常是较大的空白区,为使内存所有线性地址空间尽可能地轮流使用到,每重新分配一次,都要在当前之后寻找。
最佳适应算法:
将输入作业放入主存中与它所需大小最接近的空白区中,使剩下的未用空间最小,该算法要求空白区大小按从小到大次序组成空白区可用表或自由链。
在进行分配时总是从最小的一个开始查询,找到一个能满足要求的空白区便是最佳的一个。
最差适应算法:
分配时将一个作业程序放入主存中最不适合它的空白区,即最大的空白区(空闲区)内。
例题18答案:
B
例题19:
下面关于Cache的说法中,不正确的是(35)。
(35)A.Cache存储器中保存的字块是主存中相应字块的一个副本
B.Cache的容量和块的大小是影响命中率的重要因素
C.从现实而言,Cache可以取代主存
D.一般来说,Cache的存储容量比主存的容量小得多,但不能太小,太小会使命中率太低。
也没有必要过大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的增加将不会有明显的增长
例题19分析
Cache从理论上讲可以取代主存,但是当用Cache取代主存时,主存价格增长幅度大,在速度上比带Cache的存储器提高不了多少,并且用Cache做主存,则主存和辅助存储器的速度差别加大,在信息调入时,需要更多的额外开销,因此从现实而言,Cache难以取代主存。
例题19答案:
C
例题20:
假设某计算机具有1MB的内存(目前使用计算机往往具有的内存数比这大得多),并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制(36)位。
为了使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,1字节的地址码应(37)。
若存储器周期为200ns,且每个周期可访问4字节,则该存储器带宽为(38)b/s。
假如程序员可用的存储空间为4MB,则程序员所用的地址为(39),而真正访问内存的地址称为(40)。
(36)A.10B.16C.20D.32
(37)A.最低两位为00B.最低两位为10C.最高两位为00D.最高两位为10
(38)A.20MB.40MC.80MD.160M
(39)A.有效地址B.程序地址C.逻辑地址D.物理地址
(40)A.指令地址B.物理地址C.内存地址D.数据地址
例题20分析
1MB=220B,所以1MB内存按字节编址,地址寄存器至少需要20位。
如果采用字节编址,4字节一次读出,即字长为32位,每个字有4个单独编址的存储字节,字地址是该字高位字节的地址,总是等于4的倍数,正好用地址码的最低两位(为0)来区分同一字的4字节。
若存储周期为200ns,每个周期可访问4字节,其带宽为:
说明:
在存储速度方面,1K=1000,1M=1000K。
因为可用的4MB内存空间超出了实际的物理内存1MB,称为逻辑地址,实际访问内存的地址为物理地址。
在程序运行时,需要把逻辑地址映射为实际的物理地址。
例题20答案:
(36)C(37)A(38)D(39)C(40)B
例题21:
某虚拟存储器的用户编程空间共32个页面,每页1KB,主存为16KB。
假定某时刻该用户页表中已调入主存的页面的虚页号和物理页号对照表如表3-2所示。
表3-2虚页号和物理页号对照表
虚 页 号
物理页号
0
5
1
10
2
4
8
7
虚地址与相对应的物理地址的关系如表3-3所示。
表3-3虚地址与物理地址对照表
虚 地 址
物理地址
0A5CH
(46)
1A5CH
(47)
(46)A.页失效B.2A5CHC.165CHD.125CH
(47)A.页失效B.1E5CHC.2A5CHD.1