计算机组成原理

 由于cache的内容只是主存部分内容的副本,它应当与主存内容保持一致。而CPU对cache的写入更改了cache的内容。如何与主存内容保持一致,可选用如下三种写操作策略。

写回法(write back, copy back), 写返回

写回法要求:“当CPU写cache命中时,只修改cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。这种方法使cache真正在CPU-主存之间读/写两方面都起到高速缓存作用。对一个cache行的多次写命中都在 cache 中快速完成,只是需要替换时才写回速度较慢的主存,减少了访问主存的次数。实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。当某行被换出时,根据此行修改位是1还是0,来决定将该行内容写回主存还是简单弃去。

 如果CPU写cache未命中,为了包含欲写字的主存块在cache分配一行,将此块整个复制到cache后对其进行修改。主存的写修改操作统一留到换出时再进行。显然,这种写cache与写主存异步进行的方式可显著减少写主存次数,但是存在不一致性的隐患。2)全写法(write through)       全写法要求:当写 cache 命中时, cache 与主存同时发生写修改,因而较好地维护了 cache_与主存的内容的一致性。当写cache未命中时,只能直接向主存进行写入。但此时是否将修改过的主存块取到cache,有两种选择方法:一种称为WTWA 法,取主存块到cache并为它分配一个行位置;另一种称为WTNWA法,不取主存块到cache.     全写法是写cache与写主存同步进行,优点是cache中每行无须设置一个修改位,以及相应的判断逻辑。缺点是, cache对CPU向主存的写操作无高速缓冲功能,降低了cache的性能。3)写一次法(write once)     写一次法是基于写回法并结合全写法的写策略:写命中与写未命中的处理方法和写回法基本相同,只是第一次写命中时要同时写入主存。这是因为第一次写cache命中时,CPU要在总线上启动一个存储写周期,其他cache监听到此主存块地址及写信号后,即可复制该块或及时作废,以便维护系统全部cache的一致性。奔腾CPU的片内数据cache就采用了写一次法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值