| 项目 | 值 |
|---|---|
| 命中率 | $h = N_c / (N_c + N_m)$ |
| 平均访问时间 | $t_a = h \times t_c + (1-h) \times t_m$ |
| 访问效率 | $e = t_c / t_a$ |
| 映射方式 | 地址划分 | 特点 |
|---|---|---|
| 直接映射 | 标记 + 行号 + 块内地址 | 简单,冲突多 |
| 全相联 | 标记 + 块内地址 | 灵活,硬件复杂 |
| 组相联 | 标记 + 组号 + 块内地址 | 折中方案 |
题目: Cache 命中率 95%,Cache 访问时间 10 ns,主存访问时间 200 ns。求平均访问时间和访问效率。
解答:
Ta = H × Tc + (1-H) × Tm
= 0.95 × 10 + 0.05 × 200
= 9.5 + 10
= 19.5 ns
访问效率 e = Tc / Ta = 10 / 19.5 ≈ 51.3%
加速比 Sp = Tm / Ta = 200 / 19.5 ≈ 10.26
题目: 两级 Cache,L1 命中率 90%,访问时间 5 ns;L2 命中率 80%(对 L1 缺失),访问时间 20 ns;主存 200 ns。求平均访问时间。
解答:
访问路径:CPU → L1 → L2 → 主存
命中L1: H1 = 0.90, T1 = 5ns
L1缺失且命中L2: (1-H1) × H2 = 0.10 × 0.80 = 0.08, T1+T2 = 5+20 = 25ns
L1和L2均缺失: (1-H1)(1-H2) = 0.10 × 0.20 = 0.02, T1+T2+Tm = 5+20+200 = 225ns
Ta = 0.90 × 5 + 0.08 × 25 + 0.02 × 225
= 4.5 + 2.0 + 4.5
= 11.0 ns
题目: 主存 32 位地址,Cache 共 64 行,每行 16 字节。求直接映射下地址划分。
解答:
块内地址位数 = log₂(16) = 4 位
行号位数 = log₂(64) = 6 位
标记位数 = 32 - 6 - 4 = 22 位
地址结构:
┌──────────────────┬────────┬──────┐
│ 标记 (22位) │ 行号(6)│块内(4)│
└──────────────────┴────────┴──────┘
主存地址 0x00001A3F 的映射:
二进制:0000 0000 0000 0000 0001 1010 0011 1111
块内地址(低4位):1111 = 15
行号(次低6位):100011 = 35
标记(高22位):0x00001A3F >> 10 = 6
题目: 主存 32 位地址,4 路组相联,Cache 共 64 行,每行 16 字节。求地址划分和映射到哪一组。
解答:
组数 = 64 / 4 = 16 组
块内地址位数 = log₂(16) = 4 位
组号位数 = log₂(16) = 4 位
标记位数 = 32 - 4 - 4 = 24 位
地址结构:
┌──────────────────────┬────────┬──────┐
│ 标记 (24位) │ 组号(4)│块内(4)│
└──────────────────────┴────────┴──────┘
地址 0x00001A3F:
组号 = (0x3F >> 4) & 0xF = 0x3 = 3
该地址映射到第 3 组(组号 0~15)
题目: Cache 共 4 行(全相联 + LRU),访问序列为 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5。求命中率。
解答(LRU 队列,最左为最久未用、最右为最近使用):
| 访问 | 1 | 2 | 3 | 4 | 1 | 2 | 5 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cache | {1} | {1,2} | {1,2,3} | {1,2,3,4} | {2,3,4,1} | {3,4,1,2} | {4,1,2,5} | {4,2,5,1} | {4,5,1,2} | {5,1,2,3} | {1,2,3,4} | {2,3,4,5} |
| 命中 | $\times$ | $\times$ | $\times$ | $\times$ | ✓ | ✓ | $\times$ | ✓ | ✓ | $\times$ | $\times$ | $\times$ |
命中率 $= \dfrac{4}{12} \approx 33.3\%$
(暂无关联知识点)
↑ 站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。