第3章存储系统的层次结构(考研组成原理)

3.1.2习题精选

一、单项选择题

1.【2011年计算机联考真题】

下列存储器中,不采用随机存取方式的是():

A .EPROM B.CDROM C.DRAM D.SRAM

答案:B

A 、C 、D 均采用随机存取方式,CDROM 即光盘,采用串行存取方式。

2. 磁盘属于( )类型的存储器.

A .随机存取存储器(RAM ) B. 只读存储器(ROM )

C .顺序存取存储器(SAM ) D. 直接存取储存器(DAM )

答案:D

磁盘属于直接存取存储器,其速度介于随机存取存储器和顺序存取存储器之间。

3. 存储器的存取周期是指( )。

A .存储器的独处时间

B .存储器的写入时间

C .存储器进行连续或写操作所允许的最短时间间隔。

D .存储器进行一次读或写操作的平均时间。

答案: C

存储器的存取周期往往大丁存取时间,它还包括信息的复原时间。

4. 主存储器速度的表示中,存取时间(Ta )和存取周期(Tc )的关系表述正确的是:

A .Ta>Tc B. Ta

D. Ta>Tc或Ta

答案: B

存取时间(Ta)指从存储器读出或者写入一次信息所需要的平均时间{存取周期(Tc)

指连续两次访问存储器之间所必需的最短时间间隔。对Tc 一般有:Tc=Ta+Tr,其中Tr 为复原时间:对SRAM 指存取信息的稳定事件,对DRAM 指刷新的又一次存取时间。

5. 设机器字长为32位一个容量为16MB 的存储器,CPU 按半字节寻址岂可寻址的单元数为( )

24 2322 21 A .2 B.2 C. 2 D 2

答案: B

16MB=224B ,由于字长为32位,现在按半字(16位)寻址,故而为224B/2B=223

6. 相联存储器是按( )进行寻址的存储器。

A .地址指方式 B. 对战存储方式

C .内容指定方式和堆存储方式相结合 D. 内存指定方式和地址指方式相结合

答案:D

相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项(即关键字项)去 检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写入。所以它是按 内容或地址进行寻址的,价格较为昂贵。 一般用来制作TLB 、相联Cache 等。

7. 某计算机系统,其操作系统保存在硬盘上,其内存存储器应该采用()

A .RAM B. ROM C. RAM和ROM D. 都不对

答案:C

操作系统保存在硬盘上,首先需要将其引导到主存中,而引导程序通常存放在ROM 巾, 程序运行需要可读可写,因此采用RAM 。

8. 在下列几种存储器中,CPU 不能直接访问的是( )。

A .硬盘 B. 内存 C. Cache D.寄存器

答案:A

CPU 不能直接访问硬盘,需先将硬盘中的数据调入内存才能被CPU 所访问。

9. 若某存储器存储周期为250ns, 每次读出16位,则该存储器的数据传输率是( )

A .4×106 B/s B. 4MB/s C.8×106 B/s D.8MB/s

答案:C

计算的是存储器的带宽,每个存储周期读出l6 bit= 2B,故而数据传输率是2B/(250× l

609s) .即8×10B/s。本题中8MB/s是8×1024×1024B/s。

10. 设机器字长为64位,存储容量为128MB ,若按字编址,他可寻址的单元个数是( )

A .16MB. B.16M. C. 32M. D. 32MB.

答案:B

128MB/(64/8)B=16M.

3.2.2习题精选

一、单项选择题

1. 计算机的存储器采用分级方式是为了( )

A .方便变成 B. 解决容量、速度、价格三者之间的矛盾

C .保存大量的数据方便 D. 操作方便

答案:B

存储器有3个主要特性:速度、容量和价格/位(简称位价)。存储器采用分级方式是为了解决这三者之间的矛盾。

2. 计算机的存储系统是指( )

A .RAM B. ROM C. 主存储器 D. Cache、主存储器和外存储器

答案: D

计算机的存储系统包括CPU 内部寄存器、Cache 、主存和外存。

3. 在多级存储体系中,“Cache —主存”结构的作用是解决( )问题。

A .主存容量不足 B. 主存与辅存速度不匹配

C. 辅存与CPU 速度不匹配 D. 主存与CPU 速度不匹配

答案: D

Cache 中的内容只是主存部分内容的备份,因而Cache-主存结构并没有增加主存容量

4. ( )存储结构对程序员是透明的。

A .通用寄存器 B. 主存 C. 控制寄存器 D. 堆栈

答案: C

控制寄存器(CRO~CR3) 用于控制和确定处理器的操作模式,以及当前执行任务的特性,对程序员是透明的。

5. 存储器分层体系结构中,存储器从速度最快到最慢的排列顺序是( )。

A .寄存器—主存—Cache —辅存 B. 寄存器—主存—辅存—Cache

C. 寄存器—Cache —辅存—主存 D. 寄存器—Cache —主存—辅存

答案: D

在存储器分屡结构中,寄存器最快,Cache 次之,主存再次之,最慢的是辅存(如磁盘等)。

6. 在Cache 和主存构成的两级存储体系中,Cache 的存取时间是100ns, 主存的存储时间是1000ns ,如果希望有效(平均)存取时间按不超过Cache 存取时间的115%,则Cache 的命中率至少应为( )。

A .90% B. 98% C. 95% D. 99%

答案: D

假设命中率为x ,则可得到lOOx+lOOO(1-x) ≤1OO ×(1+15%),简单计算后可得结果为x ≥98.33%,因此命中率至少为99%。

二、综合应用题

1.某个两级存储器系统的平均访问时间为12ns ,该存储器系统中顶层存储器的命中率为90%,访问时间是5ns ,问:该存储器系统中底层存储器的访问时间是多少?(假设采用同时访问两层存储器的方式)

答案:设底层存储器访问时间为T ,则有12n=(0.90×5ns)+(O.1O×T). 求得T=75ns。

2.CPU 执行一段程序时.Cache 完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache 存取周期为50ns ,主存存取周期为250ns 。求:

1) Cache/主存系统的效率。

2) 平均访问时间。

答案:

1) 命中率H=Nc /(Nc + Nm ) =1900/(1900+ 100)= 0.95

主存访问时间是Cache 的倍率:r=tm /te =250ns/50ns=5

访问效率:e=1/[r+(1-r)H=l/[5+(1-5)×0.95]= 83.3%

2) 平均访问时间:t a =tc /e= 50ns/0.833= 60ns

3.3.2习题精选

一、单项选择

1. 某一SRAM 芯片,其容量为1024×8位,除电源和接地端外,该芯片的引脚的最小数目为( )

A. 21 B. 22 C. 23 D. 24

答案: A

芯片容量为1024×8位,说明芯片容量为1024B ,且以字节为单位存取,也就是说地址线 数要10位。而数据线要8bit 来传输1字节,加上片选线和读/写控制线(读控制为RD 或OE ).故为10+8+1+1+1=21根线。

2. 某容器容量为32K ×16位,则( )

A. 地址线为16根,数据线为32根 B. 地址线为32根,数据线为16根

C. 地址线为16根,数据线为32根 D. 地址线为16根,数据线为32根

答案:C

该芯片16位,所以数据线为16根,寻址空间32K=215,所以地址线为15根。

3.若RAM 中每个存储单元为l6位,则下面所述正确的是( )。

A.地址线也是16位 B.地址线与l6无关

C .地址线与16有关 D.地址线不得少于l6位

答案:B

地址线只与RAM 的存储单元个数有关,而与存储单元的字长无关。

4.DRAM 的刷新是以( )为单位的。

A.存储单元 B.行

C .列 D.存储字

答案:B

DRAM 的刷新按行进行。

5.动态RAM 采用下列哪种刷新方式时,不存在死时间( )。

A.集中刷新 B.分散刷新

C .异步刷新 D.都不对

答案:B

采用分散刷新时,机器的存取周期中的一段用来读/写,另一段用来刷新,故不存在死时间,但是存取周期变长了。异步刷新缩短了死时间,但死时间依然存在。

6.下面是有关DRAM 和SRAM 存储器芯片的叙述:

Ⅰ. DRAM芯片的集成度比SRAM 高

Ⅱ. DRAM芯片的成本比SRAM 高

Ⅲ.DRAM 芯片的速度比SRAM 快

Ⅳ.DRAM 芯片工作时需要刷新,SRAM 芯片工作时不需要刷新

通常情况下,错误的是( )。

A.Ⅰ和Ⅱ B.Ⅱ和Ⅲ

C .Ⅲ和Ⅳ D. Ⅰ和Ⅳ

答案:B

DRAM 的集成度高于SRAM ,SRAM 的速度高于DRAM ,可以推出DRAM 的成本低于SRAM ,SRAM 芯片工作时不需要刷新,DRAM 芯片工作时需要刷新。

7.下列说法中,正确的是( )。

A.半导体RAM 信息可读可写,且断电后仍能保持记忆

B. DRAM是易失性RAM ,而SRAM 中的存储信息是不易失的

C.半导体RAM 是易失性RAM ,但只要电源不断电,所存信息是不丢失的

D. 半导体RAM 是非易失性的RAM

答案:C

RAM 属于易失性半导体,SRAM 和DRAM 的区别在于是否需要动态刷新。

8.关于SRAM 和DRAM .下列叙述中正确的是( )。

A.通常SRAM 依靠电容暂存电荷来存储信息,电容上有电荷为l ,无电荷为0.

B. DRAM依靠双稳态电路的两个稳定状态来分别存储O 和1.

C. SRAM速度较慢,但集成度稍高:DRAM 速度稍快,但集成度低。

D. SRAM速度较快,但集成度稍低;DRAM 速度稍慢,但集成度高。

答案:D

SRAM 依靠双稳态电路的两个稳定状态来分别存储0和1;DRAM 依靠电容暂存电荷来存储信息,电容上有电荷为1,无电荷为0。前者速度较快,不需要动态刷新,但集成度稍低,功耗大,单位价格高;后者集成度高,功耗小,单位价格较低,需定时刷新,故速度慢。

9.某一DRAM 芯片,采用地址复用技术,其容量为1024x8位,除电源和接地端外,该芯片的引脚数最少是( )

A. 16 B.17 C.19 D.21

答案:B

1024x8位,故而可寻址范围是1024B .按字节寻址。而采用地址复用技术,通过行通选和列通选分行列两次传送地址信号,故而地址线减半为5根,数据线为8根:加上行通选和列通选以及读/写控制线(片选线用行通选代替)4根,总共是17根。

二、综合应用题

1.在显示适配器中,用于存放显示信息的存储器称为刷新存储器,它的重要性能指标是带宽。具体工作中,显示适配器的多个功能部分要争用刷新存储器的带宽。设总带宽50%用于刷新屏幕,保留50%带宽用于其他非刷新功能,且采用分辨率为1024×768像素,颜色深度为3B ,刷新频率为72Hz 的工作方式。

1)试计算刷新存储器的总带宽。

2) 为达到这样高的刷新存储器带宽,应采取何种技术措施?

答案:1) 因为刷新带宽W1=分辨率×像索点颜色深度×刷新速率

-1024×768×3B×72/s

=165888KB/s

所以刷新总带宽W0=W1(W0/W1)

-165888KB/s xl00/50=331776KB/s

—331.776MB/s

2)为了提高刷新存储器带宽,可采用以下技术:①采用高速DRAM 芯片:②采用多体1交叉存储结构;⑧刷新存储器至显示控制器的内部总线宽度加倍;④采用双端口存储器将刷新端口和更新端口分开。

2.一个1K ×4位的动态RAM 芯片,若其内部结构排列成64x64形式,且存取周期为0.lµs

1) 若采用分散刷新和集中刷新(即异步刷新)相结台的方式,刷新信号周期应取多少?

2) 若采用集中刷新,则对该存储芯片刷新一遍需多少时间?死时间率是多少?

答案:

1) 采用分散和集中刷新相结合的方式,对排列成64×64的存储芯片,需在2ms 内将“行各刷新一遍,则刷新信号的时间间隔为2ms/64=31.25μs ,故可取刷新周期为[31.25]=31μs 。

2) 采用集中刷新,对64x64的芯片,需在2ms 内集中64个存取周期刷新64行。题中给出的存取周期为0.1μs ,即在2ms 内集中6.4μs 刷新,则死时间率为(6.4/2000)×100%=0.32%。

3.4.2 习题精选

单项选择题

1.【2010年计算机联考真题】

下列有关RAM 和ROM 的叙述审,正确的是( )。

Ⅰ.RAM 是易失性存储器.ROM 是非易失性存储器

Ⅱ.RAM 和ROM 都是采用随机存取的方式进行信息访问

Ⅲ.RAM 和ROM 都可用做Cache

Ⅳ.RAM 和ROM 都需要进行刷新

A .仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ、Ⅱ和Ⅲ D.仅Ⅱ、Ⅲ和Ⅳ

答案: A

一般Cache 采用高速的SRAM 制作,比ROM 速度快很多,因此Ⅲ是错误的,用排除法即可选A 。RAM 需要刷新,而ROM 不需要刷新。

2.下列几种存储器中,( )是易失性存储器。

A .Cache B.EPROM

C. Flash Memory D. CD-ROM

答案:A

Cache 由SRAM 组成,属于易失性存储嚣。

3.U 盘属于( )类型的存储器。

A .高速缓存 B.主存

C .只读存储器 D.随机存取存储器

答案:C

U 盘采用Flash Memory 技术,属于ROM 。由于擦写速度和性价比均很可观,故而其常可用做辅存。

4.某计算机系统,其操作系统保存于硬盘上,其内存储器应该采用( )。

A .RAM B.ROM

C. RAM和ROM D.均不完善

答案:C

因计算机的操作系统保存于硬盘上,所以需要BIOS 的引导程序将操作系统引导到主存(RAM)中,引导程序固化于ROM 中。

5.下列说法正确的是( )。

A. FPROM是可改写的,故而可以作为随机存储器

B. EPROM是可改写的,但不能作为随机存储器

C .EPROM 是不可改写的,散而不能作为随机存储器

D. EPROM只能改写一次,故而不能作为随机存储器

答案:B

EPROM 可多次改写,但改写较为繁琐,因此不能作为需要频繁读写的RAM 使用。

3.5.2习题精选

一、单项选择题

1.【2009年计算机联考真题】

某计算机主存容塞为64KB ,其中ROM 区为4KB .其余为RAM 区,按字节编址。现要用 2K ×8位的ROM 芯片和4Kx4位的RAM 芯片来设计该存储器,则需要上述规格的ROM 芯片数和RAM 芯片数分别是( )。

A.1、15 B.2、15 C.1、30 D.2、30

答案:D

首先确定ROM 的个数.ROM 区为4KB ,选用2K ×8位的ROM 芯片,需要(4K×8)/(2K×8)=2片,采用字扩展方式;60KB 的RAM 区,选用4K ×4位的RAM 芯片,需要(60K×8)/(4Kx4)=30片,采用字和位同时扩展方式。

2.【2010年计算机联考真题】

假定有若干个2K ×4位的芯片组成一个8K ×8位的存储器,则地址OB1FH 所在芯片的最小地 址是( )。

A. OOOOH B.0600H C.0700H D. 0800H

答案:D

用2K ×4位的芯片组成一个8K ×8位存储器,每行中所需芯片数为2,每列中所需芯片数 为4, 各行芯片的地址分配如下:

第一行(2个芯片并联)OOOOH ~07FFH

第二行(2个芯片并联)0800H ~OFFFH

笫三行(2个芯片并联)1OOOH ~17FFH

第四行(2个芯片并联)1800H ~1FFFH

于是地址OB1FH 所在芯片的最小地址即为0800H 。

3.【2011年计算机联考真题】

某计算机存储器按字节编址,主存地址空间大小为64MB ,现用4M y8位的RAM 芯片组成32MB 的主存储器,则存储器地址寄存器MAR 的位数至少是( )。

A. 22位 B.23位 C. 25位 D. 26位

答案:D

按字节编址.64MB 的主存地址空间,而MAR 的寻址范围是64M .因此是26位。而实际的主存的空间不能代表MAR 的位数。

4.用存储容量为16Kxl 位的存储器芯片来组成一个64K ×8位的存储器,则在字方向和位方向分别扩展了( )倍。

A .4、2 B.8、4 C.2、4 D.4、8

答案:D

字方向扩展了64K/16K=4倍,位方向扩展了8 bit/1 bit=8倍。

5. 80386DX是32位系统,当在该系统中用8KB 的存储芯片构造32KB 的存储体时,应完成存储器的( )设计。

A. 位扩展 B.字扩展

C .字位扩展 D.字位均不扩展

答案:A

将4片8KB 的存储芯片位扩展为8Kx32位(因为此系统为32位的系统),即为32KB , 便得到题意要求的32KB 的存储体,故只需进行位扩展。

6.某计算机字长为16位,存储器容量为256KB ,CPU 按字寻址,其寻址范围是( )。

A. 0~219-1 B. 0~220-1

C. 0~218-1 D. 0~217-1

答案:D

256KB=218B .按字寻址,可寻址的单元数=218B/2B=217,其寻址范围是0~217-1。

7. 4个16K ×8位的存储芯片,可设计为( )容量的存储器。

A. 32K×16位 B.16K ×16位

C .32K ×8位 D. 8K×16位

答案:A

4个16K ×8位的存储芯片构成的存储器容量=4×16K ×8位=512K位或64KB ,只有选项A 的容量为64KB 。需要注意:若有某项为128K ×4位,此选项是不能选的。

8. 16片2K ×4位的存储器可以设计为( )存储容量的16位存储器。

A.16K B. 32K

C. 8K D. 2K

答案:C

设存储容量为M ,则(M×16位)/(2K×4位)=16,所以M=8K。

9.设CPU 地址总线有24根,数据总线有32根,用512K ×8位的RAM 芯片构成该机的主存储器,则该机主存最多需要( )片这样的存储芯片。

A.256 B.512

C.64 D.128

答案:D

2424生存的总容量:2×32位,所需存储芯片数=2×32 位(512K×8位)=l28。

10. 地址总线A 0(高位)~A 15(低位).用4K ×4位的存储芯片组成16KB 存储器,则产生片选信号的译码器的输入地址线应该是( )。

A. A2A 3 B. A0A 1 C. A12A 13 D. A14A 15

答案:A

由于A 15为地址线的低位,接入各芯片地址端的是地址线的低12位,即A 4~A 15.共有8个芯片(分为4组)组成16KB 的存储器,由高2位地址线A2A3作为译码器的输入。

11. 若内存地址区间为4000H ~43FFH ,每个存储单元可存储16位二进制数,该内存区域用4片存储器芯片构成,则构成该内存所用的存储器芯片的容量是( )。

A. 512×16bit B. 256×8bit C. 256×16bit D. 1024×8bit

答案:C

43FF-4000+1=400H,即内存区域为1K 个单元,总容量为1K ×16。现由4片存储芯片构成,则芯片容量为256x16bit 。

12. 内存按字节编址,地址从90000H 到CFFFFH ,若用存储容量为16K ×8位芯片构成 该内存,至少需要的芯片数是( )。

A.2 B.4 C.8 D. 16

答案:D

CFFFF-90000+1=40000H,即256K 。若用存储容量为16K ×8bit 的芯片,则需要芯片数=(256K

×

8)/(16

K ×

8)=16

片。

13. 如

图3-12

所示,

若低位

地址

(A0~

A 11) 接

在内存芯片地址引脚上.高位地址(A12~A 19) 进行片选译码(其中,A 14和A 16没有参加译码),且片选信号低电平有效,则对图3-12所示的译码电路,不属于此译码空间的地址是( )。

A. ABOOOH~ABFFFH B. BBOOOH~BBFFFH

C. EFOOOH~EFFFFH D. FEOOOH~FEFFFH

答案:D

这是一个部分译码的片选信号,高8位地址中有2位(A14和A16) 没有参与译码,根据译码器电路,译码输出的逻辑表达式应为 CS= A19(A18+A17)A15A13A12

故而不属于此译码空间的就是这几位不合该逻辑表达式的,A 选项为AB .即1010 1011去掉14位和16位为101 111;B 选项为101 111;c 选项为111 111;D选项为111 110,于是选D 。

二、综合应用题

1.主存储器的地址寄存器和数据寄存器各自的作用是什么?设一个1MB 容量的存储器, 字长为32位,问:

1)按字节编址,地址寄存器和数据寄存器各几位?编址范围为多大?

2) 按字编址,地址寄存器和数据寄存器各几位?编址范围为多大?

答案:

在主存储器中,地址寄存器MAR 用来存放当前CPU 访问的内存单元地址,或存放CPU 写入内存的内存单元地址,数据寄存器MDR 用来存放由内存中读出的信息或者写入内存的信息。

20 1)按字节编址,1MB=2×8位,地址寄存器为20位,数据寄存器为8位,编址范围为

OOOOOH ~FFFFFH(FFFFFH-OOOOOH+1=100000H=220).

2)按字编址,1MB=218×32位,地址寄存器为18位,数据寄存器为32位.编址范围为

18OOOOOH ~3FFFFH(3FFFFH-OOOOOH+140000H=2) 。

2.用一个512K ×8位的Flash 存储芯片组成一个4M ×32位的半导体只读存储器,存储器按字编址,试回答以下问题:

1)该存储器的数据线数和地址线数分别为多少?

2)共需要几片这样的存储芯片?

3) 说明每根地址线的作用。

答案:

1) 由于所需组成存储器的最终容量为4M ×32位,所以需要32根数据线。而存储器又是以字编址,所以此时不需要将存储器的容量先转换成16M ×8位,直接就是4M ×32位中的4M ,所以只需要22根地址线(2=4M)即可。

2) 采用512K ×8位的Flash 存储芯片组成4M ×32位的存储器时,需要进行位扩展和字扩展。

位扩展:4片512K ×8位的Flash 存储芯片位扩展可以组成512K ×32位的Flash 存储芯片。字扩展:8片512K ×32位的Flash 存储芯片字扩展可以组成4M ×32位的存储器,综上可知,一共需要4×8=32片512K ×8位的存储芯片。

3) 在CPU 的22根地址线中(A0~A21) ,地址线的作用分配如下:

首先,此时不需要指定A 0、A 1来标识每一组中的4片存储器,因为此时是按字寻址,所以4片每次都是一起取的,而不是按字节编址时,需要取4片中的某一片。 AO ~A l8:每一片都是512K .所以需要19位(29=512K)来表示。 A19、A 20、A 21:因为在扩展中4片一组,一共有8组,所以需要用3位地址线来决定取哪一组(通过3/8译码器形成片选信号)。

3.有一个16Kx16位的存储器,由IKx4位的DRAM 芯片构成(芯片是64x64结构)。问:

1)共需要多少RAM 芯片?

2)采用异步刷新方式,如单元刷新间隔不超过2 ms ,则刷新信号周期是多少? 答案:

1) 存储器的总容量为16K ×16位,RAM 芯片为1K ×4位,故所需芯片总数为(16K×16位) /(1K×4位)=64片。

2) 采用异步刷新方式,在2ms 时间内分散地把芯片64行刷新一遍,故刷新信号的时间间隔为2ms/64=31.25μs ,即可取刷新信号周期为30μs 。

4.设有32片256K ×l 位的SRAM 芯片。回答以下问题:

1)采用位扩展方法可以构成多大容量的存储器?

2)如果采用32位的字编址方式,该存储器需要多少地址线?

3)画出该存储器与CPU 连接的结构图,设CPU 的接口信号有地址信号、数据信号和控制信号MREQ 。

答案:

1) 32片256K ×l 位的SRAM 芯片可构成256K ×32位的存储器。

18 2)如果采用32位的字编址方式,则需要18条地址线,因为2=256K。

3)用作为芯片选择信号,CPU 连接的结构图如下图所示,因为存储容量为256Kx32=1024K=220B,所以CPU 访存地址为A 19~A O .最高地址位为A 19, 并由A 0、A 1选择各字节。

5.某机主存空间为64KB ,I/O空间与主存单元统一编址,I/O空间占用1KB ,范围为FCOOH ~FFFFH 。可选用8K ×8位和1K ×8位两种SRAM 和分别为系统提供的读写信号线。画出该存储器逻辑图,并标明每块芯片的地址范围。

答案:由于64KB 存储空间中.I/O占用了最高1KB 空间(FCOOH~FFFFH) ,RAM 芯片应当 分配在余下的低63KB 空间。选用7片8K ×8位芯片和7片1K ×8位芯片,共计63KB 。 8K×8RAM 芯片共有8K 个8位的存储单元,片内地址应有log 2(8K)=13根,分别连接地 址线A 12~A 0,每片的地址范围为OOOOH ~1FFFH 。

64KB的存储器应有64K 个存储单元,地址线应有log 2(64K)=16根。地址范围为OOOOH ~ FFFFH 。

地址线A 12~A O 并行连接到7片8K ×8位RAM 芯片的13个地址端,用3根高地址线A15、 A 14、 A13经3/8译码器译码,译码器的7个输出端(000~110) 分别接到7片8K ×8位芯片的 片选端,用以选择7片8Kx8位芯片中的1片。剩下1个输出端Ⅲ用以控制另一个3/8译码 器。

1K×8的存储器共有1K 个存储单元,地址线应有log2(1K) =10根。地址范围为OOOH ~ 3FFH 。地址线A 9~A 0,共10根,并行连接到7片1K ×8位RAM 芯片的10个地址端。3根 地址线A 12、A 11、A 10经3/8译码器译码,译码器的7个输出端(000~110) 分别接到7片1K ×8位芯片的片选端,用以选择7片1K ×8位芯片中的1片。

6.设CPU 有l6根地址线,8根数据线,并用MREQ 作为访存控制信号(低电平有效),用WR 作为读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K ×4位RAM , 4K ×8位RAM ,8Kx8位RAM .2K ×8位ROM ,4K ×8位ROM ,8K ×8位ROM 及74LS138译码器和各种门电路。画出CPU 与存储器的连接图,要求:

1)主存地址空间分配:6000H —67FFH 为系统程序区;6800H ~6BFFH 为用户程序区。

2)合理选用上述存储芯片,说明各选几片?

3) 详细画出存储芯片的片选逻辑图。

答案:

1) 将十六进制地址范围写成二进制地址码,并确定其总容量,如下图所示。

①由6000H ~67FFH 为系统程序区的范围,选1片2K ×8位的ROM 。故0-10地址线应用来选择ROM 芯片。那么能用来作为74LS138译码器输入的只能是11~15地址线。

②由6800H ~6BFFH 为用户程序区的范围,选2片1K ×4位的RAM 芯片。故O ~9地址线应用来选择RAM 芯片。那么能用来作为74LS138译码器输入的只能是10~15地址线。

① ②取交集,则只能取11~15地址线。故取11、l2与13这3位分别作为A 、B 与C 的输入端。

ROM芯片的13、l2、11号线分别为1、0、0,十进制值为4,故取74LS138的4号输 出端。

RAM芯片的13、12,11号线分别为1、O 、1,十进制值为5,故取74LS138的5号输 出端:又因为10号线为0时才选中RAM 芯片,故根据题目条件,本题选用了与非门。若直 接用74LS138的5号输出端作为片选端,则下列地址也选中RAM 。

3.6.2 习题精选

一、单项选择题

1.双端口RAM 在( )情况下会发生读/写冲突。

A.左端口和右端口的地址码不同

B.左端口和右端口的地址码相同

C.左端口和右端口的数据码不同

D.左端口和右端口的数据码相同

答案:B

当左右端口同时访问某个地址时会发生冲突,这时要暂停一个端口访存。

2.交叉存储器实际上是一种( )的存储器,它能( )执行多个独立的读/写操作。

A.模块式、并行 B.整体式、并行

C.模块式、串行 D.整体式、并行

答案:C

3.己知单个存储体的存储周期为11Ons ,总线传输周期为1Ons ,则当采用低位交叉编址的多模块存储器时,存储体数应( )。

A.小于11 B.等于11

C.大于11 D.大子等于11

答案:D

为了保证第二次启动某个体时,它的上次存取操作已完成,存储体的数量应大于等于11( 110ns/10ns=11)。

4.一个四体并行低位交叉存储器,每个模块的容量是64Kx32位,存取周期为200ns ,在下述说法中( )是正确的。

A.在200ns 内,存储器能向CPU 提供256位二进制信息

B.在 200ns内,存储器能向CPU 提供128位二进制信息

C.在50ns 内,每个模块能向CPU 提供32位二进制信息

D.以上都不对

答案:B

低位交叉存储器采用流水线技术,每200ns 可向CPU 提供128位二进制信息,但由于每个模块必须间隔一个存取周期方能继续提供信息,故50ns 内,任意模块无法向CPU 提供32位二进制信息。

5.某机器采用四体低位交叉存储器,现分别执行下述操作:①读取6个连续地址单元中存放的存储字,重复80次;②读取8个连续地址单元中存放的存储字,重复60次。则①、②所花费的时间之比为( )

A .1:1 B.2:1 C.4:3 D.3:4

答案:C

首先,不去管重复多少次,先要计算出每次的时间。本题解题的关键在于对低位交叉存 储器原理的理解。设存取周期为T ,则有:

1)连续读取6个存储字所需的时间为T+(6-1)×(T/4)=2.25T,这一步没什么疑问;但其 总时间并不是直接乘以80,因为在第一轮最后一个字存放后,第一个存储器无法立刻存储第二轮的第一个字。原因在于对于单个存储器来说,存储周期是没有变化的,在存完一个字后.必须等待T 后才可以进行下一个字的存取。以第一轮来分析,四位低位交叉时,通常情况下存储周期是总线周期的4倍,就是总线可以每隔T/4就向存储体传送一个字,第一个字进入存储器I .第二个字进入存储器2„„直到第四个字进入存储器4后,第一个存储器正好经过了一个T ,于是可以继续向第一个存储器存入,从而使总线不间断地写入存储体,接着就是第五个字存入存储器l ,第六个字存入存储器2,至此,第一轮的存数结束。但是此时无法立刻开始第二轮存数,因为此时距离存储器1存数只过了T/4×2的时间,没有达到T ,因此无法立刻写入,必须再等2×T/4,因此,第二轮的开始时间实际上是3T 。总时间是:

3T ×(80-1 )+2.25T=239.25T。

2)这里就简单多了,按照1)来分析,很容易得到单次时间为T+(8-1)×(T/4)=2.75T,

总时间为3T ×(60-1)+2.75T=179.75T。因此,得到总时间比约为4:3。(两个总时间的计算是比较精确的计算,在计算的时候需把最后一轮的时间单独进行考虑。实际上做这道题时,如果清楚原理,完全可以把1)和2)的单轮时间看做相同,不影响结果)

二、综合应用题

1.一个四体并行交叉存储器,每个模块容量是64K ×32位,存取周期为200ns ,问:

1)在一个存取周期中,存储器能向CPU 提供多少位二进制信息?

2)若存取周期为400ns ,则在0.1µS内每个体可向CPU 提供32位二进制信息,该说法正确否?为什么?

答案:

1) 一个存取周期,四体并行交叉存储器可以取32×4=128位。其中32为总线宽度.4为交叉存储器内的存储体个数。

2)该说法不正确。因为在O.1μs 内整个存储器可向CPU 提供32位二进制信息,但每个存储体必须经过400ns 才能向CPU 提供32位二进制信息。

3.7.2 习题精选

一、单项选择题

1.在高速缓存系统中,主存容量为12MB ,Cache 容量为400KB ,则该存储系统的容量为( )

A. 12MB+400KB B.12MB C. 12MB~12MB+400KB D. 12MB-400KB

答案:B

A 为干扰项。各层次的存储系统不是孤立工作的,三级结构的存储系统是围绕丰存储器来组织、管理和调度的存储器系统,它们既是一个整体,又要遵循系统运行的原理,其中包括包含性原则。由于Cache 中存放的是.主存中某一部分信息的副本,所以不能认为总容量为两个层次容量的简单相加。

2.【2009年计算机联考真题】

假设某计算机的存储系统由Cache 和主存组成,某程序执行过程中访存1000次,其中访问Cache 缺失(未命中)50次,则Cache 的命中率是( )。

A.5% B.9.5% C.50% D.95%

答案:D

命中率=Cache 命中的次数/所有访问次数,有了这个公式这道题就很容易计算出答案。 要注意的一点是仔细审题,题中说的是缺失50次,而不是命中50次。仔细审题是做对题的 第一步。

3.【2009年计算机联考真是】

某计算机的Cache 共有16块,采用二路组相联映射方式(即每组2块)。每个主存块大小为32B .按字节编址,主存129号单元所在主存块应装入到的Cache 组号是( )。

A.O B.2 C.4 D.6

答案:C

由于Cache 共有16块,采用二路组相联映射,因此共有8组。O ,1,2,„,7。并且 主存的某一字块按模8映射到Cache 某组的任一字块中,即主存的第O 、8、16„字块可以映射到Cache 第0组的两个字块的任一宁块中,而129号单元位于第4块主存块中,因此将映射到Cache 第4组的两个字块的任一字块中。

4.在写操作时,对Cache 与主存单元同时修改的方法称做( ),若每次只暂时写入Cache ,直到替换时才写入主存的方法称做( )。

A.写直达法 B.写回法

C .写一次法 D.都不对

答案:A 、B

5.关于Cache 的更新策略,下列说法正确的是( )。

A.读操作时,写直达法和写回法在命中时应用

B.写操作时,写回法和按写分配法在命中时应用

C.读操作时,写直达法和按写分配法在失效对应用

D.写操作时,按写分配法、不按写分配法在失效时应用

答案:D

在写主存的同时把该块调入Cache 的方法称为写分配法,其通常和写回法配合使用。而写主存时不将该块调入Cache 则称为不按写分配,其通常与写直达法配合使用。这两种方法都是在不命中Cache 的情况下使用的,而写回法和写直达法是在命中Cache 的情况下使用的。

6.某虚拟存储器系统采用页式内存管理,使用LRU 页面替换算法,考虑下面的页面访问地址流(每次访问在一个时间单位中完成):

1 8 1 7 8 2 8 2 1 8 3 8 2 1 3 1 7 1 3 7

假定内存容量为4个页面,开始时是空的,则页面失效次数是( )。

A.30% B.5% C.1.5% D.15%

答案:

A

7.某32位计算机的Cache 容疑为16KB .Cache 行的大小为16B ,若主存与Cache 地址映像采用直接映像方式,则主存地址为Ox1234E8F8的单元装入Cache 的地址是( )。

A. [1**********]101 B. [1**********]010

C. [1**********]000 D. [1**********]000

答案:C

因为Cache 容量为16KB ,所以Cache 地址长14位。主存与Cache 地址映像采用直接映像方式,将32位的主存地址Ox1234E8F8写成二进制,去低14位就是Cache 地址。

8.在Cache 中,常用的替换策略有:随机法(RAND )、先进先出法(FIFO)、近期最少使用法(LRU ).其中与局部性原理有关的是( )。

A.随机法(RAND )B .先进先出法(FIFO) C.近期最少使用法( LRU) D.都不是 答案:C

LRU 算法根据程序访问局部性原理选择近期使用的最少的存储块作为替换的块。

9.某存储系统中,主存容量是Cache 容量的4096倍,Cache 被分为64个块,当主存地址和Cache 地址采用直接映像方式时,地址映射表的大小应为( )。(假设不考虑一致 维护和替换算法位)

A. 6×4097bit B.64×12bit C. 6×4096bit D. 64×13bit

答案:地址映射表也就是标记阵列,由于Cache 被分为64个块,那么Cache 有64行,采用直接映射,一行相当于一组。故而该标记阵列每行存储1个标记项.其中主存标记项为12bit (212=4096,是Cache 容量的4096倍,那么就是地址长度比Cache 长l2位),加上1位有效位,故而为64×13bit 。

1O. 有一主存-Cache 层次的存储器,其主存容量为1MB ,Cache 容量为16KB .每字块

有8个字,每字32位,采用直接地址映像方式,若主存地址为35301H ,且CPU 访问Cache 命中,则在Cache 的第( )(十进制表示)字块中(Cache 起始字块为第0字块)。

A.152 B.153

C.154 D.151

答案:A

5主存地址即为0011 0101 0011 0000 0001,其中字块内地址为低5位(每字块含32B .2=32,

故为5位),主存字块标记为高6位(1MB ÷16KB=64,26=64,故为6位),其余01 0011 000 即为Cache 字块地址,即十进制数152。

11. 若由高速缓存、主存,硬盘构成的三级存储体系,则CPU 访问该存储系统时发送的地址为( )。

A.高速缓存地址 B.虚拟地址

C.主存物理地址 D.磁盘地址

答案:C

当CPU 访存时,先要到Cache 中查看该主存地址是否在Cache 中,所以发送的是主存地 址。只有在虚拟存储器中,CPU 发出的才是虚拟地址,这里并没有指出是虚拟存储系统。磁 盘地址是外存地址,外存中的程序是由操作系统调入到主存中,再在主存中执行的.CPU 不 可能直接访问磁盘。

二、综合应用题

1.某计算机的主存地址位数为32位,按字节编址。假定数据Cache 中最多存放128个主存块,采用四路组相联方式,块大小为64B ,每块设置了l 位有效位。采用一次性写回策略,为此每块没置了1位“脏”位。要求:

1)分别指出主存地址中标记(Tag)、组号(Index)和块内地址(Offset)三部分的位置 和位数。

2)计算该数据Cache 的总位数。

答案:因为块大小为64B .所以块内地址字段6位;因为Cache 中有128个主存块,采用四路组相联,Cache 分为32组(128+4=32).所以组号字段为5位:标记字段为剩余,32-5-6=21位。数据Cache 的总位数应包括标记项的总位数和数据块的位数,每个Cache 块对应一个标记项,标记项中应包括标记字段、有效位和“脏”位(仅适用于写回法)。

1)主存地址中Tag 为21位,位于主存地址前都:Index 为5位,位于主存地址中部: Offset 为6位,位于主存地址后部。

2)标记项的总位数=128×(21+1+1)=128×23=2944位,数据块位数=128×64×8-65536位.所以数据Cache 的总位数-2944+65536=68480位。

2.【2010年计算机联考真题】

某计算机的主存地址空间大小为256MB ,按字节编址。指令Cache 和数据Cache 分离, 均有8个Cache 行,每个Cache 行大小为64B .数据Cache 采用直接映射方式。现有两个功 能相同的程序A 和B ,其伪代码如下所示:

假定int 类型数据用32位补码表示,程序编译时,i 、j 和sum 均分配在寄存器中,数组a 按行优先方式存放,其首地址为320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。

1) 若不考虑用于Cache -致性维护和替换算法的控制位,则数据Cache 的总容量为多

少?

2)数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache 行号分别是多少(Cache行号从O 开始)?

3)程序A 和B 的数据访问命中率各是多少?哪个程序的执行时间更短?

答案:

1) 数据Cache 有8个Cache 行,每个Cache 行大小为64B .Cache 中每个字块的Tag 字段的位数是28-9=19位,此外还需使用一个有效位,合计20位。因此,数据Cache 的总容量应为:8×(64+20/8)B-532B。

2) 数组a 在主存的存放位置及其与Cache 之间的映射关系如下图所示:

数组按行优先方式存放,首地址为320,数组元素占4个字节.a[0][31]所在的主存块对应的Cache 行号为(320+3l×4) DIV 64=6:a[1][1]所在的主存块对应的Cache 行号为(320+256×4+1×4) DIV 64 MOD 8=5.

3)编译时i 、j 、sum 均分配在寄存器中,故数据访问命中率仅考虑数组a 的情况。 ①该程序的特点1是数组中的每一个元素仅被使用一次。数组a 按行优先存放.数据

Cache 正好放下数组半行中的全部元素,即元素的存储顺序与使用次序高度地吻合,每个字块的l6个int 型元素中,除访问的第一个不会命中外,接下来的15个都会命中。访问全部字块都符合这一规律,故命中率为15/16,即程序A 的数据访问命中率是93.75%。

②程序B 按照数组的列执行外层循环,在执行内层循环的过程中,将连续访问不同行 的同一列的数据,不同行的同一列数组使用的是同一个Cache 单元,每次都不会命中,散命 中率是0。

由于从Cache 读数据比从主存数据快很多,所以程序A 的执行比程序B 快得多。

注意:本题考查Cache 容量计算,直接映射方式的地址计算以及命中率计算(行优先遍 历与列优先遍历命中率差别很大)。

3.有一Cache 系统,字长为16位,主存容量为16字×256块,Cache 的容量为16字×8 块。采用全相联映射,求:

1)主存和Cache 的容量各为多少字节?主存和Cache 的字地址各为多少位?

2)如果原先已经依次装入了5块的信息,问字地址为338H 所在的主存块将装入Cache 块的块号及在Cache 中的字地址是多少?

3)如果块表中地址为1的行中标记者36H 的主存块号标志,Cache 块号标志为5H ,则 在CPU 送来主存的字地址为368H 时是否命中?如果命中,此时Cache 的字地址为多少? 答案:

1) 主存容量=16x256x2=8192B。Cache 容量-16×8×2=256B.主存字地址=8+4=12位. Cache 字地址=3+4=7位,如下图所示。

2) 如下图所示,由于每块16字,所以该主存字所在的主存块号为33H 。由于是全相联

映射,原先已经装入Cache 的5个块依次在0~4号块,因此主存的第33H 的块将装入Cache 的第5块。对应Cache 的字地址为1011000B ,其中101为块号,1000为块内地址。

3) 如下图所示,由于表中地址为1的行中标记着36H 的主存块号标志,则当CPU 送来

主存的字地址为368H 时,其主存块号为36H ,所以命中。此时的Cache 字地址为58H 。

4.某个Cache 的容量大小为64KB ,行长为128B ,且是四路组相联Cache .主存使用32 位地址,接字节编址。则

1)该Cache 共有多少行?多少组?

2)该Cache 的标记阵列中需要有多少标记项?每个标记项中标记位长度是多少?

3)该Cache 采用LRU 替换算法,若当该Cache 为写直达式Cache 时,标记阵列总共需 要多大的存储容量?写回式又该如何?(提示:四路组相联Cache 使用LRU 算法的替换控制 位为2位)

答案:

1) 由于64KB/128B=512,敞而有512行。而该Cache 是四路组相联,所以512/4=128组。

2) 每行有一个标记项,故而有512个标记项。主存字块标记长度就是标记位的长度,由 于该Cache 有128组,所以7位为组地址。而行长128字节,7位为字块内地址,因此该标 记项中的标记位长度为32-14=18位。

3) LRU替换策略要记录每个Cache 行的生存时问,故而每个标记项有两位替换控制位。 而写直达法没有“脏”位(一致性控制位),再加一个有效位即可。因此,每个标记项位数是:

18+2+1=21位,故而总大小为512×21=10752位。

写回式则是每个标记项加一个一致性控制位,因此为512×22=11264位。

5.有一全相联Cache 系统,Cache 由8个块构成.CPU 送出的主存地址流序列分别为01110、10010、01110、10010、01000、00100、01000和01010,即十进制为14、18、14、18、8、4、8、1O ,求:

1)每次访问后.Cache 的地址分配情况。

2)当Cache 的容量换成4个块,地址流为6、15、6、13、11、10、8和7时,求采用先 进先出替换算法的相应地址分配和操作。

答案:

1) 依据Cache 的块容量和访问的块地址流序列,Cache 的地址分配如下图所示。

2) 采用先进先出替换算法的相应地址分配如下图所示

由于是全相联映射.且当访问从第6个地址开始时.Cache 已经装不下,因此,按照先 进先出的原则依次替换出第0块、第1块和第2块。

3.8.2 习题精选

一、单项选择题

1.为使虚拟存储系统有效地发挥其预期的作用,所运行的程序应具有的特性是( )。

A. 不应含有过多的I/O操作 B.大小不应小于实际的内存容量

C.应具有较好的局部性 D. 顺序执行的指令不应过多

答案:C

虚拟存储系统利用的是局部性原理,故而程序应当具有较好的局部性,而含有输入、输出操作是产生中断,与虚存无关:大小较小但可以多个程序并发执行,也可以发挥虚存的作用;顺序执行的指令应当占较大比重为宜,这样可增强程序的局部性。

2.虚拟存储管理系统的基础是程序访问的局部性原理,此理论的基本含义是( )。

A.在程序的执行过程中,程序对主存的访问是不均匀的

B.空间局部性

C.时间局部性

D. 代码的顺序执行

答案:A

局部性原理的含义就是一个程序执行过程中,其火部分情况下是顺序执行的,某条指令或数据使用后,在最近一段时间内较大可能再次被访问(时间局部性);某条指令或数据使用后,其临近的指令或数据可能在近期被使用(空间局部性)。在虚拟存储管理系统中,程序只能访问主存获得指令和数据,所以A 是正确的,B 、C 、D 均是局部性原理的一个方面而已。

3.虚拟存储器管理方式常用的有段式、页式、段页式,它们在与主存交换信息时的单位 以下表述正确的是( )。

A. 段式采用“页” B.页式采用“块”

C.段页式采用“段”和“页” D. 页式和段页式均仅采用“页”

答案:D

页式虚拟存储一方式对程序分页,采用页进行交互:段页式则是先按照逻辑分段,然后分页,以页的单位和主存交互。

4.【2010年计算机联考真题】

下列命令组合情况中,一次访存过程中,不可能发生的是( )。

A. TLB未命中,Cache 未命中,Page 未命中

B.TLB 未命中,Cache 命中,Page 命中

C. TLB命中.Cache 未命中,Page 命中

D. TLB命中,Cache 命中,Page 未命中

答案:D

TLB 即为快表,快表只是慢表(Page)的小小副本,因此TLB 命中,必然Page 也命中;而当Page 命中,TLB 则未必命中,故D 选项不可能发生。而Cache 的命中与否与TLB 、Page 的命中与否并无必然联系。

5.下列关于虚存的叙述中,正确的是( )。

A.对应用程序员透明,对系统程序员不透明

B.对应用程序员不透明,对系统程序员透明

C.对应用程序员、系统程序员都不透明

D.对应用程序员、系统程序员都透明

答案:A

虚存需要通过对操作系统实现地址映射,因此对于操作系统的设计者——系统程序员是不透明的。而应用程序员写的程序其地址是逻辑地址(虚地址),故而对其是透明的。

6.在虚拟存储器中,当程序正在执行时,由( )完成地址映射。

A.程序员 B.编译器 C.装入程序 D.操作系统

答案:D

虚拟存储器中.地址映射由操作系统来完成。

7.采用虚拟存储器的主要目的是( )。

A.提高主存储器的存取速度

B.扩大主存储器的存储空间

C.提高外存储器的存取速度

D.扩大外存储器的存储空间

答案:B

8.关于虚拟存储器,下列说法正确的是( )。

Ⅰ.虚拟存储器利用了局部性原理

Ⅱ. 页式虚拟存储器的页面如果很小,主存中存放的页面数较多,导致缺页频率较低,换页次数减少,最终可以提升操作速度

Ⅲ.页式虚拟存储器的页面如果很大,主存中存放页面数较少,导致页面调度频率较高.换页次数增加,降低操作速度

Ⅳ,段式虚拟存储器中,段具有逻辑独立性,易于实现程序的编译、管理和保护,也便于多道程序共享

A.Ⅰ、Ⅲ、Ⅳ B.Ⅰ、Ⅱ、Ⅲ

C.Ⅰ、Ⅱ、Ⅳ D.Ⅱ、Ⅲ、Ⅳ

答案:A

页式虚拟存储器中,页面如果很小,虚拟存储器中包含的页面个数就会过多,使得页表的体积过大,导致页表本身占据的存储空间过大,这将会使操作速度变慢,故Ⅱ错误。CPU 访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中,虚拟存储器正是依据了这一原理来没计的,故Ⅰ正确。当页面很大时,虚拟存储器中的页面个数会变少,由于主存的容量比虚拟存储器的容量最小,主存中的页面个数会更少,每一次页面装入的时间会变长,每当需要装入新的页面时,速度会变慢,故Ⅲ正确。段式虚拟存储器是按照程序的逻辑性来设计的,具有易于实现程序的编译、管理和保护,也便于多道程序共享的优点,故Ⅳ正确。

9.虚拟存储器中的页表有快表和慢表之分,下面关于页表的叙述中正确的是()。

A. 快表与慢表都存储在主存中,但快表比慢表容量小

B.快袭采用了优化的搜索算法,因此查找速度快

C.快表比慢表的命中率高,因此快表可以得到更多的搜索结果

D. 快表采用快速存储器件组成,按照查找内容访问,因此比慢表查找速度快 答案:D

将当前最常用的页表信息存放在一个小容量的高速存储器中称为快表。与快表相对应存 放在主存中的页表称为慢表。快表仅是慢表的一个小量副本。快表采用组相连存储器,查表 速度快。

二、综合应用题

1.【2011年计算机联考真题】

某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB ,主存(物理)地址空间大小为1MB ,页面大小为4KB: Cache 采用直接映射方式,共8行;主存与Cache 之间 交换的块大小为32B 。系统运行到某一时刻时,页表的部分内容和Cache 的部分内容分别如 图3-24和图3-25所示,图中页框号及标记字段的内容为十六进制形式。

请回答下列问题:

l)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)?

2)使用物理地址访问Cache 时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。

3)虚拟地址OO1C60H 所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache 命中?要求说明理由。

4) 假定为该机配置一个四路组相联的TLB ,共可存放8个页表项,若其当前内容(十六进制)如图3-26所示,则此时虚拟地址024BACH 所在的页面是否存在主存中?要求说明理由。

答案:

1) 虚拟空间为16M —224,故虚拟地址为24位;页面大小为4K=212,故页内地址为12

位,所以虚页号为前12位;主存空间为1M=220.故物理地址20位;20-12=8,故前8位为 页框号。

2) 物理地址应划分为主存字块标记(12bit)、Cache 字块标记(3bit)、字块内地址(5bit) 3个字段。物理地址共20位,其中,块大小为32B=25B,故块内地址为5位:cache 共8行, 8=23.故字块标记为3位:20-5-2=12.故主存字块标记为12位。

3) 在主存中,04C60H 不命中,没有04C 的标记字段。OO1C60H 中虚页号为001H=1,

查页表知其有效位为1.,在内存中:其对应的物理地址也在表项中,页框号为04H ,故物理 地址为04C60H ;物理地址04C60H 在直接映射方式下,对应的行号为4,有效位为l ,但是 标记位为064H ≠04CH ,故不命中。

4) 虚拟地址024BACH 所在的页面在主存中,012的标记命中。标记11位,组地址1位,页内地址12位,前l2位为0000 0010 0100,组地址位为0,第0组中存在标记为012的页,其页框号为1F ,因此024BACH 所在的页而存在主存中。

2.某一个计算机系统采用虚拟页式存储管理方式,当前在处理机上执行的某一个进程的页表见表3-3.所有的数字均为十进制,每一项的起始编号是0,并且所有的地址均按字节编址,每页大小为1024B 。

1) 将下列逻辑地址转换为物理地址,写出计算过程,对不能计算的说明为什么。

0793, 1197, 2099, 3320, 4188, 5332

2) 假设程序要访问第2页,页面置换算法为改进的Clock 算法

答案:

根据题意,每页为1024字节,地址又是按字节编址,因此,所有地址均可转换为页号和内偏移量。地址转换过程一般先将逻辑页号取出,然后查找页表,得到页框号,再将页框号与页内偏移量相加,即可获得物理地址。若取不到页框号,则该页不在内存,于是产生缺页中断,开始请求调页。若内存有足够的物理页面,那么可以再分配一个新的页面:若没有页面了,就必须在现有页面中找到一个页,将新的页与之置换。这个页可以是系统中的任意一页,也可以是木进程中的一页。若是系统中的·页,则这种置换方式称为全局置换:若是本进程中的页面,则称为局部置换。置换时为尽可能减少缺页中断次数,可以有多种算法来应用,本题使用的是改进的Clock 算法。这种算法必须使用页表中的引用位和修改位,由这两位组成4种级别,没被引用和没修改的页面最先淘汰,没引用但修改了的页而其次,再者淘汰引用了但没有修改的页面,最后淘汰即引用又修改的页面。当页面的引用位和修改位相同时,随机淘汰一页。

1) 根据题意,计算逻辑地址的页导和页内偏移量,合成物理地址如下表所示。

3.图3-27表示使用快表(页表的虚实地址转换条,快表存放在相联存储器中,其容量为8个存储单元。 问:

1) 当CPU 按虚拟地址l 去访问主存时,生存的实地址码是多少?

2) 当CPU 按虚拟地址2去访问主存时,主存的实地址码是多少?

3) 当CPU 按虚拟地址3去访问主存时,主存的实地址码是多少?

答案:

4.一个两级存储器系统有8个磁盘上的虚拟页面需要映像到主存中的4个页中。某程序生成以下访存页面序列:l ,0,2,2,1,7,6.7.O ,1,2,0.3.O ,4,5,1,5,2,4,5,6,7,6,7,2,4,2,7,3 。

采用LRU 替换策略,设初始时主存为空。

1)画出每个页号访问请求之后存放在主存中的位置。

2) 计算主存的命中率。

答案:

3.1.2习题精选

一、单项选择题

1.【2011年计算机联考真题】

下列存储器中,不采用随机存取方式的是():

A .EPROM B.CDROM C.DRAM D.SRAM

答案:B

A 、C 、D 均采用随机存取方式,CDROM 即光盘,采用串行存取方式。

2. 磁盘属于( )类型的存储器.

A .随机存取存储器(RAM ) B. 只读存储器(ROM )

C .顺序存取存储器(SAM ) D. 直接存取储存器(DAM )

答案:D

磁盘属于直接存取存储器,其速度介于随机存取存储器和顺序存取存储器之间。

3. 存储器的存取周期是指( )。

A .存储器的独处时间

B .存储器的写入时间

C .存储器进行连续或写操作所允许的最短时间间隔。

D .存储器进行一次读或写操作的平均时间。

答案: C

存储器的存取周期往往大丁存取时间,它还包括信息的复原时间。

4. 主存储器速度的表示中,存取时间(Ta )和存取周期(Tc )的关系表述正确的是:

A .Ta>Tc B. Ta

D. Ta>Tc或Ta

答案: B

存取时间(Ta)指从存储器读出或者写入一次信息所需要的平均时间{存取周期(Tc)

指连续两次访问存储器之间所必需的最短时间间隔。对Tc 一般有:Tc=Ta+Tr,其中Tr 为复原时间:对SRAM 指存取信息的稳定事件,对DRAM 指刷新的又一次存取时间。

5. 设机器字长为32位一个容量为16MB 的存储器,CPU 按半字节寻址岂可寻址的单元数为( )

24 2322 21 A .2 B.2 C. 2 D 2

答案: B

16MB=224B ,由于字长为32位,现在按半字(16位)寻址,故而为224B/2B=223

6. 相联存储器是按( )进行寻址的存储器。

A .地址指方式 B. 对战存储方式

C .内容指定方式和堆存储方式相结合 D. 内存指定方式和地址指方式相结合

答案:D

相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项(即关键字项)去 检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写入。所以它是按 内容或地址进行寻址的,价格较为昂贵。 一般用来制作TLB 、相联Cache 等。

7. 某计算机系统,其操作系统保存在硬盘上,其内存存储器应该采用()

A .RAM B. ROM C. RAM和ROM D. 都不对

答案:C

操作系统保存在硬盘上,首先需要将其引导到主存中,而引导程序通常存放在ROM 巾, 程序运行需要可读可写,因此采用RAM 。

8. 在下列几种存储器中,CPU 不能直接访问的是( )。

A .硬盘 B. 内存 C. Cache D.寄存器

答案:A

CPU 不能直接访问硬盘,需先将硬盘中的数据调入内存才能被CPU 所访问。

9. 若某存储器存储周期为250ns, 每次读出16位,则该存储器的数据传输率是( )

A .4×106 B/s B. 4MB/s C.8×106 B/s D.8MB/s

答案:C

计算的是存储器的带宽,每个存储周期读出l6 bit= 2B,故而数据传输率是2B/(250× l

609s) .即8×10B/s。本题中8MB/s是8×1024×1024B/s。

10. 设机器字长为64位,存储容量为128MB ,若按字编址,他可寻址的单元个数是( )

A .16MB. B.16M. C. 32M. D. 32MB.

答案:B

128MB/(64/8)B=16M.

3.2.2习题精选

一、单项选择题

1. 计算机的存储器采用分级方式是为了( )

A .方便变成 B. 解决容量、速度、价格三者之间的矛盾

C .保存大量的数据方便 D. 操作方便

答案:B

存储器有3个主要特性:速度、容量和价格/位(简称位价)。存储器采用分级方式是为了解决这三者之间的矛盾。

2. 计算机的存储系统是指( )

A .RAM B. ROM C. 主存储器 D. Cache、主存储器和外存储器

答案: D

计算机的存储系统包括CPU 内部寄存器、Cache 、主存和外存。

3. 在多级存储体系中,“Cache —主存”结构的作用是解决( )问题。

A .主存容量不足 B. 主存与辅存速度不匹配

C. 辅存与CPU 速度不匹配 D. 主存与CPU 速度不匹配

答案: D

Cache 中的内容只是主存部分内容的备份,因而Cache-主存结构并没有增加主存容量

4. ( )存储结构对程序员是透明的。

A .通用寄存器 B. 主存 C. 控制寄存器 D. 堆栈

答案: C

控制寄存器(CRO~CR3) 用于控制和确定处理器的操作模式,以及当前执行任务的特性,对程序员是透明的。

5. 存储器分层体系结构中,存储器从速度最快到最慢的排列顺序是( )。

A .寄存器—主存—Cache —辅存 B. 寄存器—主存—辅存—Cache

C. 寄存器—Cache —辅存—主存 D. 寄存器—Cache —主存—辅存

答案: D

在存储器分屡结构中,寄存器最快,Cache 次之,主存再次之,最慢的是辅存(如磁盘等)。

6. 在Cache 和主存构成的两级存储体系中,Cache 的存取时间是100ns, 主存的存储时间是1000ns ,如果希望有效(平均)存取时间按不超过Cache 存取时间的115%,则Cache 的命中率至少应为( )。

A .90% B. 98% C. 95% D. 99%

答案: D

假设命中率为x ,则可得到lOOx+lOOO(1-x) ≤1OO ×(1+15%),简单计算后可得结果为x ≥98.33%,因此命中率至少为99%。

二、综合应用题

1.某个两级存储器系统的平均访问时间为12ns ,该存储器系统中顶层存储器的命中率为90%,访问时间是5ns ,问:该存储器系统中底层存储器的访问时间是多少?(假设采用同时访问两层存储器的方式)

答案:设底层存储器访问时间为T ,则有12n=(0.90×5ns)+(O.1O×T). 求得T=75ns。

2.CPU 执行一段程序时.Cache 完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache 存取周期为50ns ,主存存取周期为250ns 。求:

1) Cache/主存系统的效率。

2) 平均访问时间。

答案:

1) 命中率H=Nc /(Nc + Nm ) =1900/(1900+ 100)= 0.95

主存访问时间是Cache 的倍率:r=tm /te =250ns/50ns=5

访问效率:e=1/[r+(1-r)H=l/[5+(1-5)×0.95]= 83.3%

2) 平均访问时间:t a =tc /e= 50ns/0.833= 60ns

3.3.2习题精选

一、单项选择

1. 某一SRAM 芯片,其容量为1024×8位,除电源和接地端外,该芯片的引脚的最小数目为( )

A. 21 B. 22 C. 23 D. 24

答案: A

芯片容量为1024×8位,说明芯片容量为1024B ,且以字节为单位存取,也就是说地址线 数要10位。而数据线要8bit 来传输1字节,加上片选线和读/写控制线(读控制为RD 或OE ).故为10+8+1+1+1=21根线。

2. 某容器容量为32K ×16位,则( )

A. 地址线为16根,数据线为32根 B. 地址线为32根,数据线为16根

C. 地址线为16根,数据线为32根 D. 地址线为16根,数据线为32根

答案:C

该芯片16位,所以数据线为16根,寻址空间32K=215,所以地址线为15根。

3.若RAM 中每个存储单元为l6位,则下面所述正确的是( )。

A.地址线也是16位 B.地址线与l6无关

C .地址线与16有关 D.地址线不得少于l6位

答案:B

地址线只与RAM 的存储单元个数有关,而与存储单元的字长无关。

4.DRAM 的刷新是以( )为单位的。

A.存储单元 B.行

C .列 D.存储字

答案:B

DRAM 的刷新按行进行。

5.动态RAM 采用下列哪种刷新方式时,不存在死时间( )。

A.集中刷新 B.分散刷新

C .异步刷新 D.都不对

答案:B

采用分散刷新时,机器的存取周期中的一段用来读/写,另一段用来刷新,故不存在死时间,但是存取周期变长了。异步刷新缩短了死时间,但死时间依然存在。

6.下面是有关DRAM 和SRAM 存储器芯片的叙述:

Ⅰ. DRAM芯片的集成度比SRAM 高

Ⅱ. DRAM芯片的成本比SRAM 高

Ⅲ.DRAM 芯片的速度比SRAM 快

Ⅳ.DRAM 芯片工作时需要刷新,SRAM 芯片工作时不需要刷新

通常情况下,错误的是( )。

A.Ⅰ和Ⅱ B.Ⅱ和Ⅲ

C .Ⅲ和Ⅳ D. Ⅰ和Ⅳ

答案:B

DRAM 的集成度高于SRAM ,SRAM 的速度高于DRAM ,可以推出DRAM 的成本低于SRAM ,SRAM 芯片工作时不需要刷新,DRAM 芯片工作时需要刷新。

7.下列说法中,正确的是( )。

A.半导体RAM 信息可读可写,且断电后仍能保持记忆

B. DRAM是易失性RAM ,而SRAM 中的存储信息是不易失的

C.半导体RAM 是易失性RAM ,但只要电源不断电,所存信息是不丢失的

D. 半导体RAM 是非易失性的RAM

答案:C

RAM 属于易失性半导体,SRAM 和DRAM 的区别在于是否需要动态刷新。

8.关于SRAM 和DRAM .下列叙述中正确的是( )。

A.通常SRAM 依靠电容暂存电荷来存储信息,电容上有电荷为l ,无电荷为0.

B. DRAM依靠双稳态电路的两个稳定状态来分别存储O 和1.

C. SRAM速度较慢,但集成度稍高:DRAM 速度稍快,但集成度低。

D. SRAM速度较快,但集成度稍低;DRAM 速度稍慢,但集成度高。

答案:D

SRAM 依靠双稳态电路的两个稳定状态来分别存储0和1;DRAM 依靠电容暂存电荷来存储信息,电容上有电荷为1,无电荷为0。前者速度较快,不需要动态刷新,但集成度稍低,功耗大,单位价格高;后者集成度高,功耗小,单位价格较低,需定时刷新,故速度慢。

9.某一DRAM 芯片,采用地址复用技术,其容量为1024x8位,除电源和接地端外,该芯片的引脚数最少是( )

A. 16 B.17 C.19 D.21

答案:B

1024x8位,故而可寻址范围是1024B .按字节寻址。而采用地址复用技术,通过行通选和列通选分行列两次传送地址信号,故而地址线减半为5根,数据线为8根:加上行通选和列通选以及读/写控制线(片选线用行通选代替)4根,总共是17根。

二、综合应用题

1.在显示适配器中,用于存放显示信息的存储器称为刷新存储器,它的重要性能指标是带宽。具体工作中,显示适配器的多个功能部分要争用刷新存储器的带宽。设总带宽50%用于刷新屏幕,保留50%带宽用于其他非刷新功能,且采用分辨率为1024×768像素,颜色深度为3B ,刷新频率为72Hz 的工作方式。

1)试计算刷新存储器的总带宽。

2) 为达到这样高的刷新存储器带宽,应采取何种技术措施?

答案:1) 因为刷新带宽W1=分辨率×像索点颜色深度×刷新速率

-1024×768×3B×72/s

=165888KB/s

所以刷新总带宽W0=W1(W0/W1)

-165888KB/s xl00/50=331776KB/s

—331.776MB/s

2)为了提高刷新存储器带宽,可采用以下技术:①采用高速DRAM 芯片:②采用多体1交叉存储结构;⑧刷新存储器至显示控制器的内部总线宽度加倍;④采用双端口存储器将刷新端口和更新端口分开。

2.一个1K ×4位的动态RAM 芯片,若其内部结构排列成64x64形式,且存取周期为0.lµs

1) 若采用分散刷新和集中刷新(即异步刷新)相结台的方式,刷新信号周期应取多少?

2) 若采用集中刷新,则对该存储芯片刷新一遍需多少时间?死时间率是多少?

答案:

1) 采用分散和集中刷新相结合的方式,对排列成64×64的存储芯片,需在2ms 内将“行各刷新一遍,则刷新信号的时间间隔为2ms/64=31.25μs ,故可取刷新周期为[31.25]=31μs 。

2) 采用集中刷新,对64x64的芯片,需在2ms 内集中64个存取周期刷新64行。题中给出的存取周期为0.1μs ,即在2ms 内集中6.4μs 刷新,则死时间率为(6.4/2000)×100%=0.32%。

3.4.2 习题精选

单项选择题

1.【2010年计算机联考真题】

下列有关RAM 和ROM 的叙述审,正确的是( )。

Ⅰ.RAM 是易失性存储器.ROM 是非易失性存储器

Ⅱ.RAM 和ROM 都是采用随机存取的方式进行信息访问

Ⅲ.RAM 和ROM 都可用做Cache

Ⅳ.RAM 和ROM 都需要进行刷新

A .仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ、Ⅱ和Ⅲ D.仅Ⅱ、Ⅲ和Ⅳ

答案: A

一般Cache 采用高速的SRAM 制作,比ROM 速度快很多,因此Ⅲ是错误的,用排除法即可选A 。RAM 需要刷新,而ROM 不需要刷新。

2.下列几种存储器中,( )是易失性存储器。

A .Cache B.EPROM

C. Flash Memory D. CD-ROM

答案:A

Cache 由SRAM 组成,属于易失性存储嚣。

3.U 盘属于( )类型的存储器。

A .高速缓存 B.主存

C .只读存储器 D.随机存取存储器

答案:C

U 盘采用Flash Memory 技术,属于ROM 。由于擦写速度和性价比均很可观,故而其常可用做辅存。

4.某计算机系统,其操作系统保存于硬盘上,其内存储器应该采用( )。

A .RAM B.ROM

C. RAM和ROM D.均不完善

答案:C

因计算机的操作系统保存于硬盘上,所以需要BIOS 的引导程序将操作系统引导到主存(RAM)中,引导程序固化于ROM 中。

5.下列说法正确的是( )。

A. FPROM是可改写的,故而可以作为随机存储器

B. EPROM是可改写的,但不能作为随机存储器

C .EPROM 是不可改写的,散而不能作为随机存储器

D. EPROM只能改写一次,故而不能作为随机存储器

答案:B

EPROM 可多次改写,但改写较为繁琐,因此不能作为需要频繁读写的RAM 使用。

3.5.2习题精选

一、单项选择题

1.【2009年计算机联考真题】

某计算机主存容塞为64KB ,其中ROM 区为4KB .其余为RAM 区,按字节编址。现要用 2K ×8位的ROM 芯片和4Kx4位的RAM 芯片来设计该存储器,则需要上述规格的ROM 芯片数和RAM 芯片数分别是( )。

A.1、15 B.2、15 C.1、30 D.2、30

答案:D

首先确定ROM 的个数.ROM 区为4KB ,选用2K ×8位的ROM 芯片,需要(4K×8)/(2K×8)=2片,采用字扩展方式;60KB 的RAM 区,选用4K ×4位的RAM 芯片,需要(60K×8)/(4Kx4)=30片,采用字和位同时扩展方式。

2.【2010年计算机联考真题】

假定有若干个2K ×4位的芯片组成一个8K ×8位的存储器,则地址OB1FH 所在芯片的最小地 址是( )。

A. OOOOH B.0600H C.0700H D. 0800H

答案:D

用2K ×4位的芯片组成一个8K ×8位存储器,每行中所需芯片数为2,每列中所需芯片数 为4, 各行芯片的地址分配如下:

第一行(2个芯片并联)OOOOH ~07FFH

第二行(2个芯片并联)0800H ~OFFFH

笫三行(2个芯片并联)1OOOH ~17FFH

第四行(2个芯片并联)1800H ~1FFFH

于是地址OB1FH 所在芯片的最小地址即为0800H 。

3.【2011年计算机联考真题】

某计算机存储器按字节编址,主存地址空间大小为64MB ,现用4M y8位的RAM 芯片组成32MB 的主存储器,则存储器地址寄存器MAR 的位数至少是( )。

A. 22位 B.23位 C. 25位 D. 26位

答案:D

按字节编址.64MB 的主存地址空间,而MAR 的寻址范围是64M .因此是26位。而实际的主存的空间不能代表MAR 的位数。

4.用存储容量为16Kxl 位的存储器芯片来组成一个64K ×8位的存储器,则在字方向和位方向分别扩展了( )倍。

A .4、2 B.8、4 C.2、4 D.4、8

答案:D

字方向扩展了64K/16K=4倍,位方向扩展了8 bit/1 bit=8倍。

5. 80386DX是32位系统,当在该系统中用8KB 的存储芯片构造32KB 的存储体时,应完成存储器的( )设计。

A. 位扩展 B.字扩展

C .字位扩展 D.字位均不扩展

答案:A

将4片8KB 的存储芯片位扩展为8Kx32位(因为此系统为32位的系统),即为32KB , 便得到题意要求的32KB 的存储体,故只需进行位扩展。

6.某计算机字长为16位,存储器容量为256KB ,CPU 按字寻址,其寻址范围是( )。

A. 0~219-1 B. 0~220-1

C. 0~218-1 D. 0~217-1

答案:D

256KB=218B .按字寻址,可寻址的单元数=218B/2B=217,其寻址范围是0~217-1。

7. 4个16K ×8位的存储芯片,可设计为( )容量的存储器。

A. 32K×16位 B.16K ×16位

C .32K ×8位 D. 8K×16位

答案:A

4个16K ×8位的存储芯片构成的存储器容量=4×16K ×8位=512K位或64KB ,只有选项A 的容量为64KB 。需要注意:若有某项为128K ×4位,此选项是不能选的。

8. 16片2K ×4位的存储器可以设计为( )存储容量的16位存储器。

A.16K B. 32K

C. 8K D. 2K

答案:C

设存储容量为M ,则(M×16位)/(2K×4位)=16,所以M=8K。

9.设CPU 地址总线有24根,数据总线有32根,用512K ×8位的RAM 芯片构成该机的主存储器,则该机主存最多需要( )片这样的存储芯片。

A.256 B.512

C.64 D.128

答案:D

2424生存的总容量:2×32位,所需存储芯片数=2×32 位(512K×8位)=l28。

10. 地址总线A 0(高位)~A 15(低位).用4K ×4位的存储芯片组成16KB 存储器,则产生片选信号的译码器的输入地址线应该是( )。

A. A2A 3 B. A0A 1 C. A12A 13 D. A14A 15

答案:A

由于A 15为地址线的低位,接入各芯片地址端的是地址线的低12位,即A 4~A 15.共有8个芯片(分为4组)组成16KB 的存储器,由高2位地址线A2A3作为译码器的输入。

11. 若内存地址区间为4000H ~43FFH ,每个存储单元可存储16位二进制数,该内存区域用4片存储器芯片构成,则构成该内存所用的存储器芯片的容量是( )。

A. 512×16bit B. 256×8bit C. 256×16bit D. 1024×8bit

答案:C

43FF-4000+1=400H,即内存区域为1K 个单元,总容量为1K ×16。现由4片存储芯片构成,则芯片容量为256x16bit 。

12. 内存按字节编址,地址从90000H 到CFFFFH ,若用存储容量为16K ×8位芯片构成 该内存,至少需要的芯片数是( )。

A.2 B.4 C.8 D. 16

答案:D

CFFFF-90000+1=40000H,即256K 。若用存储容量为16K ×8bit 的芯片,则需要芯片数=(256K

×

8)/(16

K ×

8)=16

片。

13. 如

图3-12

所示,

若低位

地址

(A0~

A 11) 接

在内存芯片地址引脚上.高位地址(A12~A 19) 进行片选译码(其中,A 14和A 16没有参加译码),且片选信号低电平有效,则对图3-12所示的译码电路,不属于此译码空间的地址是( )。

A. ABOOOH~ABFFFH B. BBOOOH~BBFFFH

C. EFOOOH~EFFFFH D. FEOOOH~FEFFFH

答案:D

这是一个部分译码的片选信号,高8位地址中有2位(A14和A16) 没有参与译码,根据译码器电路,译码输出的逻辑表达式应为 CS= A19(A18+A17)A15A13A12

故而不属于此译码空间的就是这几位不合该逻辑表达式的,A 选项为AB .即1010 1011去掉14位和16位为101 111;B 选项为101 111;c 选项为111 111;D选项为111 110,于是选D 。

二、综合应用题

1.主存储器的地址寄存器和数据寄存器各自的作用是什么?设一个1MB 容量的存储器, 字长为32位,问:

1)按字节编址,地址寄存器和数据寄存器各几位?编址范围为多大?

2) 按字编址,地址寄存器和数据寄存器各几位?编址范围为多大?

答案:

在主存储器中,地址寄存器MAR 用来存放当前CPU 访问的内存单元地址,或存放CPU 写入内存的内存单元地址,数据寄存器MDR 用来存放由内存中读出的信息或者写入内存的信息。

20 1)按字节编址,1MB=2×8位,地址寄存器为20位,数据寄存器为8位,编址范围为

OOOOOH ~FFFFFH(FFFFFH-OOOOOH+1=100000H=220).

2)按字编址,1MB=218×32位,地址寄存器为18位,数据寄存器为32位.编址范围为

18OOOOOH ~3FFFFH(3FFFFH-OOOOOH+140000H=2) 。

2.用一个512K ×8位的Flash 存储芯片组成一个4M ×32位的半导体只读存储器,存储器按字编址,试回答以下问题:

1)该存储器的数据线数和地址线数分别为多少?

2)共需要几片这样的存储芯片?

3) 说明每根地址线的作用。

答案:

1) 由于所需组成存储器的最终容量为4M ×32位,所以需要32根数据线。而存储器又是以字编址,所以此时不需要将存储器的容量先转换成16M ×8位,直接就是4M ×32位中的4M ,所以只需要22根地址线(2=4M)即可。

2) 采用512K ×8位的Flash 存储芯片组成4M ×32位的存储器时,需要进行位扩展和字扩展。

位扩展:4片512K ×8位的Flash 存储芯片位扩展可以组成512K ×32位的Flash 存储芯片。字扩展:8片512K ×32位的Flash 存储芯片字扩展可以组成4M ×32位的存储器,综上可知,一共需要4×8=32片512K ×8位的存储芯片。

3) 在CPU 的22根地址线中(A0~A21) ,地址线的作用分配如下:

首先,此时不需要指定A 0、A 1来标识每一组中的4片存储器,因为此时是按字寻址,所以4片每次都是一起取的,而不是按字节编址时,需要取4片中的某一片。 AO ~A l8:每一片都是512K .所以需要19位(29=512K)来表示。 A19、A 20、A 21:因为在扩展中4片一组,一共有8组,所以需要用3位地址线来决定取哪一组(通过3/8译码器形成片选信号)。

3.有一个16Kx16位的存储器,由IKx4位的DRAM 芯片构成(芯片是64x64结构)。问:

1)共需要多少RAM 芯片?

2)采用异步刷新方式,如单元刷新间隔不超过2 ms ,则刷新信号周期是多少? 答案:

1) 存储器的总容量为16K ×16位,RAM 芯片为1K ×4位,故所需芯片总数为(16K×16位) /(1K×4位)=64片。

2) 采用异步刷新方式,在2ms 时间内分散地把芯片64行刷新一遍,故刷新信号的时间间隔为2ms/64=31.25μs ,即可取刷新信号周期为30μs 。

4.设有32片256K ×l 位的SRAM 芯片。回答以下问题:

1)采用位扩展方法可以构成多大容量的存储器?

2)如果采用32位的字编址方式,该存储器需要多少地址线?

3)画出该存储器与CPU 连接的结构图,设CPU 的接口信号有地址信号、数据信号和控制信号MREQ 。

答案:

1) 32片256K ×l 位的SRAM 芯片可构成256K ×32位的存储器。

18 2)如果采用32位的字编址方式,则需要18条地址线,因为2=256K。

3)用作为芯片选择信号,CPU 连接的结构图如下图所示,因为存储容量为256Kx32=1024K=220B,所以CPU 访存地址为A 19~A O .最高地址位为A 19, 并由A 0、A 1选择各字节。

5.某机主存空间为64KB ,I/O空间与主存单元统一编址,I/O空间占用1KB ,范围为FCOOH ~FFFFH 。可选用8K ×8位和1K ×8位两种SRAM 和分别为系统提供的读写信号线。画出该存储器逻辑图,并标明每块芯片的地址范围。

答案:由于64KB 存储空间中.I/O占用了最高1KB 空间(FCOOH~FFFFH) ,RAM 芯片应当 分配在余下的低63KB 空间。选用7片8K ×8位芯片和7片1K ×8位芯片,共计63KB 。 8K×8RAM 芯片共有8K 个8位的存储单元,片内地址应有log 2(8K)=13根,分别连接地 址线A 12~A 0,每片的地址范围为OOOOH ~1FFFH 。

64KB的存储器应有64K 个存储单元,地址线应有log 2(64K)=16根。地址范围为OOOOH ~ FFFFH 。

地址线A 12~A O 并行连接到7片8K ×8位RAM 芯片的13个地址端,用3根高地址线A15、 A 14、 A13经3/8译码器译码,译码器的7个输出端(000~110) 分别接到7片8K ×8位芯片的 片选端,用以选择7片8Kx8位芯片中的1片。剩下1个输出端Ⅲ用以控制另一个3/8译码 器。

1K×8的存储器共有1K 个存储单元,地址线应有log2(1K) =10根。地址范围为OOOH ~ 3FFH 。地址线A 9~A 0,共10根,并行连接到7片1K ×8位RAM 芯片的10个地址端。3根 地址线A 12、A 11、A 10经3/8译码器译码,译码器的7个输出端(000~110) 分别接到7片1K ×8位芯片的片选端,用以选择7片1K ×8位芯片中的1片。

6.设CPU 有l6根地址线,8根数据线,并用MREQ 作为访存控制信号(低电平有效),用WR 作为读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K ×4位RAM , 4K ×8位RAM ,8Kx8位RAM .2K ×8位ROM ,4K ×8位ROM ,8K ×8位ROM 及74LS138译码器和各种门电路。画出CPU 与存储器的连接图,要求:

1)主存地址空间分配:6000H —67FFH 为系统程序区;6800H ~6BFFH 为用户程序区。

2)合理选用上述存储芯片,说明各选几片?

3) 详细画出存储芯片的片选逻辑图。

答案:

1) 将十六进制地址范围写成二进制地址码,并确定其总容量,如下图所示。

①由6000H ~67FFH 为系统程序区的范围,选1片2K ×8位的ROM 。故0-10地址线应用来选择ROM 芯片。那么能用来作为74LS138译码器输入的只能是11~15地址线。

②由6800H ~6BFFH 为用户程序区的范围,选2片1K ×4位的RAM 芯片。故O ~9地址线应用来选择RAM 芯片。那么能用来作为74LS138译码器输入的只能是10~15地址线。

① ②取交集,则只能取11~15地址线。故取11、l2与13这3位分别作为A 、B 与C 的输入端。

ROM芯片的13、l2、11号线分别为1、0、0,十进制值为4,故取74LS138的4号输 出端。

RAM芯片的13、12,11号线分别为1、O 、1,十进制值为5,故取74LS138的5号输 出端:又因为10号线为0时才选中RAM 芯片,故根据题目条件,本题选用了与非门。若直 接用74LS138的5号输出端作为片选端,则下列地址也选中RAM 。

3.6.2 习题精选

一、单项选择题

1.双端口RAM 在( )情况下会发生读/写冲突。

A.左端口和右端口的地址码不同

B.左端口和右端口的地址码相同

C.左端口和右端口的数据码不同

D.左端口和右端口的数据码相同

答案:B

当左右端口同时访问某个地址时会发生冲突,这时要暂停一个端口访存。

2.交叉存储器实际上是一种( )的存储器,它能( )执行多个独立的读/写操作。

A.模块式、并行 B.整体式、并行

C.模块式、串行 D.整体式、并行

答案:C

3.己知单个存储体的存储周期为11Ons ,总线传输周期为1Ons ,则当采用低位交叉编址的多模块存储器时,存储体数应( )。

A.小于11 B.等于11

C.大于11 D.大子等于11

答案:D

为了保证第二次启动某个体时,它的上次存取操作已完成,存储体的数量应大于等于11( 110ns/10ns=11)。

4.一个四体并行低位交叉存储器,每个模块的容量是64Kx32位,存取周期为200ns ,在下述说法中( )是正确的。

A.在200ns 内,存储器能向CPU 提供256位二进制信息

B.在 200ns内,存储器能向CPU 提供128位二进制信息

C.在50ns 内,每个模块能向CPU 提供32位二进制信息

D.以上都不对

答案:B

低位交叉存储器采用流水线技术,每200ns 可向CPU 提供128位二进制信息,但由于每个模块必须间隔一个存取周期方能继续提供信息,故50ns 内,任意模块无法向CPU 提供32位二进制信息。

5.某机器采用四体低位交叉存储器,现分别执行下述操作:①读取6个连续地址单元中存放的存储字,重复80次;②读取8个连续地址单元中存放的存储字,重复60次。则①、②所花费的时间之比为( )

A .1:1 B.2:1 C.4:3 D.3:4

答案:C

首先,不去管重复多少次,先要计算出每次的时间。本题解题的关键在于对低位交叉存 储器原理的理解。设存取周期为T ,则有:

1)连续读取6个存储字所需的时间为T+(6-1)×(T/4)=2.25T,这一步没什么疑问;但其 总时间并不是直接乘以80,因为在第一轮最后一个字存放后,第一个存储器无法立刻存储第二轮的第一个字。原因在于对于单个存储器来说,存储周期是没有变化的,在存完一个字后.必须等待T 后才可以进行下一个字的存取。以第一轮来分析,四位低位交叉时,通常情况下存储周期是总线周期的4倍,就是总线可以每隔T/4就向存储体传送一个字,第一个字进入存储器I .第二个字进入存储器2„„直到第四个字进入存储器4后,第一个存储器正好经过了一个T ,于是可以继续向第一个存储器存入,从而使总线不间断地写入存储体,接着就是第五个字存入存储器l ,第六个字存入存储器2,至此,第一轮的存数结束。但是此时无法立刻开始第二轮存数,因为此时距离存储器1存数只过了T/4×2的时间,没有达到T ,因此无法立刻写入,必须再等2×T/4,因此,第二轮的开始时间实际上是3T 。总时间是:

3T ×(80-1 )+2.25T=239.25T。

2)这里就简单多了,按照1)来分析,很容易得到单次时间为T+(8-1)×(T/4)=2.75T,

总时间为3T ×(60-1)+2.75T=179.75T。因此,得到总时间比约为4:3。(两个总时间的计算是比较精确的计算,在计算的时候需把最后一轮的时间单独进行考虑。实际上做这道题时,如果清楚原理,完全可以把1)和2)的单轮时间看做相同,不影响结果)

二、综合应用题

1.一个四体并行交叉存储器,每个模块容量是64K ×32位,存取周期为200ns ,问:

1)在一个存取周期中,存储器能向CPU 提供多少位二进制信息?

2)若存取周期为400ns ,则在0.1µS内每个体可向CPU 提供32位二进制信息,该说法正确否?为什么?

答案:

1) 一个存取周期,四体并行交叉存储器可以取32×4=128位。其中32为总线宽度.4为交叉存储器内的存储体个数。

2)该说法不正确。因为在O.1μs 内整个存储器可向CPU 提供32位二进制信息,但每个存储体必须经过400ns 才能向CPU 提供32位二进制信息。

3.7.2 习题精选

一、单项选择题

1.在高速缓存系统中,主存容量为12MB ,Cache 容量为400KB ,则该存储系统的容量为( )

A. 12MB+400KB B.12MB C. 12MB~12MB+400KB D. 12MB-400KB

答案:B

A 为干扰项。各层次的存储系统不是孤立工作的,三级结构的存储系统是围绕丰存储器来组织、管理和调度的存储器系统,它们既是一个整体,又要遵循系统运行的原理,其中包括包含性原则。由于Cache 中存放的是.主存中某一部分信息的副本,所以不能认为总容量为两个层次容量的简单相加。

2.【2009年计算机联考真题】

假设某计算机的存储系统由Cache 和主存组成,某程序执行过程中访存1000次,其中访问Cache 缺失(未命中)50次,则Cache 的命中率是( )。

A.5% B.9.5% C.50% D.95%

答案:D

命中率=Cache 命中的次数/所有访问次数,有了这个公式这道题就很容易计算出答案。 要注意的一点是仔细审题,题中说的是缺失50次,而不是命中50次。仔细审题是做对题的 第一步。

3.【2009年计算机联考真是】

某计算机的Cache 共有16块,采用二路组相联映射方式(即每组2块)。每个主存块大小为32B .按字节编址,主存129号单元所在主存块应装入到的Cache 组号是( )。

A.O B.2 C.4 D.6

答案:C

由于Cache 共有16块,采用二路组相联映射,因此共有8组。O ,1,2,„,7。并且 主存的某一字块按模8映射到Cache 某组的任一字块中,即主存的第O 、8、16„字块可以映射到Cache 第0组的两个字块的任一宁块中,而129号单元位于第4块主存块中,因此将映射到Cache 第4组的两个字块的任一字块中。

4.在写操作时,对Cache 与主存单元同时修改的方法称做( ),若每次只暂时写入Cache ,直到替换时才写入主存的方法称做( )。

A.写直达法 B.写回法

C .写一次法 D.都不对

答案:A 、B

5.关于Cache 的更新策略,下列说法正确的是( )。

A.读操作时,写直达法和写回法在命中时应用

B.写操作时,写回法和按写分配法在命中时应用

C.读操作时,写直达法和按写分配法在失效对应用

D.写操作时,按写分配法、不按写分配法在失效时应用

答案:D

在写主存的同时把该块调入Cache 的方法称为写分配法,其通常和写回法配合使用。而写主存时不将该块调入Cache 则称为不按写分配,其通常与写直达法配合使用。这两种方法都是在不命中Cache 的情况下使用的,而写回法和写直达法是在命中Cache 的情况下使用的。

6.某虚拟存储器系统采用页式内存管理,使用LRU 页面替换算法,考虑下面的页面访问地址流(每次访问在一个时间单位中完成):

1 8 1 7 8 2 8 2 1 8 3 8 2 1 3 1 7 1 3 7

假定内存容量为4个页面,开始时是空的,则页面失效次数是( )。

A.30% B.5% C.1.5% D.15%

答案:

A

7.某32位计算机的Cache 容疑为16KB .Cache 行的大小为16B ,若主存与Cache 地址映像采用直接映像方式,则主存地址为Ox1234E8F8的单元装入Cache 的地址是( )。

A. [1**********]101 B. [1**********]010

C. [1**********]000 D. [1**********]000

答案:C

因为Cache 容量为16KB ,所以Cache 地址长14位。主存与Cache 地址映像采用直接映像方式,将32位的主存地址Ox1234E8F8写成二进制,去低14位就是Cache 地址。

8.在Cache 中,常用的替换策略有:随机法(RAND )、先进先出法(FIFO)、近期最少使用法(LRU ).其中与局部性原理有关的是( )。

A.随机法(RAND )B .先进先出法(FIFO) C.近期最少使用法( LRU) D.都不是 答案:C

LRU 算法根据程序访问局部性原理选择近期使用的最少的存储块作为替换的块。

9.某存储系统中,主存容量是Cache 容量的4096倍,Cache 被分为64个块,当主存地址和Cache 地址采用直接映像方式时,地址映射表的大小应为( )。(假设不考虑一致 维护和替换算法位)

A. 6×4097bit B.64×12bit C. 6×4096bit D. 64×13bit

答案:地址映射表也就是标记阵列,由于Cache 被分为64个块,那么Cache 有64行,采用直接映射,一行相当于一组。故而该标记阵列每行存储1个标记项.其中主存标记项为12bit (212=4096,是Cache 容量的4096倍,那么就是地址长度比Cache 长l2位),加上1位有效位,故而为64×13bit 。

1O. 有一主存-Cache 层次的存储器,其主存容量为1MB ,Cache 容量为16KB .每字块

有8个字,每字32位,采用直接地址映像方式,若主存地址为35301H ,且CPU 访问Cache 命中,则在Cache 的第( )(十进制表示)字块中(Cache 起始字块为第0字块)。

A.152 B.153

C.154 D.151

答案:A

5主存地址即为0011 0101 0011 0000 0001,其中字块内地址为低5位(每字块含32B .2=32,

故为5位),主存字块标记为高6位(1MB ÷16KB=64,26=64,故为6位),其余01 0011 000 即为Cache 字块地址,即十进制数152。

11. 若由高速缓存、主存,硬盘构成的三级存储体系,则CPU 访问该存储系统时发送的地址为( )。

A.高速缓存地址 B.虚拟地址

C.主存物理地址 D.磁盘地址

答案:C

当CPU 访存时,先要到Cache 中查看该主存地址是否在Cache 中,所以发送的是主存地 址。只有在虚拟存储器中,CPU 发出的才是虚拟地址,这里并没有指出是虚拟存储系统。磁 盘地址是外存地址,外存中的程序是由操作系统调入到主存中,再在主存中执行的.CPU 不 可能直接访问磁盘。

二、综合应用题

1.某计算机的主存地址位数为32位,按字节编址。假定数据Cache 中最多存放128个主存块,采用四路组相联方式,块大小为64B ,每块设置了l 位有效位。采用一次性写回策略,为此每块没置了1位“脏”位。要求:

1)分别指出主存地址中标记(Tag)、组号(Index)和块内地址(Offset)三部分的位置 和位数。

2)计算该数据Cache 的总位数。

答案:因为块大小为64B .所以块内地址字段6位;因为Cache 中有128个主存块,采用四路组相联,Cache 分为32组(128+4=32).所以组号字段为5位:标记字段为剩余,32-5-6=21位。数据Cache 的总位数应包括标记项的总位数和数据块的位数,每个Cache 块对应一个标记项,标记项中应包括标记字段、有效位和“脏”位(仅适用于写回法)。

1)主存地址中Tag 为21位,位于主存地址前都:Index 为5位,位于主存地址中部: Offset 为6位,位于主存地址后部。

2)标记项的总位数=128×(21+1+1)=128×23=2944位,数据块位数=128×64×8-65536位.所以数据Cache 的总位数-2944+65536=68480位。

2.【2010年计算机联考真题】

某计算机的主存地址空间大小为256MB ,按字节编址。指令Cache 和数据Cache 分离, 均有8个Cache 行,每个Cache 行大小为64B .数据Cache 采用直接映射方式。现有两个功 能相同的程序A 和B ,其伪代码如下所示:

假定int 类型数据用32位补码表示,程序编译时,i 、j 和sum 均分配在寄存器中,数组a 按行优先方式存放,其首地址为320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。

1) 若不考虑用于Cache -致性维护和替换算法的控制位,则数据Cache 的总容量为多

少?

2)数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache 行号分别是多少(Cache行号从O 开始)?

3)程序A 和B 的数据访问命中率各是多少?哪个程序的执行时间更短?

答案:

1) 数据Cache 有8个Cache 行,每个Cache 行大小为64B .Cache 中每个字块的Tag 字段的位数是28-9=19位,此外还需使用一个有效位,合计20位。因此,数据Cache 的总容量应为:8×(64+20/8)B-532B。

2) 数组a 在主存的存放位置及其与Cache 之间的映射关系如下图所示:

数组按行优先方式存放,首地址为320,数组元素占4个字节.a[0][31]所在的主存块对应的Cache 行号为(320+3l×4) DIV 64=6:a[1][1]所在的主存块对应的Cache 行号为(320+256×4+1×4) DIV 64 MOD 8=5.

3)编译时i 、j 、sum 均分配在寄存器中,故数据访问命中率仅考虑数组a 的情况。 ①该程序的特点1是数组中的每一个元素仅被使用一次。数组a 按行优先存放.数据

Cache 正好放下数组半行中的全部元素,即元素的存储顺序与使用次序高度地吻合,每个字块的l6个int 型元素中,除访问的第一个不会命中外,接下来的15个都会命中。访问全部字块都符合这一规律,故命中率为15/16,即程序A 的数据访问命中率是93.75%。

②程序B 按照数组的列执行外层循环,在执行内层循环的过程中,将连续访问不同行 的同一列的数据,不同行的同一列数组使用的是同一个Cache 单元,每次都不会命中,散命 中率是0。

由于从Cache 读数据比从主存数据快很多,所以程序A 的执行比程序B 快得多。

注意:本题考查Cache 容量计算,直接映射方式的地址计算以及命中率计算(行优先遍 历与列优先遍历命中率差别很大)。

3.有一Cache 系统,字长为16位,主存容量为16字×256块,Cache 的容量为16字×8 块。采用全相联映射,求:

1)主存和Cache 的容量各为多少字节?主存和Cache 的字地址各为多少位?

2)如果原先已经依次装入了5块的信息,问字地址为338H 所在的主存块将装入Cache 块的块号及在Cache 中的字地址是多少?

3)如果块表中地址为1的行中标记者36H 的主存块号标志,Cache 块号标志为5H ,则 在CPU 送来主存的字地址为368H 时是否命中?如果命中,此时Cache 的字地址为多少? 答案:

1) 主存容量=16x256x2=8192B。Cache 容量-16×8×2=256B.主存字地址=8+4=12位. Cache 字地址=3+4=7位,如下图所示。

2) 如下图所示,由于每块16字,所以该主存字所在的主存块号为33H 。由于是全相联

映射,原先已经装入Cache 的5个块依次在0~4号块,因此主存的第33H 的块将装入Cache 的第5块。对应Cache 的字地址为1011000B ,其中101为块号,1000为块内地址。

3) 如下图所示,由于表中地址为1的行中标记着36H 的主存块号标志,则当CPU 送来

主存的字地址为368H 时,其主存块号为36H ,所以命中。此时的Cache 字地址为58H 。

4.某个Cache 的容量大小为64KB ,行长为128B ,且是四路组相联Cache .主存使用32 位地址,接字节编址。则

1)该Cache 共有多少行?多少组?

2)该Cache 的标记阵列中需要有多少标记项?每个标记项中标记位长度是多少?

3)该Cache 采用LRU 替换算法,若当该Cache 为写直达式Cache 时,标记阵列总共需 要多大的存储容量?写回式又该如何?(提示:四路组相联Cache 使用LRU 算法的替换控制 位为2位)

答案:

1) 由于64KB/128B=512,敞而有512行。而该Cache 是四路组相联,所以512/4=128组。

2) 每行有一个标记项,故而有512个标记项。主存字块标记长度就是标记位的长度,由 于该Cache 有128组,所以7位为组地址。而行长128字节,7位为字块内地址,因此该标 记项中的标记位长度为32-14=18位。

3) LRU替换策略要记录每个Cache 行的生存时问,故而每个标记项有两位替换控制位。 而写直达法没有“脏”位(一致性控制位),再加一个有效位即可。因此,每个标记项位数是:

18+2+1=21位,故而总大小为512×21=10752位。

写回式则是每个标记项加一个一致性控制位,因此为512×22=11264位。

5.有一全相联Cache 系统,Cache 由8个块构成.CPU 送出的主存地址流序列分别为01110、10010、01110、10010、01000、00100、01000和01010,即十进制为14、18、14、18、8、4、8、1O ,求:

1)每次访问后.Cache 的地址分配情况。

2)当Cache 的容量换成4个块,地址流为6、15、6、13、11、10、8和7时,求采用先 进先出替换算法的相应地址分配和操作。

答案:

1) 依据Cache 的块容量和访问的块地址流序列,Cache 的地址分配如下图所示。

2) 采用先进先出替换算法的相应地址分配如下图所示

由于是全相联映射.且当访问从第6个地址开始时.Cache 已经装不下,因此,按照先 进先出的原则依次替换出第0块、第1块和第2块。

3.8.2 习题精选

一、单项选择题

1.为使虚拟存储系统有效地发挥其预期的作用,所运行的程序应具有的特性是( )。

A. 不应含有过多的I/O操作 B.大小不应小于实际的内存容量

C.应具有较好的局部性 D. 顺序执行的指令不应过多

答案:C

虚拟存储系统利用的是局部性原理,故而程序应当具有较好的局部性,而含有输入、输出操作是产生中断,与虚存无关:大小较小但可以多个程序并发执行,也可以发挥虚存的作用;顺序执行的指令应当占较大比重为宜,这样可增强程序的局部性。

2.虚拟存储管理系统的基础是程序访问的局部性原理,此理论的基本含义是( )。

A.在程序的执行过程中,程序对主存的访问是不均匀的

B.空间局部性

C.时间局部性

D. 代码的顺序执行

答案:A

局部性原理的含义就是一个程序执行过程中,其火部分情况下是顺序执行的,某条指令或数据使用后,在最近一段时间内较大可能再次被访问(时间局部性);某条指令或数据使用后,其临近的指令或数据可能在近期被使用(空间局部性)。在虚拟存储管理系统中,程序只能访问主存获得指令和数据,所以A 是正确的,B 、C 、D 均是局部性原理的一个方面而已。

3.虚拟存储器管理方式常用的有段式、页式、段页式,它们在与主存交换信息时的单位 以下表述正确的是( )。

A. 段式采用“页” B.页式采用“块”

C.段页式采用“段”和“页” D. 页式和段页式均仅采用“页”

答案:D

页式虚拟存储一方式对程序分页,采用页进行交互:段页式则是先按照逻辑分段,然后分页,以页的单位和主存交互。

4.【2010年计算机联考真题】

下列命令组合情况中,一次访存过程中,不可能发生的是( )。

A. TLB未命中,Cache 未命中,Page 未命中

B.TLB 未命中,Cache 命中,Page 命中

C. TLB命中.Cache 未命中,Page 命中

D. TLB命中,Cache 命中,Page 未命中

答案:D

TLB 即为快表,快表只是慢表(Page)的小小副本,因此TLB 命中,必然Page 也命中;而当Page 命中,TLB 则未必命中,故D 选项不可能发生。而Cache 的命中与否与TLB 、Page 的命中与否并无必然联系。

5.下列关于虚存的叙述中,正确的是( )。

A.对应用程序员透明,对系统程序员不透明

B.对应用程序员不透明,对系统程序员透明

C.对应用程序员、系统程序员都不透明

D.对应用程序员、系统程序员都透明

答案:A

虚存需要通过对操作系统实现地址映射,因此对于操作系统的设计者——系统程序员是不透明的。而应用程序员写的程序其地址是逻辑地址(虚地址),故而对其是透明的。

6.在虚拟存储器中,当程序正在执行时,由( )完成地址映射。

A.程序员 B.编译器 C.装入程序 D.操作系统

答案:D

虚拟存储器中.地址映射由操作系统来完成。

7.采用虚拟存储器的主要目的是( )。

A.提高主存储器的存取速度

B.扩大主存储器的存储空间

C.提高外存储器的存取速度

D.扩大外存储器的存储空间

答案:B

8.关于虚拟存储器,下列说法正确的是( )。

Ⅰ.虚拟存储器利用了局部性原理

Ⅱ. 页式虚拟存储器的页面如果很小,主存中存放的页面数较多,导致缺页频率较低,换页次数减少,最终可以提升操作速度

Ⅲ.页式虚拟存储器的页面如果很大,主存中存放页面数较少,导致页面调度频率较高.换页次数增加,降低操作速度

Ⅳ,段式虚拟存储器中,段具有逻辑独立性,易于实现程序的编译、管理和保护,也便于多道程序共享

A.Ⅰ、Ⅲ、Ⅳ B.Ⅰ、Ⅱ、Ⅲ

C.Ⅰ、Ⅱ、Ⅳ D.Ⅱ、Ⅲ、Ⅳ

答案:A

页式虚拟存储器中,页面如果很小,虚拟存储器中包含的页面个数就会过多,使得页表的体积过大,导致页表本身占据的存储空间过大,这将会使操作速度变慢,故Ⅱ错误。CPU 访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中,虚拟存储器正是依据了这一原理来没计的,故Ⅰ正确。当页面很大时,虚拟存储器中的页面个数会变少,由于主存的容量比虚拟存储器的容量最小,主存中的页面个数会更少,每一次页面装入的时间会变长,每当需要装入新的页面时,速度会变慢,故Ⅲ正确。段式虚拟存储器是按照程序的逻辑性来设计的,具有易于实现程序的编译、管理和保护,也便于多道程序共享的优点,故Ⅳ正确。

9.虚拟存储器中的页表有快表和慢表之分,下面关于页表的叙述中正确的是()。

A. 快表与慢表都存储在主存中,但快表比慢表容量小

B.快袭采用了优化的搜索算法,因此查找速度快

C.快表比慢表的命中率高,因此快表可以得到更多的搜索结果

D. 快表采用快速存储器件组成,按照查找内容访问,因此比慢表查找速度快 答案:D

将当前最常用的页表信息存放在一个小容量的高速存储器中称为快表。与快表相对应存 放在主存中的页表称为慢表。快表仅是慢表的一个小量副本。快表采用组相连存储器,查表 速度快。

二、综合应用题

1.【2011年计算机联考真题】

某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB ,主存(物理)地址空间大小为1MB ,页面大小为4KB: Cache 采用直接映射方式,共8行;主存与Cache 之间 交换的块大小为32B 。系统运行到某一时刻时,页表的部分内容和Cache 的部分内容分别如 图3-24和图3-25所示,图中页框号及标记字段的内容为十六进制形式。

请回答下列问题:

l)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)?

2)使用物理地址访问Cache 时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。

3)虚拟地址OO1C60H 所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache 命中?要求说明理由。

4) 假定为该机配置一个四路组相联的TLB ,共可存放8个页表项,若其当前内容(十六进制)如图3-26所示,则此时虚拟地址024BACH 所在的页面是否存在主存中?要求说明理由。

答案:

1) 虚拟空间为16M —224,故虚拟地址为24位;页面大小为4K=212,故页内地址为12

位,所以虚页号为前12位;主存空间为1M=220.故物理地址20位;20-12=8,故前8位为 页框号。

2) 物理地址应划分为主存字块标记(12bit)、Cache 字块标记(3bit)、字块内地址(5bit) 3个字段。物理地址共20位,其中,块大小为32B=25B,故块内地址为5位:cache 共8行, 8=23.故字块标记为3位:20-5-2=12.故主存字块标记为12位。

3) 在主存中,04C60H 不命中,没有04C 的标记字段。OO1C60H 中虚页号为001H=1,

查页表知其有效位为1.,在内存中:其对应的物理地址也在表项中,页框号为04H ,故物理 地址为04C60H ;物理地址04C60H 在直接映射方式下,对应的行号为4,有效位为l ,但是 标记位为064H ≠04CH ,故不命中。

4) 虚拟地址024BACH 所在的页面在主存中,012的标记命中。标记11位,组地址1位,页内地址12位,前l2位为0000 0010 0100,组地址位为0,第0组中存在标记为012的页,其页框号为1F ,因此024BACH 所在的页而存在主存中。

2.某一个计算机系统采用虚拟页式存储管理方式,当前在处理机上执行的某一个进程的页表见表3-3.所有的数字均为十进制,每一项的起始编号是0,并且所有的地址均按字节编址,每页大小为1024B 。

1) 将下列逻辑地址转换为物理地址,写出计算过程,对不能计算的说明为什么。

0793, 1197, 2099, 3320, 4188, 5332

2) 假设程序要访问第2页,页面置换算法为改进的Clock 算法

答案:

根据题意,每页为1024字节,地址又是按字节编址,因此,所有地址均可转换为页号和内偏移量。地址转换过程一般先将逻辑页号取出,然后查找页表,得到页框号,再将页框号与页内偏移量相加,即可获得物理地址。若取不到页框号,则该页不在内存,于是产生缺页中断,开始请求调页。若内存有足够的物理页面,那么可以再分配一个新的页面:若没有页面了,就必须在现有页面中找到一个页,将新的页与之置换。这个页可以是系统中的任意一页,也可以是木进程中的一页。若是系统中的·页,则这种置换方式称为全局置换:若是本进程中的页面,则称为局部置换。置换时为尽可能减少缺页中断次数,可以有多种算法来应用,本题使用的是改进的Clock 算法。这种算法必须使用页表中的引用位和修改位,由这两位组成4种级别,没被引用和没修改的页面最先淘汰,没引用但修改了的页而其次,再者淘汰引用了但没有修改的页面,最后淘汰即引用又修改的页面。当页面的引用位和修改位相同时,随机淘汰一页。

1) 根据题意,计算逻辑地址的页导和页内偏移量,合成物理地址如下表所示。

3.图3-27表示使用快表(页表的虚实地址转换条,快表存放在相联存储器中,其容量为8个存储单元。 问:

1) 当CPU 按虚拟地址l 去访问主存时,生存的实地址码是多少?

2) 当CPU 按虚拟地址2去访问主存时,主存的实地址码是多少?

3) 当CPU 按虚拟地址3去访问主存时,主存的实地址码是多少?

答案:

4.一个两级存储器系统有8个磁盘上的虚拟页面需要映像到主存中的4个页中。某程序生成以下访存页面序列:l ,0,2,2,1,7,6.7.O ,1,2,0.3.O ,4,5,1,5,2,4,5,6,7,6,7,2,4,2,7,3 。

采用LRU 替换策略,设初始时主存为空。

1)画出每个页号访问请求之后存放在主存中的位置。

2) 计算主存的命中率。

答案:


相关文章

  • 苏州大学考研信息
  • 苏州大学硕士研究生入学考试 <信号系统与数字逻辑>科目考查的内容范围 <信号与线性系统>部分考试内容 一.信号与系统的基本概念 1. 信号的定义与分类 2. 典型连续信号 3. 信号的分解与运算 4. 系统的定义与分 ...查看


  • 2017人大软件工程硕士考研复习方法整理
  • 2017人大软件工程硕士考研复习方法整 理 经过整理凯程人大软件工程硕士考研老师总结了以下关于考研内容,希望通过以下内容,同学们更加了解人大软件工程硕士考研,规划好学习计划!凯程就是王牌的人大考研机构! 一.人大软件工程硕士考研复习方法解读 ...查看


  • 人大软件工程硕士考研学费是多少
  • 人大软件工程硕士考研学费是多少 人大软件工程硕士考研学费是多少,是历年来学子的问题,凯程人大软件工程硕士考研老师整理了一些备考人大软件工程硕士考研的资料,希望广大考生根据复习建议规划复习计划,取得好的成绩.特别申明,以下信息绝对准确,凯程就 ...查看


  • 人大软件工程硕士考研学费怎么收
  • 人大软件工程硕士考研学费怎么收 考取人大软件工程硕士研究生学费怎么收?今天,凯程人大软件工程硕士考研老师给大家整理了一些有关学费,人大软件工程硕士考研就业,人大软件工程硕士考研辅导,人大软件工程硕士考研参考书,人大软件工程硕士考研专业课其它 ...查看


  • 软件工程课后题参考答案_北大考研
  • 软工第1章: 1)P2的§1.1,软件工程的概念和软件的含义 2)软件工程框架P2图1.1 软工第2章: 1)软件开发模型的定义P4第一段 2)几种模型的比较:特点.优缺点 3)重点模型:演化模型.螺旋模型.喷泉模型(其实这个最重要了,可是 ...查看


  • 2016年中国人民银行统计笔试经验杂谈
  • 2016年中国人民银行统计笔试经验杂谈 今年我经过2016年人行统计笔试现在来谈谈我的感想吧,给后人一些提醒和借鉴吧!直入主题,今年笔试仍然行测加统计专业课: 行测呢,70道题,1小时肯定做不完,做完的都是大神,总体上和公务员考试基本一致, ...查看


  • 19280智能仪器原理及应用
  • 课程名称:智能仪器原理及应用 课程代码: 09280 第一部分 课程性质与特点 一.课程性质与特点 1.课程性质 <智能仪器>是高等教育自学考试电子工程本科专业必修的专业基础课程之 一.智能仪器在通信.家电.自动控制.仪器仪表中 ...查看


  • 计算机组成原理考研试卷(五)及答案
  • 计算机组成原理考研试卷(五)及答案 一.选择题(共5 分,每题1 分) 1. 设寄存器内容为80H ,若它对应的真值是–127,则该机器数是______ A. 原码; B. 补码; C. 反码; D. 移码. 2. 下列叙述中______ ...查看


  • 电视与电影的区别上大电影学考研复习资料
  •   电视与电影的区别(一) 电视和电影都是声话艺术的综合表现形式,它们有着很多内在的相通性,但是也存在和很大的区别,我们就其各自的特点来看一看它们之间有那些区别: 1.发展历史不同: 电影诞生于1895年,而电视诞生于1936年11月2 ...查看


热门内容