MESI 缓存一致性协议引发的一些思考

某个下午偶尔间看到了 MESI 缓存一致性协议,引出了我不少相关的疑惑,写下此文记录

通过这篇文章你能了解到的知识

  1. MESI 协议是什么,解决了什么问题
  2. 指令重排 是什么,解决了什么问题
  3. 内存屏障 是什么,解决了什么
  4. MESI 与 并发同步的区别

MESI 缓存一致性协议

MESI 产生的前提

  • 多级缓存的出现
  • 多核 CPU 的出现

总之为了计算机的性能,现代计算机都具备上述两点的设计,下图为不同存储的 IO 速度对比

How to boost and scale PostgreSQL - from shared buffers to in-memory data  grids - GridGain Systems

MESI 解决的问题

由于现在计算机都是多核 CPU 了,并且每一个 CPU 都有自己独立的缓存(如下图架构),这样就会有可能多个 cpu 操作同一份数据,导致各个 cpu 缓存中的同一份数据值不一致的情况。

CPU多级缓存架构- 知乎

MESI 的具体设

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值