Cpu Cache and Memory Barrier(CPU缓存与内存屏障)

转载:https://www.jianshu.com/p/9ce55861e4ce
4.1 CPU缓存
为了提高程序运行的性能,现代CPU在很多方面对程序进行了优化。使用CPU高速缓存就是其中一种途径。目的就是为了尽可能地避免处理器访问主内存的时间开销。
现代CPU一般有三级缓存,使用cpu-z能清楚地看到。
CPU-Z截取的三级缓存
图一
多级缓存:
L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。一般服务器CPU的L1缓存的容量通常在32-4096KB。(每个核心都有自己的L1缓存)
L2由于L1级高速缓存容量的限制,为了再次提升CPU的运行速度,在CPU外部放置多一个高速缓存(每个核心都有自己的L2缓存)
L3都是内置的。L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能,具有较大的L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。一般是多核共享一个L3缓存。
图二
缓存同步协议(MESI协议):
多CPU读取同样的数据进行缓存,进行不同运算之后,最终写入主内存以哪个CPU为准?
在这种高速缓存回写的场景下,有一个缓存一致性协议,多数CPU厂商对它进行了实现。MESI协议,它规定每条缓存有个状态位,同时定义了下面四个状态:
1)修改态(Modified):此cache行已被修改过(脏行),内容已不同于主存,为此cache专有2)专有态(Exclusive):此cache行内容同于

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值