缓存包含/排除策略

共 17 题
#

1. Inclusive cache(L3 包含 L1/L2 all lines)的工程优势,snoop filter 与 coherency 如何受益?

A L3 含所有下级 line 副本,充当 snoop filter,简化一致性判断 ✓ 正确答案
B 提升 L3 容量
C 减少 L3 重复存储
D 无一致性优势
#

2. Exclusive cache(L2 与 L3 互斥, victim out)的工程优势,为何带来更大 effective cache?

A 重复存储
B 充当 snoop filter
C L2/L3 互斥、victim 迁入 L3,有效缓存容量更大 ✓ 正确答案
D victim 丢弃
#

3. Inclusive cache 在 victim eviction 时强制 invalidate L1/L2 的开销?

A 无开销
B 无需维护下级
C 必须强制 invalidate L1/L2 副本,被频繁使用的 line 会损失性能 ✓ 正确答案
D 只 invalidate L1
#

4. MOESI 相对 MESI 增加的 Owned 状态在 AMD Zen 的工程价值?

A 允许脏数据被共享直接转发,避免写回内存,减少一致性流量 ✓ 正确答案
B 只允许独占
C 增加写回
D 无共享
#

5. MESIF 中 Forward 状态在 Intel scalable ring 的 snoop forwarding 优化?

A 允许任意核响应
B 在共享只读数据中指定唯一响应者 forward,减少 snoop 广播与竞争 ✓ 正确答案
C 增加广播
D 无指定
#

6. MOESI 在 Directory-based coherence(AMD Zen CCX)的广播抑制?

A 目录记录共享者,snoop 只发定向请求而非全广播 ✓ 正确答案
B 广播所有核
C 无目录
D 只读内存
#

7. MESI 与 MOESI 在 directory protocol 实现的工程取舍?

A MESI 更复杂
B MESI 简单低成本但流量多,MOESI 复杂高性能但流量少 ✓ 正确答案
C 两者相同
D MOESI 更简单
#

8. Flush+Reload 利用共享(如 L3 inclusive)缓存,通过 clflush 后测量 reload 时间推断受害者访问了哪些缓存行,其原理是什么?

A 只测 CPU 频率
B 直接读内存
C 与缓存无关
D clflush 驱逐缓存行,观测受害者访问后 reload 的时序差异推断访问 ✓ 正确答案
#

9. Spectre v1 如何诱导分支预测器误预测,使越界 load 的数据进入缓存,再通过侧信道逐字节泄漏?

A 分支误预测导致越界 load 投机执行,缓存状态残留,经时序侧信道逐字节推测 ✓ 正确答案
B 直接返回越界数据
C 修改分支
D 与缓存无关
#

10. Meltdown 如何利用乱序执行在异常被交付前完成对内核内存的越界访问,并把结果编码进缓存状态?

A 乱序执行在异常交付前完成越权 load,结果编码进缓存,经时序侧信道提取 ✓ 正确答案
B 直接返回内核数据
C 关闭异常
D 与乱序无关
#

11. 为什么缓存侧信道的根源是微架构状态(缓存/TLB)依赖了机密数据?常数时间编程如何消除这类泄漏?

A 与缓存无关
B 机密数据被直接输出
C 机密数据影响缓存/TLB 访问模式,被时序观测 ✓ 正确答案
D 只影响性能
#

12. Meltdown 的防御 KPTI(页表隔离)把内核与用户页表分开,带来了什么性能开销?

A 无开销
B 加密开销
C 内存增大
D 每次用户/内核切换需切换页表并刷新 TLB,系统调用密集负载变慢 ✓ 正确答案
#

13. 为什么 inclusive 缓存策略让跨核/跨进程的缓存侧信道更容易,而 exclusive/non-inclusive 能部分缓解?

A 共享 L3 包含所有核 line,提供统一观测点 ✓ 正确答案
B 缓存无共享
C line 分散
D 与缓存无关
#

14. CXL.memory device 与本地 cache 的 inclusive 协议边界?

A 设备频率
B 设备内存与主机缓存的一致性协议与包含关系 ✓ 正确答案
C 带宽
D 与一致性无关
#

15. Spectre 的防御(lfence 序列化、retpoline、IBRS/IBPB)各自针对推测执行的哪个环节?

A Spectre v2 的间接分支/ret 预测污染 ✓ 正确答案
B 越界 load
C 缓存污染
D 数据竞争
#

16. Intel L3 inclusive 与 AMD Zen L3 non-inclusive(非独占但 victim out)的实现差异?

A 重复存储
B 充当 snoop filter
C 不强制包含下级副本,有效容量更大,但需 directory 做一致性 ✓ 正确答案
D 一致性更简单
#

17. Prime+Probe 与 Flush+Reload 的区别是什么?为什么 Prime+Probe 不需要与受害者共享物理页也能工作?

A 用 clflush 共享行
B 攻击者填充自己的缓存集合,受害者访问同集合地址会驱逐,可观测 ✓ 正确答案
C 需要共享页
D 只测 TLB