首页 > 其他 > 详细

03:CPU缓存和内存屏障

时间:2020-03-30 21:17:22      阅读:49      评论:0      收藏:0      [点我收藏+]
CPU的缓存
        存在三级:
            技术分享图片
 注意:没有CPU都有缓存自己的L1和L2,但是L3是多核共用的。
      CPU读取数据:L1>L2>L3>内存>硬盘
多个缓存中的数据一致性问题:
    多个缓存同时持有一个数据时,谁的修改会被承认呢,CPU厂商们讨论出一个协议,名叫MESI协议。
    MESI 协议为缓存中数据添加了四种状态:
            技术分享图片
    多处理器是:CPU对缓存中的数据改动后要通知给别的cpu。
CPU运行时指令重排
    CPU会将指令排序后执行。(不会改变结果)由于L3缓存是共享的。为了达到不等待的目的,CPU会控制指令的执行顺序。为了提高并行效率。
内存屏障
    CPU提供了两个内存屏障指令:
            1:写内存屏障:对缓存的修改要强制的同步到主内存之后才能被别的CPU使用。
            2:读内存屏障:强制让缓存去同步主内存中的数据。

 

 

03:CPU缓存和内存屏障

原文:https://www.cnblogs.com/Xmingzi/p/12601004.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!