缓存写操作

写策略

直写(Write-Through)

  • 同时写入缓存和下一级存储器(主存)
  • 保证数据一致性
  • 但每写一次都会触发慢速的主存访问

写回(Write-Back)

  • 只写入缓存,标记该行为脏位(Dirty Bit)
  • 当该行被替换时,才将数据写回下一级存储器
  • 减少主存写入次数,性能更好
  • 现代 CPU 主要使用写回策略

不命中时策略

写分配(Write-Allocate)

  • 不命中时将数据加载到缓存中,然后修改缓存
  • 通常配合写回策略使用

非写分配(No-Write-Allocate)

  • 不命中时直接写入下一级存储器,不加载到缓存
  • 通常配合直写策略使用

策略组合

写命中策略写不命中策略常见组合
直写(Write-Through)非写分配(No-Write-Allocate)简单但慢
写回(Write-Back)写分配(Write-Allocate)现代 CPU 标准

性能影响

  • 写回+写分配减少了主存写入次数
  • 对频繁写入的程序性能提升显著
  • 理解写策略有助于

相关笔记:

链接到