java并发2——CPU多级缓存——缓存一致性(MESI)

6 篇文章 0 订阅

用于保证多个CPU cache之间缓存共享数据的一致。如下图所示(M表示被修改,E是独享状态,S表示共享状态,I表示无效状态):

 

四种状态说明:M表示被该缓存行只被缓存在改CPU的缓存中并且是被修改过的,因此它与主存间的数据是不一致的,该缓存行的内存未来是要被写回主存的;E是独享状态,它的缓存行只被共享在该CPU中,它的状态是和主存中的一致的,当有其他CPU读取该CPU时,变成共享状态;S表示共享状态,这个状态意味着该缓存行可能被多个CPU缓存,并且各个缓存中的数据与存储数据是一致的;I表示无效状态 ,就是表示该缓存行是无效的,可能是由于其他CPU修改了该缓存行。

 

四种操作说明:

local read:表示读本地缓存中的数据;

local write:表示将数据写到本地中的缓存;

remote read:表示将内存中的数据读取过来;

remote write:表示写会到主存中去。

 

可以用下图来理解:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值