小林图解系统-二.硬件结构 2.4CPU缓存一致性

CPU Cache的数据写入

CPU和内存的访问性能越差越大,于是在CPU内部嵌入CPU Cache(高速缓存)。

CPU Cache由Cache Line组成,Cache Line由头标志Tag+数据块Data Block组成。

如果数据写入Cache,内存和Cache相对应的数据将不同,需要同步,什么时机才把Cache中的数据写回到内存呢?

两种针对写入数据的方法:写直达(Write Through),写回(Write Back)

写直达

保存内存与Cache一致性最简单的方式,把数据同时写入内存和Cache中

写入前会先判断是否已经在CPU Cache里面:

如果数据已经在Cache里面,先将数据更新到Cache里面,再写入到内存里面;

如果数据没有在Cache里面,就直接把数据更新到内存里面。

写回

既然写直达由于每次操作都会把数据写回内存,导致影响性能,为了减少数据写回内存的频率,出现了写回方法。

当发生写操作时,新的数据仅仅被写入到Cache Block里,只有当修改过的Cache Block[被替换过]才需要写到内存里,减少了数据写回内存的频率,提高性能。

  • 当发生写操作时,数据已经在CPU Cache里的话,把数据更新到CPU Cache里,标记CPU Cache里的这个Cache Block为(Dirty)的,代表这个时候,CPU Cache里面的Cache Block的数据和内存是不一致的,这种情况不用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值