🏷️ 知识点:虚拟存储器
在高速缓存系统中,主存容量为12MB,Cache 容量为400KB, 则该存储系统的容量为()。
A. 12MB+400KB B. 12MB C. 12MB-12MB+400KB D.12MB-400KB
[tag_link]
正确答案:B
访 问Cache 系统失效时,通常不仅主存向CPU 传送信息,同时还需要将信息写入Cache, 在此过程中传送和写入信息的数据宽度各为()。
A. 块、页 B. 字、字 C. 字、块 D. 块、块
[tag_link]
正确答案:C
假定用作Cache 的 SRAM 的存取时间为2ns, 用作主存的SDRAM 的存取时间为40ns。 为使存储系统的平均存取时间达到3ns, 则 Cache 命中率应达到()左右。
A. 92.5% B.85% C.97.5% D.99.9%
[tag_link]
正确答案:C
关于 Cache 的更新策略,下列说法中正确的是()。
A. 读操作时,全写法和回写法在命中时应用 B. 写操作时,回写法和写分配法在命中时应用 C. 读操作时,全写法和写分配法在失效时应用 D. 写操作时,写分配法、非写分配法在失效时应用
[tag_link]
正确答案:D
在不同的情况下,需要采用适合的 Cache 写策略。对于下面两种情况:①主要运行访 问密集型应用,其中包含写操作;②安全性要求很高,不允许有任何数据不一致的情 况发生。适合它们的写策略分别是()。
A. 回写法,全写法 B. 全写法,回写法 C. 回写法,回写法 D. 全写法,全写法
[tag_link]
正确答案:A
局部性通常有两种不同的形式:时间局部性和空间局部性。程序员是否能编写出高速缓 存友好的代码,就取决于这两方面的问题。对于下面这个函数,说法正确的是()。int sumvec(int v[N]){int i, sum=0;for(i=0;i<N;i++)sum+=v[i];return sum; 存友好的代码,就取决于这两方面的问题。对于下面这个函数,说法正确的是()。 int sumvec(int v[N]){ int i, sum=0; for(i=0;i<N;i++) sum+=v[i]; return sum;
A. 对于变量i 和 sum, 循环体具有良好的空间局部性 B. 对于变量i 、sum 和v[N], 循环体具有良好的空间局部性 C. 对于变量i 和 sum, 循环体具有良好的时间局部性 D. 对于变量i 、sum 和 v[N], 循环体具有良好的时间局部性
[tag_link]
正确答案:C
对于下列代码,以下哪种变化将使其具有更好的空间局部性()。 ①int i,j,k,sum=0;②for(i=0;i<n; i++) for(j=0;j<n;j++)for(k=0;k<n;k++)⑤ sum+=a[k][j][i]; ①int i,j,k,sum=0; ②for(i=0;i<n; i++) for(j=0;j<n;j++) for(k=0;k<n;k++) ⑤ sum+=a[k][j][i];
A. 将第2行与第3行互换 B. 将第2行与第4行互换 C. 将第5行改为sum+=a[i][k]ij]; D. 将第5行改为sum+=a[j][i][k];
[tag_link]
正确答案:B
下列关于高速缓存Cache 的描述中,正确的是()。
A. Cache 的功能全部由硬件实现 B. Cache 替换时的单位为字 C. Cache 与主存统一编址,即主存地址空间的某一部分属于Cache D. 无论何时,Cache 中的信息一定与主存中的信息一致
[tag_link]
正确答案:A
下列关于Cache 的描述中,比较合理的是()。 I. 指令Cache 通常比数据Cache 具有更好的空间局部性 II. 由于空间局部性,适当增加Cache 块大小通常会提高命中率 Ⅲ. 回写法的写主存操作次数少于直写法
A. Ⅲ B . I 和Ⅱ C.Ⅱ和Ⅲ D.I 和Ⅱ和Ⅲ
[tag_link]
正确答案:D
假设Cache 采用2路组相联映射方式, Cache 共有4行(分为2组,每组2行),Cache 每行可存放一个主存块。组内采用LRU 算法进行替换。给定主存块访问序列为 1,8,1,7,8,2,7,2,1,8,3,8,2,1,3,1,7,1,3,7 若 Cache 初始为空,则该访问序列的 Cache 缺 失 率 为 ( ) 。
A. 30% B.50% C.40% D.45%
[tag_link]
正确答案:C
已知某程序运行期间,L₁Cache 的命中率为94%,而L2 Cache的局部命中率(在L1 不 命中情况下的命中率)为85%。请问该存储系统的全局命中率( CPU 的访存请求最终在 L1 或 L2 中得到满足的比例)是多少?
A. 97.9% B.98.5% C.99.1% D.99.4%
[tag_link]
正确答案:C
假设一个 Cache中共有M 块,每K 块组成一个组,则下列描述中正确的是()。
A. 若 K=1, 则该 Cache 是直接映射 Cache B. 若 K=1, 则该 Cache 是全相联映射Cache C. 若 K=M, 则该 Cache 是直接映射 Cache D. 若 K>1 且K<M, 则该 Cache 是 MIK路组相联映射Cache
[tag_link]
正确答案:A
在 Cache 中,常用的替换策略有随机( RAND) 算法、先进先出( FIFO) 算法、近期最 少使用 ( LRU) 算法,其中与局部性原理有关的是()。 119第 3 章 存 储 系 统 119
A. 随机( RAND) 算法 B. 先进先出( FIFO) 算法 C. 近期最少使用 ( LRU) 算法 D. 都不是
[tag_link]
正确答案:C
某存储系统中,主存容量是Cache 容量的4096倍, Cache 被分为64个块,采用直接映 射方式、随机替换算法和全写法,则标记阵列(所有标记信息)的大小应为()。
A. 6×4097bit B.64×12bit C.6×4096bit D.64×13bit
[tag_link]
正确答案:D
有效容量为128KB 的 Cache, 每 块 1 6B, 采用8路组相联。字节地址为1234567H 的单 元调入该 Cache, 则其标记位字段应为()。
A. 1234H B.2468H C.048DH D.12345H
[tag_link]
正确答案:C
某个主存-Cache层的存储器,按字节编址,主存容量为1MB,Cache 容量为16KB, 每 块有8个字,每字32位,采用直接映射方式, Cache 起始字块为第0块,若主存地址为 35301H, 且 CPU 访问Cache 命中,则在Cache 的第()(十进制表示)字块中。
A. 152 B.153 C.154 D.151
[tag_link]
正确答案:A
对于由高速缓存、主存、硬盘构成的三级存储系统,CPU 直接根据()进行访问。
A. 高速缓存地址 B. 虚拟地址 C. 主存物理地址 D. 磁盘地址
[tag_link]
正确答案:C
设有8页的逻辑空间,每页有1024B, 它们被映射到32个物理块中,则按字节编址逻 辑地址的有效位是(),物理地址至少是()位。
A. 10,12 B.10,15 C.13,15 D.13,12
[tag_link]
正确答案:C
对于n 路组相联映射Cache, 在保持 n 及主存和Cache 总容量不变的前提下,将主存块 大小和 Cache 块大小都增加一倍,则下列描述中正确的是()。
A. 字块内地址的位数增加1位,主存标记字段的位数增加1位 B. 字块内地址的位数增加1位,主存标记字段的位数不变 C. 字块内地址的位数减少1位,主存标记字段的位数增加1位 D. 字块内地址的位数增加1倍,主存标记字段的位数减少一半
[tag_link]
正确答案:B
某计算机的 Cache 有16行,块大小为16B, 其映射方式可配置为直接映射或2路组相 联映射,主存按字节编址,主存单元从0开始编号。若依次访问下列主存单元,则不论 采取上述哪种映射方式都可能引起Cache 冲 突 的 是 ( ) 。
A. 52 号和102号单元 B.48 号和308号单元 C. 60 号和160号单元 D.46 号和236号单元
[tag_link]
正确答案:B
假设主存地址位数为32位,按字节编址,主存和 Cache 之间采用全相联映射方式,主 存块大小为1个字,每字32位,采用回写法( Write Back)方式和随机替换策略,则能 存放32K 字数据的Cache 的总容量至少应有()位。
A. 1536K B.1568K C.2016K D.2048K
[tag_link]
正确答案:D
假设主存按字节编址,Cache 共有64行,采用4路组相联映射方式,主存块大小为32 字节,所有编号都从0开始。则第2593号存储单元所在主存块的Cache 组 号 是 ( ) 。
A. 1 B.15 C.1 4 D.4
[tag_link]
正确答案:A
假定CPU 通过存储器总线读取数据的过程为:发送地址和读命令需1个时钟周期,存 储器准备一个数据需8个时钟周期,总线上每传送1个数据需1个时钟周期。若主存和 Cache 之间交换的主存块大小为64B, 存取宽度和总线宽度都为8B, 则 Cache 的一次缺 失损失至少为()个时钟周期。
A. 64 B.72 C. 80 D.160
[tag_link]
正确答案:C
假定8个存储器模块采用交叉方式组织,存储芯片和总线支持突发传送, CPU 通过存储 器总线读取数据的过程为:发送首地址和读命令需1个时钟周期,存储器准备第一个数 120 2 0 2 7 年 计 算 机 组 成 原 理 考 研 复 习 指 导 据需8个时钟周期,随后每个时钟周期总线上传送1个数据,可连续传送8个数据(突 发长度为8)。若主存和 Cache 之间交换的主存块大小为64B, 存取宽度和总线宽度都 为 8B, 则 Cache 的一次缺失损失至少为()个时钟周期。
A. 17 B. 20 C. 33 D.80
[tag_link]
正确答案:A
下列关于Cache 替换算法的叙述中,错误的是()。
A. 组相联映射和全相联映射都必须考虑如何进行替换 B. 先进先出算法无须对每个 Cache 行记录替换信息 C. 直接映射是多对一的映射,无须考虑替换问题 D. LRU 算法需要对每个Cache 行记录替换信息
[tag_link]
正确答案:
下列关于Cache 大小、主存块大小和Cache 缺失率之间关系的叙述中,错误的是()。
A. 主存块大小和Cache 容量无直接关系 B. Cache 容量越大,Cache 缺失率越低 C. 主存块大小通常为几十到上百字节 D. 主存块越大,Cache 缺失率越低
[tag_link]
正确答案:D
若计算机按字编址,Cache 数据区容量为8K 字,主存块大小为512字,主存地址空间 为 1M 字,采用2路组相联映射方式。每次根据主存地址访问Cache 时,需要同时进行 ()次标记位的比较,每次需要比较的位数是()。
A. 2,8 B.2,16 C.4,8 D.4,16
[tag_link]
正确答案:A
某计算机的主存地址位数为32位,按字节编址。假定数据 Cache 中最多存放128个主 存块,采用4路组相联映射方式,块大小为64B, 每块设置了1位有效位。采用随机替 换算法,写磁盘采用回写法,为此每块设置了1位脏位。要求: 1)分别指出主存地址中标记( Tag) 、 组 号( Index) 和块内地址 ( Offset) 三部分的位 置与位数。 2)计算该数据Cache 的总位数。
[tag_link]
B
某个 Cache 的容量大小为64KB, 行长为128B, 且是4路组相联 Cache, 主存使用32 位地址,按字节编址。 1 ) 该Cache 共有多少行?多少组? 2 ) 该 Cache 的标记阵列中需要有多少标记项?每个标记项中标记位长度是多少? 3 ) 该 Cache 采用LRU 算法,若当该Cache 为全写法Cache 时,标记阵列总共需要多大 的存储容量?回写法又该如何?(提示:4路组相联Cache 使用LRU 算法的替换控 制位为2位。) 03 . 某计算机有容量为256B 的 数 据Cache, 主存块大小为32B。现 有 如 下C 语言程序段:int i,j,c,s,a[128];for(i=0;i<10000;i++)for(j=0;j<128;j=j+s)c=a[j];int 型数据用32位补码表示,编译器将变量i,j,c,s 都分配在通用寄存器中,因此,只需 考虑数组元素的访存情况,假定数组起始地址正好在一个主存块的开始。请回答:1 ) 若Cache 采用直接映射方式,则当s=64 和s=63 时,缺失率分别为多少?2 ) 若Cache 采用2路组相联映射方式,则当s=64 和 s=63 时,缺失率分别为多少?04. 【2010统考真题】某计算机的主存地址空间大小为256MB,按字节编址。指令 Cache 和数据Cache 分离,均有8个Cache 行,每个 Cache 行大小为64B, 数据 Cache 采用直 接映射方式。现有两个功能相同的程序 A 和 B, 其伪代码如下所示:程序 B:a[256][256];程序A:inta[256][256];int 03 . 某计算机有容量为256B 的 数 据Cache, 主存块大小为32B。现 有 如 下C 语言程序段: int i,j,c,s,a[128]; for(i=0;i<10000;i++) for(j=0;j<128;j=j+s) c=a[j]; int 型数据用32位补码表示,编译器将变量i,j,c,s 都分配在通用寄存器中,因此,只需 考虑数组元素的访存情况,假定数组起始地址正好在一个主存块的开始。请回答: 1 ) 若Cache 采用直接映射方式,则当s=64 和s=63 时,缺失率分别为多少? 2 ) 若Cache 采用2路组相联映射方式,则当s=64 和 s=63 时,缺失率分别为多少?
[tag_link]
C