存储器习题.docx
《存储器习题.docx》由会员分享,可在线阅读,更多相关《存储器习题.docx(18页珍藏版)》请在冰豆网上搜索。
存储器习题
存储器
选择题:
1、下面关于半导体存储器组织叙述中,错误的就是()。
D
A、存储器的核心部分就是存储体,由若干存储单元构成
B、存储单元由若干存放0与1的存储元件构成
C、一个存储单元有一个编号,就就是存储单元地址
D、同一个存储器中,每个存储单元的宽度可以不同
2、下面()存储器就是目前已被淘汰的存储器。
C
A、半导体存储器B、磁表面存储器C、磁芯存储器D、光盘存储器
3、若SRAM芯片的容量为1024*4位,则地址与数据引脚的数目分别就是()。
A
A、10,4B、5,4C、10,8D、5,8
4、若计算机字长16位,主存地址空间大小就是64KB,按字节编址,则主存寻址范围就是()。
A
A、0~64K-1B、0~32K-1C、0~64KB-1D、0~32KB-1
5、需要定时刷新的半导体存储器芯片就是()B
A、SRAMB、DRAMC、EPROMD、FlashMemory
6、假定用若干个16K*1位的存储器芯片组成一个64K*8位的存储器,芯片内各单元连续编址,则地址BFF0H所在的芯片的最小地址为()。
C
A、4000HB、6000HC、8000HD、A000H
7、假定用若干个16K*8位的存储器芯片组成一个64K*8位的存储器,芯片内各单元交叉编址,则地址BFFFH所在的芯片的最小地址为()。
D
A、0000HB、0001HC、0002HD、0003H
8、假定主存地址位数为32位,按字节编址,主存与Cache之间采用直接映射方式,,主存块大小为1个字,每字32位,写操作时采用全写方式,则能存放32K字数据的Cache的总容量至少应有多少位()。
B
A、1504KB、1536KC、1568KD、1600K
9、假定主存地址位数为32位,按字节编址,主存与Cache之间采用直接映射方式,,主存块大小为1个字,每字32位,写操作时采用回写方式,则能存放32K字数据的Cache的总容量至少应有多少位()。
C
A、1504KB、1536KC、1568KD、1600K
10、假定主存地址位数为32位,按字节编址,主存与Cache之间采用全相连映射方式,,主存块大小为1个字,每字32位,写操作时采用回写方式与随机替换策略,则能存放32K字数据的Cache的总容量至少应有多少位()。
D10题干有问题应为全相连因为直接映射没有替换算法,冲突就替换
A、1536KB、1568KC、2016KD、2048K
11、假定主存按字节编址,Cache共有64行,采用直接映射方式,主存块大小为32字节,所有编号从0开始。
问主存第3000号所在主存块对应Cache行号就是()。
C
A、13B、26C、29D、58
12、有一主存-Cache层次的存储器,其主存容量为1MB,Cache容量为16KB,每字块有8个字,每字32位,采用直接地址映像方式,若主存地址为35301H,且CPU访问Cache命中,则在Cahce的第()(十进制数表示)字块中(Cache起始字块为第0字块)。
A
A、152B、153C、154D、151
13、关于虚拟存储器,下列说法正确的就是()。
A
Ⅰ、虚拟存储器利用了局部性原理
Ⅱ、页式虚拟存储器的页面如果很小,主存中存放的页面数较多,导致缺页频率较低,换页次数减少,最终可以提升操作速度
Ⅲ、页式虚拟存储器的页面如果很大,主存中存放的页面数较少,导致页面调度频率较高,换页次数增加,降低操作速度
Ⅳ、段式虚拟存储器中,段具有逻辑独立性,易于实现程序的编译、管理与保护,也便于多道程序共享
A、Ⅰ、Ⅲ、ⅣB、Ⅰ、Ⅱ、ⅢC、Ⅰ、Ⅱ、ⅣD、Ⅱ、Ⅲ、Ⅳ
14、某计算机系统,其操作系统保存在硬盘上,其内存储器应该采用()。
C
A、RAMB、ROMC、RAM与ROMD、都不对
15、虚拟存储器中的页表有快表与慢表之分,下面关于页表的叙述中正确的就是()。
D
A、快表与慢表都存储在主存中,但快表比慢表容量小
B、快表采用了优化的搜索算法,因此查找速度快
C、快表比慢表的命中率高,因此快表可以得到更多的搜索结果
D、快表采用快速存储器件组成,按照查找内容访问,因此比慢表查找速度快
16、在Cache与主存构成的两级存储器中,Cache的存储时间就是100ns,主存的存储时间就是1000ns,如果希望有郊存储时间不超过190ns,则cache的命中率至少就是()。
A
A、90%B、98%
C、95%D、99%
17、4片16K×8位的存储芯片可以设计成()容量的存储器。
D
Ⅰ、64K×8位Ⅱ、32K×4位Ⅲ、32K×16位Ⅳ、16K×32位
A、Ⅰ、ⅡB、Ⅱ、Ⅲ
C、Ⅰ、ⅢD、Ⅰ、Ⅲ、Ⅳ
18、在cache存储器系统中,当程序正在执行时,由完成地址变换。
B
A、程序员B、硬件C、硬件与软件D、操作系统
19、计算机的存储器采用分级方式就是为了()。
B
A、方便编程B、解决容量、速度、价格三者之间的矛盾
C、保存大量数据方便D、操作方便
20、双端口RAM在()情况下会发生读写冲突。
B
A、左端口与右端口的地址码不同。
B、左端口与右端口的地址码相同
C、左端口与右端口的数据码不同D、左端口与右端口的数据码相同
21、已知单个存储体的存储周期为110ns,总线传输周期为10ns,则当采用低位交叉编址的多模块存储器时,存储体数应()。
D
A、小于11B、等于11C、大于11D、大于等于11
22、一个四体并行低位交叉存储器,每个模块的容量就是64K*32位,存取周期为200ns,在下述说法中()就是正确的。
D
A、在200ns内,存储器能向CPU提供256位二进制信息
B、在200ns内,存储器能向CPU提供128位二进制信息
C、在50ns内,存储器能向CPU提供32位二进制信息
D、以上都不对
23、某32位计算机的Cache容量为16KB,Cache行的大小为16B,若主存与Cache地址映像采用直接映像方式,则主存地址为0x1234E8F8的单元装入Cache的地址就是()。
C
A、00010001001101B、01000100011010
C、10100011111000D、11010011101000
24、在Cache中,常用的替换策略有:
随机法(RAND)、先进先出(FIFO)、近期最少使用法(LRU),其中局部性原理有关的就是()C
A、随机法B、先进先出法C、近期最少使用法D、都不就是
25、某存储系统中,主存容量就是cache容量的4096倍,cache被分为64块,当主存地址与cache地址采用直接映射方式时,地址映射表的大小应为()。
(假设不考虑一致维护与替换算法位)D
A、6*4097bitB、64*12bitC、6*4096bitD、64*13bit
26、有一主存-cache层次的存储器,其主存容量为1MB,cache容量为16KB,每字块有8个字,每字32位,采用直接映像方式,若主存地址为35301H,且CPU访问cache命中,则在cache的第()(十进制表示)字块中(cache起始字块为第0字块)。
A
A、152B、153C、154D、151
27、若由高速缓存、主存与硬盘构成三级存储系统,则CPU访问该存储系统时发送的地址为()。
C
A、高速缓存地址B、虚拟地址C、主存物理地址D、磁盘地址
28、为使虚拟存储系统有效地发挥其预期的作用,所运行的程序应具有的特性就是()。
C
A、不应含有过多的IO操作B、大小不应小于实际的内存容量
C、应具有较好的局部性D、顺序执行的指令不应过多
29、关于虚拟存储器,下列说法正确的就是()。
A
Ⅰ、虚拟存储器利用了局部性原理
Ⅱ、页式虚拟存储器的页面如果很小,主存中存放的页面数较多,导致缺页频率较低,换页次数减少,最终可以提升操作速度
Ⅲ、页式虚拟存储器的页面如果很大,主存中存放的页面数较少,导致页面调度频率较高,换页次数增加,降低操作速度
Ⅳ、段式虚拟存储器中,段具有逻辑独立性,易于实现程序的编译、管理与保护,也便于多道程序共享
A、Ⅰ、Ⅲ、ⅣB、Ⅰ、Ⅱ、ⅢC、Ⅰ、Ⅱ、ⅣD、Ⅱ、Ⅲ、Ⅳ
30、虚拟存储器中的页表有快表与慢表之分,下面关于页表的叙述中正确的就是()。
D
A、快表与慢表都存储在主存中,但快表比慢表容量小
B、快表采用了优化的搜索算法,因此查找速度快
C、快表比慢表的命中率高,因此快表可以得到更多的搜索结果
D、快表采用快速存储器件组成,按照查找内容访问,因此比慢表查找速度快
31、下列关于虚存的叙述中,正确的就是()。
A
A、对应用程序员透明,对系统程序员不透明
B、对应用程序员不透明,对系统程序员透明
C、对应用程序员、对系统程序员都不透明
D、对应用程序员、对系统程序员都透明
32、在虚拟存储器中,当程序正在执行时,由()完成地址映射。
D
A、程序员B、编译器C、装入程序D、操作系统
应用题
1、假定某计算机的主存地址空间大小为64KB,按字节编址,Cache采用4路组相联映射、LRU替换与写回策略,能存放4KB数据,主存与cache之间交换的主存块大小为64字节。
请回答下列问题:
(1)主存地址字节如何划分?
要求说明每个字段的含义、位数与主存地址中的位置
(2)Cache的总容量有多少位
(3)若Cache初始为空,CPU依次从0号地址单元顺序访问到4344号单元,共重复访问6次。
Cache存取时间为20ns,主存存取时间为200ns,试估计CPU访存的平均时间。
1、
(1)主存64KB=216所以主存地址位数为16位
Cache4KB=212行数为212/64=26组数为26/4=24
所以主存地址为
6位
4位
6位
标记
组号
块内地址
高6位为标记中间4位为组号低6位为块内地址
(2)采用写回策略,所以cache每行增加一个修改位,采用LRU替换策略得增加计数器位数因为就是四路组相联,所以每行增加2位计数器位(LRU),每行6位标记位,每行1位有效位,所以每行位数为64*8+1+2+6+1=522
所以总容量为64*522=33408位
(3)块大小为64字节,访问到4344号单元,则访问容量为4345>4096,,4355/64=67、89=68块,因此,前0-4095号地址应该都可对应准入cache中,后4096-4344共4个块分别装入0组、1组、2组、3组替换第0块、1块、2块、3块反复6次
所以第一次循环时每块的第一个单元都没命中其后单元命中,未中次数为68次
其后的5次循环,组4-15全命中,而0-3组中的第0行均没全中1、2、3行命中,所以未命中次数为8*5=40次
总访存次数为4345*6=26070未命中次数为68+40=108
所以命中率中(26070-108)/26070=99、5%
所以平均访问时间为0、995*20ns+0、005*200ns=19、9+1=20、9ns
2、设有一个直接映象方式的cache,其容量为8K字,每块内有为16个字,主存的容量就是512K字,求
(1)主存有多少个块?
多少区?
(2)该cache可容纳多少个块?
Cache字地址有多少位?
块号与块内地址各多少位?
(3)主存的字地址有多少位?
区号、区内块号与块内地址各多少位?
(4)主存中的第i块映象到cache中哪一个块中?
(5)将主存的第513块调入cache,则cache的块号为多少?
它的区号标志为多少?
(6)在上一步的基础上,送出的主存的字地址为04011H时,就是否命中?
2、
(1)主存块数512KW/16W=219/24=215块区512K/8K=219/213=26
(2)cache块为8K/16=29cache字地址为13位,块号9位,块内地址4位
(3)主存字地址19位区号6位区内块号即cache块位9位块内地址4位
(4)主存映射到Cache块=imod29
(5)主存块513=1000000001B块调入,cache块号为513mod512=1区号标志为1
(6)地址00000100000000010001B对应cache块号为1区标志为2没命中
3、有一直接映像的cache系统,cache有8个块构成,CPU送出的主存块地址流序列分别为14、18、14、18、8、4、8、与10(十进制)。
求每次访问后,cache的地址分配情况与操作状态。
3、
每次访问情况及操作见表
14
18
14
18
8
4
8
10
8
8
8
8
18
18
18
18
18
18
10
4
4
4
14
14
14
14
14
14
14
14
调入
调入
命中
命中
调入
装入
命中
替换
4、有一全相联cache系统,cache有8个块构成,CPU送出的主存地址流序列分别为01101B、10010B、01101B、01000B、10010B、00100B、01000B与01010B,即十进制为14、18、14、18、8、4、8、与10。
求:
(1)每次访问后,cache的地址分配情况。
(2)当cache的容量换成4个块,地址流为00110B、01111B、00110B、01101B、01011B、01010B、01000B与00111B时,求采用先进先出替换算法相应地址分配与操作
4、
(1)每次访问情况及操作见表
14
18
14
18
8
4
8
10
14
14
14
14
14
14
14
14
18
18
18
18
18
18
18
8
8
8
8
4
4
4
10
调入
调入
命中
命中
调入
装入
命中
装入
(2)cache换成四个块,先进先出
每次访问情况及操作见表
6
6
6
6
6
6
10
10
10
8
13
13
13
13
7
11
11
11
11
调入
调入
命中
调入
调入
替换
替换
替换
5、假定某计算机的Cache采用直接映射方式,与主存交换数据块大小1个字,按字编址,一共能存放16个字的数据。
CPU开始执行某程序时,cache为空,在该程序执行过程中,CPU依次访问以下地址序列:
2,3,11,16,21,13,64,48,19,11,3,22,4,27,6与11。
请问:
(1)每次访问在cache中命中还就是缺失?
试计算访问上述地址序列的Cache命中率。
(2)若cache数据区容量还就是16个字,而数据块大小改为4个字,则上述地址序列的命中情况又如何?
说明块大小与命中率的关系。
6、假定某处理器带有一个数据区容量为256B的cache,其块大小为37B。
以下C语言程序段运行在该处理器上,sizeof(int)=4,编译器将变量I,j,c,s都分配在通用寄存器中,因此,只需考虑数组元素的访存情况。
若cache采用直接映射方式,则当s=64与s=63时,缺失率分别为多少?
若采用2路组相联映射方式,则当s=64与s=63时,缺失率分别为多少?
IntI,j,c,s,a[128];
…
For(i=0;i<10000;i++)
For(j=0;j<128;j=j+s)
C=a[j];
6、s=64时,依次访问数组a[0],a[64],a[0],a[64]…、重复进行,a[1]在cache的0行,a[64]在cache的0行,所以每次访问都要重新调入,命中率0%;
S=63时,依次访问数组a[0],a[63],a[126],a[0],a[63],a[126]…重复进行10000次,而a[1]在cache的0行,a[63]在cache的7行,a[126]在cache的7行,因此三个元素a[0]调入后一直都在,而a[63]与a[126]在同一行中冲突,在第1次访问过后,三个元素只有一个命中,命中率约为1/3=33%
2路组相联时,s=64时,依次访问数组a[0],a[64],a[0],a[64]…、重复进行,a[1]在cache的0组,a[64]在cache的0组,因为采用2路组相联,所以可映射在不同块中,不存在冲突,命中率约100%;
S=63时,依次访问数组a[0],a[63],a[126],a[0],a[63],a[126]…重复进行10000次,而a[1]在cache的0组,a[63]在cache的3组,a[126]在cache的3组,因此三个元素a[0]调入后一直都在,而a[63]与a[126]在同组中不同的块,在第1次访问,三个元素均不命中,其后均命中,命中率约为100%
7、假定一个计算机系统中有一个TLB与一个L1datacache。
该系统按字节编址,虚拟地址16位,物理地址12位;页大小为128B,TLB为4路组相联,共有16个页表项;L1datacache采用直接映射方式,块大小为4B共16行。
在系统运行到某一时刻时,TLB、页表与L1datacache中的部分内容(用十六进制表示)如图所示。
组号
标记
页框号
有效位
标记
页框号
有效位
标记
页框号
有效位
标记
页框号
有效位
0
03
-
0
09
1D
1
00
-
0
07
10
1
1
13
2D
1
02
-
0
04
-
0
0A
-
0
2
02
-
0
08
-
0
06
-
0
03
-
0
3
07
-
0
63
12
1
0A
34
1
72
-
0
TLB4路组相联4组16个页表项
虚页号
页框号
有效位
000
08
1
001
03
1
002
14
1
003
02
1
004
-
0
005
16
1
006
-
0
007
07
1
008
13
1
009
17
1
00A
09
1
00B
-
0
00C
19
1
00D
-
0
00E
11
1
00F
0D
1
部分页表:
开始16项
行索引
标记
有效位
字节3
字节2
字节1
字节0
0
19
1
12
56
C9
AC
1
-
0
-
-
-
-
2
1B
1
03
45
12
CD
3
-
0
-
-
-
-
4
32
1
23
34
C2
2A
5
0D
1
46
67
23
3D
6
-
0
-
-
-
-
7
10
1
12
54
65
DC
8
24
1
23
62
12
3A
9
-
0
-
-
-
-
A
2D
1
43
62
23
C3
B
-
0
-
-
-
-
C
12
1
76
83
21
35
D
16
1
A3
F4
23
11
E
33
1
2D
4A
45
55
F
-
0
-
-
-
-
L1datacache:
直接映射共16行,块大小4B
请回答下列问题:
(1)虚拟地址表中,哪几位表示虚拟页号?
哪几位表示页内偏移量?
虚拟页号中哪几位表示TLB标记?
哪几位表示TLB索引?
(2)物理地址中几位表示物理页号?
哪几位表示页内偏移量?
在访问cache时,物理地址如何划分标记字段、行索引字段与块内地址字段?
(3)CPU从地址067AH中取出的值为多少?
要求对CPU读取地址067AH中的过程进行说明。
7、
(1)虚拟地址16位:
页大小为128B则低7位表示页内地址,16-7=9位表示虚页号高9位表示;
虚页号9位
页内地址7位
TLB就是4路组相连16个页表项则有4组所以虚页号又分为两部分TLB组索引2位及与TLB标记9-2=7位,高7位
TLB标记9-2=7位
TLB索引2位
页内地址7位
(2)物理地址12位页大小为128B则低7位表示页内地址,12-7=5位表示虚页号高5位表示;
页号5位
页内地址7位
访问cache时块大小4B用2位表示块内地址,cache16行用4位表示,标记位则为12-2-4=6位
标记6位
行号4位
块内地址2位
(3)虚地址067AH=0000011001111010B先查TLB,下划线标出为TLB组号,查0组,查标记为3的,则有效位为0不在快表中,则查慢表查虚页号1100B=0CH行,页框号为19H有效位为1,则命中,转换成物理地址为110011111010B=110011111010则查cache,行号为1110B=E行瞧标记为33H与物理地址标记位一致且有效位为1所以命中,块内地址为10B所以从字节2中就读出数据4AH
8、设主存容量为1MB,Cache容量为16KB,每字块有16个字,每字32位。
(1)若Cache采用直接相联映像,求出主存地址字段中各段的位数。
(2)若Cache采用四路组相联映像,求出主存地址字段中各段的位数。
(3)若Cache采用全相联映像,求出主存地址字段中各段的位数。
9、、设主存容量为256K字,Cache容量为2K字,