存储器习题文档格式.docx
《存储器习题文档格式.docx》由会员分享,可在线阅读,更多相关《存储器习题文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
![存储器习题文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/21/66f15da3-30e2-44e5-8508-63fdb545302c/66f15da3-30e2-44e5-8508-63fdb545302c1.gif)
问主存第3000号所在主存块对应Cache行号是()。
A、13B、26C、29D、58
12、有一主存-Cache层次的存储器,其主存容量为1MB,Cache容量为16KB,每字块有8个字,每字32位,采用直接地址映像方式,若主存地址为35301H,且CPU访问Cache命中,则在Cahce的第()(十进制数表示)字块中(Cache起始字块为第0字块)。
A、152B、153C、154D、151
13、关于虚拟存储器,下列说法正确的是()。
Ⅰ、虚拟存储器利用了局部性原理
Ⅱ、页式虚拟存储器的页面如果很小,主存中存放的页面数较多,导致缺页频率较低,换页次数减少,最终可以提升操作速度
Ⅲ、页式虚拟存储器的页面如果很大,主存中存放的页面数较少,导致页面调度频率较高,换页次数增加,降低操作速度
Ⅳ、段式虚拟存储器中,段具有逻辑独立性,易于实现程序的编译、管理和保护,也便于多道程序共享
A、Ⅰ、Ⅲ、ⅣB、Ⅰ、Ⅱ、ⅢC、Ⅰ、Ⅱ、ⅣD、Ⅱ、Ⅲ、Ⅳ
14、某计算机系统,其操作系统保存在硬盘上,其内存储器应该采用()。
A、RAMB、ROMC、RAM和ROMD、都不对
15、虚拟存储器中的页表有快表和慢表之分,下面关于页表的叙述中正确的是()。
A、快表与慢表都存储在主存中,但快表比慢表容量小
B、快表采用了优化的搜索算法,因此查找速度快
C、快表比慢表的命中率高,因此快表可以得到更多的搜索结果
D、快表采用快速存储器件组成,按照查找内容访问,因此比慢表查找速度快
16、在Cache和主存构成的两级存储器中,Cache的存储时间是100ns,主存的存储时间是1000ns,如果希望有郊存储时间不超过190ns,则cache的命中率至少是()。
A、90%B、98%
C、95%D、99%
17、4片16K×
8位的存储芯片可以设计成()容量的存储器。
Ⅰ.64K×
8位Ⅱ.32K×
4位Ⅲ.32K×
16位Ⅳ.16K×
32位
A、Ⅰ、ⅡB、Ⅱ、Ⅲ
C、Ⅰ、ⅢD、Ⅰ、Ⅲ、Ⅳ
18、在cache存储器系统中,当程序正在执行时,由完成地址变换。
A、程序员B、硬件C、硬件和软件D、操作系统
19、计算机的存储器采用分级方式是为了()。
A、方便编程B、解决容量、速度、价格三者之间的矛盾
C、保存大量数据方便D、操作方便
20、双端口RAM在()情况下会发生读写冲突。
A、左端口和右端口的地址码不同。
B、左端口和右端口的地址码相同
C、左端口和右端口的数据码不同D、左端口和右端口的数据码相同
21、已知单个存储体的存储周期为110ns,总线传输周期为10ns,则当采用低位交叉编址的多模块存储器时,存储体数应()。
A、小于11B、等于11C、大于11D、大于等于11
22、一个四体并行低位交叉存储器,每个模块的容量是64K*32位,存取周期为200ns,在下述说法中()是正确的。
A、在200ns内,存储器能向CPU提供256位二进制信息
B、在200ns内,存储器能向CPU提供128位二进制信息
C、在50ns内,存储器能向CPU提供32位二进制信息
D、以上都不对
23、某32位计算机的Cache容量为16KB,Cache行的大小为16B,若主存与Cache地址映像采用直接映像方式,则主存地址为0x1234E8F8的单元装入Cache的地址是()。
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字块)。
27、若由高速缓存、主存和硬盘构成三级存储系统,则CPU访问该存储系统时发送的地址为()。
A、高速缓存地址B、虚拟地址C、主存物理地址D、磁盘地址
28、为使虚拟存储系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。
A、不应含有过多的IO操作B、大小不应小于实际的内存容量
C、应具有较好的局部性D、顺序执行的指令不应过多
29、关于虚拟存储器,下列说法正确的是()。
Ⅰ、虚拟存储器利用了局部性原理
30、虚拟存储器中的页表有快表和慢表之分,下面关于页表的叙述中正确的是()。
31、下列关于虚存的叙述中,正确的是()。
A、对应用程序员透明,对系统程序员不透明
B、对应用程序员不透明,对系统程序员透明
C、对应用程序员、对系统程序员都不透明
D、对应用程序员、对系统程序员都透明
32、在虚拟存储器中,当程序正在执行时,由()完成地址映射。
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位为标记中间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
8
4
10
调入
命中
装入
替换
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)每次访问情况及操作见表
(2)cache换成四个块,先进先出
6
15
13
11
7
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中的部分内容(用十六进制表示)如图所示。
页框号
有效位
03
-
09
1D
1
00
07
2D
02
04
0A
2
08
06
3
63
12
34
72
TLB4路组相联4组16个页表项
虚页号
000
001
002
003
004
005
16
006
007
008
009
17
00A
00B
00C
19
00D
00E
00F
0D
部分页表:
开始16项
行索引
字节3
字节2
字节1
字节0
56
C9
AC
1B
45
CD
32
23
C2
2A
5
46
67
3D
54
65
DC
24
62
3A
9
43
C3
76
83
21
35
A3
F4
E
33
4A
55
F
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位
(2)物理地址12位页大小为128B则低7位表示页内地址,12-7=5位表示虚页号高5位表示;
页号5位
访问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字,