cpu缓存一致性问题---cache写策略

为什么会有cpu缓存一致性问题?

cpu缓存一致性指的:是缓存中和所其对应在主存中的数据的一致性

因为cpu运算产生新数据后基于写回策略只更新缓存的值会导致缓存和主存不一致问题

在这里插入图片描述

解决cpu缓存一致性问题前,先了解写回策略是什么

了解写回策略前,先介绍三个术语:1.缓存命中,指的是cpu在缓存中根据cacheline的索引tag查找某个数据时成功找到 2.缺页,缓存没命中叫做缺页,页是存储单元,意思是缓存中没有这个单元,当发生缺页时,导致异常,cpu控制权交给操作系统,操作系统将缺失的数据存进缓存,缓存数据最小单元是一个cacheline,64字节,其中就包含了tag索引。数据存好后,切换回刚才的进程,从发生异常的指令指向,也就是再次查找,当然缓存命中。3.脏数据(dirty data) 指的是cpu产生新数据后只更新缓存中的值,不更新主存中的值,此时缓存中是新数据,主存中为过期数据,这个不一致的新数据叫做脏数据,由于新数据只能由cpu运算产生,脏数据只存在于缓存中

cpu的读/写策略

一、cpu的读策略在介绍缺页时讲过,有两种情况:1.缓存命中(找到) 2.缺页(没找到)

二、cpu的写操作有两种情况:

1.写命中(write hit):要写的单元在cache中存在

2.写不命中(write miss):要写的单元在cache中不存在

对于写命中,有两种处理方式:

a.wirte through(写直达策略)

  • 同时写cache和主存单元
  • 问题:每次写主存增加10%指令量,降低性能

b.write back(写回策略)

  • 只写cache,不写主存
  • 优点:相比写直达,大大降低主存带宽压力

在这里插入图片描述

推荐学习内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wjq++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值