缓存一致性协议

  因为每个cpu都有自己的高速缓存,而现在的计算机一般都有好几个cpu,当几个cpu都读取了主存中的同一个数据a,当cpu A修改了a数据,并写到自己的高速缓存中,而b cpu并不知道,这时候可能就会出现问题。于是有了缓存一致性协议,MESI.

   MESI是指高速缓存中数据a的四种状态:

     E(exlusive, 独占):当cpu A从主存中读取了数据x=0,而其他cpu没有读取这个数据,这时候这个cpu A中的数据x状态为E.注意这里的exlusive并不是锁中的独占的意思,而是表示只有一个cpu读取了这个数据,表 示 一种状态而已,并不具有排他性。

     S(shared, 共享):这时候cpu B也读取了数据x=0, 那这时候cpu A中的x数据和cpuB中的x数据改为共享状态。

     M(modified,修改):cpuA把x=0修改为x=1,这时候cpuA中x变成M状态。

     I(invalid,无效):cpuA通过总线通知cpuB,我已经修改了数据x,于是cpuB把高速缓存中的x设置为无效I.

转载于:https://www.cnblogs.com/xiejh8/p/10680409.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值