缓存写操作
写策略
直写(Write-Through)
- 同时写入缓存和下一级存储器(主存)
- 保证数据一致性
- 但每写一次都会触发慢速的主存访问
写回(Write-Back)
- 只写入缓存,标记该行为脏位(Dirty Bit)
- 当该行被替换时,才将数据写回下一级存储器
- 减少主存写入次数,性能更好
- 现代 CPU 主要使用写回策略
不命中时策略
写分配(Write-Allocate)
- 不命中时将数据加载到缓存中,然后修改缓存
- 通常配合写回策略使用
非写分配(No-Write-Allocate)
- 不命中时直接写入下一级存储器,不加载到缓存
- 通常配合直写策略使用
策略组合
| 写命中策略 | 写不命中策略 | 常见组合 |
|---|---|---|
| 直写(Write-Through) | 非写分配(No-Write-Allocate) | 简单但慢 |
| 写回(Write-Back) | 写分配(Write-Allocate) | 现代 CPU 标准 |
性能影响
- 写回+写分配减少了主存写入次数
- 对频繁写入的程序性能提升显著
- 理解写策略有助于
相关笔记:
链接到
- 上一个知识点:6.15 全相联缓存
- 下一个知识点:6.17 缓存性能分析