# 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