第三章:存储系统

1.假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是( )。
A.5%
B.9.5%
C.50%
D.95%
参考答案
D
试题解析
命中率=Cache命中次数/总访问次数。需要注意的是看清题,题中说明的是缺失50次,而不是命中50次,仔细审题是做对题的第一步。

2.下列有关RAM和ROM的叙述中,正确的是( )。
I RAM 是易失性存储器,ROM是非易失性存储器
II RAM和ROM都采用随机存取方式进行信息访问
III RAM和ROM都可用作Cache
IV RAM和ROM 都需要进行刷新
A.仅I和II
B.仅I和III
C. 仅 I,II和IV
D.仅 II,III和IV
参考答案
A
试题解析
RAM (分为DRAM和SRAM)断电后会失去信息,而ROM断电后不会丢失信息,它们都采用随机存取方式(注意,采用随机存取方式的存储器并不一定就是随机存储器)。Cache一般采用高速的SRAM制成,而ROM只可读,不能用作Cache,III错误。DRAM需要定期刷新,而ROM不需要刷新,故IV错误。

3.下列命中组合情况中,一次访存过程中不可能发生的是( )。
A.TLB 未命中,Cache 未命中,Page未命中
B.TLB 未命中,Cache 命中,Page命中
C.TLB 命中,Cache未命中,Page命中
D.TLB 命中,Cache命中,Page未命中

参考答案
D
试题解析
Cache中存放的是主存的一部分副本,TLB(快表)中存放的是Page(页表)的一部分副本。在同时具有虚拟页式存储器(有TLB)和Cache的系统中,CPU发出访存命令,先查找对应的Cache块。
若Cache命中,则说明所需内容在Cache内,其所在页面必然已调入主存,因此Page必然命中,但TLB不一定命中。
若Cache不命中,并不能说明所需内容未调入主存,和TLB、Page命中与否没有联系。但若TLB命中,Page也必然命中;而当Page命中,TLB则未必命中,故D不可能发生。

4.下列各类存储器中,不采用随机存取方式的是( )。
A.EPROM
B.CDROM
C.DRAM
D.SRAM
参考答案
B
试题解析
随机存取方式是指CPU可以对存储器的任一存储单元中的内容随机存取,而且存取时间与存储单元的物理位置无关。选项A、C、D均采用随机存取方式,CD-ROM即光盘,采用串行存取方式。注意:CD-ROM是只读型光盘存储器,而不属于只读存储器(ROM)。

5.某计算机存储器按字节编址,主存地址空间大小为64MB,现用4Mx8位的 RAM 芯片组成32MB的主存储器,则存储器地址寄存器 MAR的位数至少是( )。
A.22位
B.23位
C.25位
D.26位
参考答案
D
试题解析
主存按字节编址,地址空间大小为64MB,MAR的寻址范围为64M=226,故为26位。实际的主存容量32MB不能代表MAR的位数,考虑到存储器扩展的需要,MAR应保证访问到整个主存地址空间,反过来,MAR的位数决定了主存地址空间的大小。

6.偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是( )。
A.间接寻址
B.基址寻址
C.相对寻址
D.变址寻址
参考答案
A
试题解析
间接寻址不需要寄存器,EA=(A)。基址寻址EA=A+基址寄存器BR内容;相对寻址EA=A+程序计数器PC内容;变址寻址EA=A+变址寄存器IX内容。后三者都是将某个寄存器内容与一个形式地址相加而形成有效地址,故选A。

7.采用指令Cache与数据Cache分离的主要目的是( )。
A.降低Cache的缺失损失
B.提高Cache的命中率
C.降低CPU平均访存时间
D.减少指令流水线资源冲突

参考答案
D
试题解析
把指令Cache与数据Cache分离后,取指和取数分别到不同的Cache中寻找,那么指令流水线中取指部分和取数部分就可以很好地避免冲突,即减少了指令流水线的冲突,选D。

8 下列存储器中,在工作期间需要周期性刷新的是( )。
A.SRAM
B.SDRAM
C.ROM
D.FLASH
参考答案
B
试题解析
DRAM使用电容存储,所以必须隔一段时间刷新一次,如果存储单元没有被刷新,存储的信息就会丢失。SDRAM表示同步动态随机存储器。

9.某计算机主存按字节编址,由4个64M×8位的DRAM 芯片采用交叉编址方式构成,并与宽度为32位的存储器总线相连,主存每次最多读写32位数据。若 double型变量x的主存地址为804001AH,则读取x需要的存储周期数是( )。
A.1
B.2
C.3
D.4
参考答案
C
试题解析
由4个DRAM芯片采用交叉编址方式构成主存可知主存地址最低二位表示该字节存储的芯片编号。double型变量占64位, 8 个字节。它的主存地址804 001 AH最低二位是10,说明它从编号为2的芯片开始存储(编号从0 开始)。一个存储周期可以对所有芯片各读取一个字节,因此需要3轮,故选C。

10.下列关于磁盘存储器的叙述中,错误的是( )。
A.磁盘的格式化容量比非格式化容量小
B.扇区中包含数据、地址和校验等信息
C.磁盘存储器的最小读写单位为一字节
D.磁盘存储器由磁盘控制器、磁盘驱动器和盘片组成
参考答案
A
试题解析
每类设备都配置一个设备驱动程序,设备驱动程序向上层用户程序提供一组标准接口,负责实现对设备发出各种具体操作指令,用户程序不能直接和 DMA打交道。DMA的数据传送过程分为预处理、数据传送和后处理3个阶段。预处理阶段由 CPU 完成必要的准备工作,数据传送前由 DMA 控制器请求总线使用权;数据传送由 DMA 控制器直接控制总线完成;传送结束后, DMA 控制器向 CPU 发送中断请求,CPU 执行中断服务程序做DMA结束处理。
11. 引入多道程序的目的在于( )。
A.充分利用CPU,减少CPU等待时间
B.提高实时响应速度
C.有利于代码共享,减少主辅存信息交换量
D.充分利用存储器
参考答案
A
12. 虚拟段页式存储管理方案的特性为( )。
A.空间浪费大、存储共享不易、存储保护容易、不能动态连接
B.空间浪费小、存储共享容易、存储保护不易、不能动态连接
C.空间浪费大、存储共享不易、存储保护容易、能动态连接
D.空间浪费小、存储共享容易、存储保护容易、能动态连接
参考答案
D
13. 假定一台计算机采用3通道存储器总线,配套的内存条型号为DDR3-1333,即内存条所接插的存储器总线的的工作频率为1333MHz,总线宽度为64位,则存储器总线的总带宽大约是( )。
A.10.66GB/s
B.32GB/s
C.64GB/s
D.96GB/s
参考答案
B
试题解析
由题目可知,计算机采用3通道存储器总线,存储器总线的工作频率位1333MHz,即1秒内传送1333M次数据,总线宽度为64位,即单条总线工作一次可传输8字节(B),因此存储器总线的总宽带为3x8x1333MB/s,约为32GB/s,故答案选B。

14.某计算机主存按字节编址,由4个64M×8位的DRAM 芯片采用交叉编址方式构成,并与宽度为32位的存储器总线相连,主存每次最多读写32位数据。若 double型变量x的主存地址为804001AH,则读取x需要的存储周期数是( )。
A.1
B.2
C.3
D.4
参考答案
C
试题解析
由4个DRAM芯片采用交叉编址方式构成主存可知主存地址最低二位表示该字节存储的芯片编号。double型变量占64位, 8 个字节。它的主存地址804 001 AH最低二位是10,说明它从编号为2的芯片开始存储(编号从0 开始)。一个存储周期可以对所有芯片各读取一个字节,因此需要3轮,故选C。

15.某容量位256MB的存储器由若干4Mx8位的DRAM芯片构成,该DRAM芯片的地址引脚和数据引脚总数是( )。
A.19
B.22
C.30
D.36
参考答案
A
试题解析
4Mx8位的芯片数据线应为8根,地址线应为log24M= 22根,而DRAM采用地址复用技术,地址线是原来的1/2,且地址信号分行、列两次传送。地址线数为22/2= 11根,所以地址引脚与数据引脚的总数为11+8=19根,选A。

16.反映存储器性能的三个指标是{ }、{ }、{ },为了解决这三方面的矛盾,计算机采用{ }的体系结构。
参考答案
速度
容量
价格/位
多级存储

17.某虚拟存储器采用页式存储管理,使用LRU页面替换算法。若每次访问在一个时间单位内完成,页面访问的序列如下:1,8,1,7,8,2,7,2,1,8,3,8,2,1,3,1,7,1,3,7。已知主存只允许存放4个页面,初始状态时4个页面是全空的,则页面失效次数是{ }。
参考答案
6
试题解析
LRU算法的思想:每页设置一个计数器,每次命中一页,该页对应的计数器清零,其他各页的计数器加1;需要替换时,将计数值最大的页换出。

18.某32位计算机,CPU主频为800MHz,Cache命中时的CPI为4,Cache块大小为32字节;主存采用8体交叉存储方式,每个体的存储字长为32位存储周期为40ns;存储器总线宽度为32位,总线时钟频率为200MHz,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送32字节,传送地址或32位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或计算过程。
(1)CPU和总线的时钟周期各为多少?总线的带宽(即最大数据传输率)为少?
(2)Cache缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?
(3)存储器总线完成一次读突发传送总线事务所需的时间是多少?
(4)若程序BP执行过程中,共执行了100条指令,平均每条指令需进行1.2次访存,Cache缺失率为5%,不考虑替换等开销,则BP的CPU执行时间是多少?
参考答案
(1)CPU的时钟周期是主频的倒数,即1/800MHz=1.25ns
总线的时钟周期是总线频率的倒数,即1/200MHz=5ns。
总线宽度为32位,故总线带宽为4B×200MHz=800MB/s或4B/5ns=800MB/s。
Cache块大小是32B,因此Cache缺失时需要一个读突发传送总线事务读取一个主存块。
一次读突发传送总线事务包括一次地址传送和32B数据传送:用1个总线时钟周期传输地址:每隔40ns/8=5ns启动一个体工作(各进行1次存取),第一个体读数据花费40ns,之后数据存取与数据传输重叠;用8个总线时钟周期传输数据。读突发传送总线事务时间:5ns+40ns+8×5ns=85ns。
4)BP的CPU执行时间包括Cache命中时的指令执行时间和Cache缺失时带来的额外开销。命中时的指令执行时间:100×4×125ns=500ns。指令执行过程中Cache缺失时的额外开销:1.2×100×5%×85ns=510ns。BP的CPU执行时间:500ns+510ns=1010ns

19.假定计算机的主频为500MHz,CPI为4。现有设备A和B,其数据传输率分别为2MB/s和40MB/s,对应I/O接口中各有一个32位数据缓冲寄存器。请回答下列问题,要求给出计算过程。
(1)若设备A采用定时查询I/O方式,每次输入/输出都至少执行10条指令。设备A最多间隔多长时间查询一次才能不丢失数据?CPU用干设备A输入/输出的时间占CPU总时间的百分比至少是多少?
(2)在中断I/O方式下,若每次中断响应和中断处理的总时钟周期数至少为400,则设备B能否采用中断I/O方式?为什么?
(3)若设备B采用DMA方式,每次DMA传送的数据块大小为1000B,CPU用于DMA预处理和后处理的总时钟周期数为500,则CPU用于设备B输入/输出的时间占CPU总时间的百分比最多是多少?
参考答案
(1)程序定时向缓存端口查询数据,由于缓存端口大小有限,必须在传输完端口大小的数据时访问端口,以防止部分数据未被及时读取而丢失。设备A准备32位数据所用的时间为4B/2MB=2us,所以最多每隔2us必须查询一次,每秒的查询次数至少是1s/2us=5×105,每秒 CPU用于设备A输入/输出的时间至少为5×10×10×4=2×107个时钟周期,占整个CPU时间的百分比至少是2×107/500M=4%。
(2)中断响应和中断处理的时间为400×(1/500M)=0.8us,这时只需判断设备B准备32位数据要多久,如果准备数据的时间小于中断响应和中断处理的时间,那么数据就会被刷新,造成丢失。经过计算,设备B准备32位数据所用的时间为4B/40MB=0.1us,因此设备B不适合采用中断I/O方式。
(3)在DMA方式中,只有预处理和后处理需要CPU处理,数据的传送过程是由DMA控制的。设备B每秒的DMA次数最多为40MB/1000B=40000,CPU用于设备B输入/输出的时间最多为40000×500=2×107个时钟周期,占CPU总时间的百分比最多为2×107/500M=4%。

20.设有一个具有20位地址和32位字长的存储器,问:(课本后习题)[简答题]
(1)该存储器能存储多少字节的信息?
(2)如果存储器由512K×8位SRAM芯片组成,需要多少片?
(3)需要多少位地址作芯片选择?
参考答案
(1)220×32÷8=4M字节
(2)(1024K×32)÷(512K×8)=2×4=8片
(3)1位地址作芯片选择

21.已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M×8位的DRAM芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问:(课本后习题)[简答题]
(1) 若每个内存条为16M×64位,共需几个内存条?
(1) 每个内存条内共有多少DRAM芯片?
(1) 主存共需多少DRAM芯片?CPU如何选择各内存条?
参考答案
(1) (226×64)÷(220×64)=26=64个模块
(2) (220×64)÷(210×28×16)=16每个模块要16个DRAM芯片
(3) 64×16=1024块由高位地址选模块

22.段式虚拟存储器对程序员是否透明?请说明原因。
参考答案
虚拟管理是由软件(操作系统)和硬件共同完成,由于软件的介入,虚存对实现存储管理系统程序不透明。而段是按照程序的自然分界划分的长度可以动态改变的区域。通常,程序员把子程序、操作数和常数等不同类型的数据划分到不同的段中,并且每个程序可以有多个相同类型的段。由于分段是由程序员完成的,所以段式虚拟存储器对程序员而言不是透明的,但虚存到实存的地址映射是由系统软件辅助完成的,故对应用程序而言,段是虚拟存储器是“半透明’的。

23.为什么在页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址,而在段式虚拟存储器地址变换时必须用段起址与段内偏移量相加才能得到物理地址?
参考答案
由于物理页与虚拟页的页面大小相同,且为2的整数次幂,所以页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址。而段式虚拟存储器的各段大小不同,且段起始地址任意,所以必须用段起址与段内偏移量相加才能得到物理地址。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值