加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Cache写回策略:写一次法(write-one)

(2010-10-20 23:24:27)
标签:

杂谈

 

用于对称多处理器系统中(每个处理器地位相同,且都有内置的Cache),保证高速缓存与主存的数据一致性。

 

Cache行有四种状态
1.Invalid:数据无效
2.Valid:该行与主存对应块的数据相一致,且不唯一(其它CPU的Cache中可能也有对应内存块数据)
3.Reserved:该行与主存对应块的数据相一致,且唯一(其它CPU的Cache中没有对应内存块数据)
4.Dirty:该行与主存对应块的数据不一致

 

Cache行状态的演变
1.读命中:从Cache中取数据,行状态不变。
2.读缺失:从主存中读数据块到Cache。其它Cache嗅探到这个读操作,若其中任何一个Cache有缓存这块数据,且处于Dirty状态,则读操作被中断,那个Dirty数据被写回主存,然后继续读操作。任何与该内存块对应的、状态为Dirty或Reserved的Cache行,其状态改为Valid.
3.写命中:若命中的Cache行状态为Dirty或Reserved,则只更新该Cache行,且该行的状态设为Dirty.若命中行状态为Valid,则同时写Cache和主存,并将命中行的状态改写Reserved.其它Cache嗅探到写操作,将相应内存块的Cache行状态置为Invalid.
4.写缺失:先按读缺失处理,再按写命中处理。最终的结果是包含对应块的其它Cache的对应行状态被置成Invalid,当前Cache的对应行状态为Reserved.

 

参照:http://en.wikipedia.org/wiki/Write-once_(cache_coherency)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有