第6章 存储系统设计(Cache 与虚存)- 专项练习
老师在录音里明确提到:第六章(存储系统设计)不布置大作业,但考试一定会考计算,且考点全在 PPT 的例题里!
他特别强调:程序访问的局部性原理、Cache 命中率 (
一、填空题(每空 1 分)
1.
存储体系结构中,引入 Cache 的理论依据是程序访问的 _________ 原理,它包括 _________ 局部性和 _________ 局部性。
2.
Cache 的命中率 等于访问 Cache 的次数除以 _________。
3.
若 Cache 命中率为 ,Cache 存取周期为 ,主存存取周期为 ,则平均访问时间 $T_a = $ _________________。
4.
Cache 与主存之间的地址映像方式中,_________ 映射的块冲突概率最低,空间利用率最高。
5.
在组相联映射中,若 Cache 共有 块,采用 路组相联,则共分为 _________ 组。
6.
为了解决 Cache 与主存内容的一致性,_________ 法要求在写 Cache 的同时写主存。
7.
在写回法(Write Back)中,Cache 的每一行需要增加一个 _________ 位,用来标识该块是否被修改过。
8.
虚拟存储器中,_________(快表)用来存放页表中最活跃的少数副本,其存储介质通常是 _________。
9.
虚存地址转换时,若在 _________ 中未发现对应的页表项,则会产生缺页异常。
10.
Cache 存储系统对 _________ 程序员和 _________ 程序员都是透明的。
二、单项选择题(每题 2 分)
1.
(核心计算:命中率)老师 PPT 原题:某程序执行过程中访存 1000 次,其中访问 Cache 缺失 50 次,则 Cache 命中率是( )。
2.
(重点:局部性判断)指令流水线中,循环语句主要体现了程序访问的( )。
3.
(地址划分计算)主存容量 1MB,Cache 容量 16KB,块大小为 512B。采用直接映射,则主存地址中的块内地址为( )位。
4.
(替换算法辨析)能够正确反映程序局部性,且命中率最高(排除理想算法外)的常用替换算法是( )。
5.
(组合考点:命中逻辑)老师强调不可能发生的情况。下列命中组合中,绝对不可能出现的是( )。
6.
(性能指标:效率)若 ,则 Cache-主存系统的效率 约为( )。
7.
(虚存概念)引入虚拟存储器的主要目的是解决( )。
8.
(组相联映射陷阱)老师强调组间直接,组内全相联。一个 4 路组相联映射的 Cache,主存第 13 块应映像到 Cache 的第( )组。
9.
(更新策略)在写操作时,只写入 Cache 而不立即写入主存,直到该块被替换时才写回的方法是( )。
10.
(页表存储)虚拟存储管理中,页表(慢表)存放在( )中。
参考答案与解析
一、填空题
- 局部性、时间、空间
- 总访存次数
(录音强调:这是平均访问时间的通用公式) - 全相联(最自由,冲突最少)
- 8(组数 = 总块数 / 路数 = 16 / 2)
- 写直达(或写透)
- 脏(或修改、Dirty)
- TLB、SRAM(快表比慢表快得多)
- 页表(或内页表)
- 应用程序、系统(Cache 由硬件自动调度,完全透明)
二、选择题
- C -
- B - 重复执行同一段代码
- A - 块大小
,所以块内地址 9 位 - C - LRU 是现实中最接近理想 OPT 效果的算法
- C - 录音原话:缺页意味着信息不在主存,Cache 里绝不可能有副本
- B -
; - B - Cache 解决速度,虚存解决容量
- B - 假设 Cache 共 4 组,则
。注:此题考查映射公式 - B - 写回法只在替换时写回
- C - 页表通常很大,只能放在主存里
重点提示
命中率计算:
平均访问时间:
- 这是考试必考公式
访问效率:
地址映像方式:
- 直接映射:组间直接,组内直接(1路组相联)
- 全相联映射:任意块映射到任意位置
- 组相联映射:组间直接,组内全相联
地址字段划分:
- 直接映射:标记位 + Cache块号 + 块内地址
- 全相联映射:标记位 + 块内地址
- 组相联映射:标记位 + 组号 + 块内地址
命中逻辑:
- 缺页意味着数据不在主存,Cache 中不可能有副本
- TLB 缺失可以查页表,页表缺失才会缺页
替换算法:
- LRU(近期最久未使用)最接近理想效果
- FIFO 不考虑局部性
- RAND 随机替换