cpu cache现在是三级缓存结构,cache的意义:cpu频率较高,内存处理慢,cache的出现是为了解决cpu和内存之间速度不匹配的问题

缓存一致性:mesi协议可以使cpu缓存达成一致性

cache line是cache与内存数据交换的最小单位,根据操作系统一般是32byte或64byte。在mesi协议中,状态可以是四种,地址是cache line中映射的内存地址,数据则是从内存中读取的数据

mesi状态介绍: modify:当前cpu cache拥有最新的数据(cache line),其他cpu拥有失效数据以当前cpu的数据为准 exclusive:当前cpu有数据,其他cpu中没有数据,当前cpu的数据和主寸中数据一致 shared:当前CPU和其他CPU中都有共同数据,并且和主存中的数据一致 invalid:当前CPU中的数据失效,数据应该从主存中获取,其他CPU中可能有数据也可能无数据,当前CPU中的数据和主存被认为是不一致的

对于invalid,mesi协议中采取的是写失效

MESI协议为了保证多个CPU cache中共享数据的一致性,定义了cache line的四种状态,而CPU对cache的4种操作可能会产生不一致状态,因此cache控制器监听到本地操作和远程操作的时候,需要对地址一致的cache line状态做出一定的修改,从而保证数据在多个cache之间流转的一致性。

cpu cache和MESI相关推荐

  1. CPU Cache原理与示例

    CPU Cache原理与示例 基础知识 现在的 CPU 多核技术,都会有几级缓存,老的 CPU 会有两级内存(L1 和 L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示: 其中:  ...

  2. Java专家系列:CPU Cache与高性能编程

    认识CPU Cache CPU Cache概述 随着CPU的频率不断提升,而内存的访问速度却没有质的突破,为了弥补访问内存的速度慢,充分发挥CPU的计算资源,提高CPU整体吞吐量,在CPU与内存之间引 ...

  3. 从Java视角理解CPU缓存(CPU Cache)

    http://coderplay.iteye.com/blog/1485760 众所周知, CPU是计算机的大脑, 它负责执行程序的指令; 内存负责存数据, 包括程序自身数据. 同样大家都知道, 内存 ...

  4. 这篇 CPU Cache,估计要消化一下

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 无论你写什么样的 ...

  5. 2021-04-04 CPU缓存一致性 MESI协议

    一 CPU以及缓存和高速缓存结构 1.1 CPU结构 我们知道CPU主要功能,一是控制,一是运算.主要包括寄存器.控制单元.运算单元和中断系统,主要架构如下: 控制单元:主要负责分析和解释指令 算数逻 ...

  6. 深入理解CPU cache:组织、一致性(同步)、编程

    <CPU Cache Line:CPU缓存行/缓存块> <CPU Cache Line伪共享问题的总结和分析> <内存管理:Linux Memory Management ...

  7. CPU Cache Line伪共享问题的总结和分析

    原文:吴一昊,杨勇 Linux阅码场 地址:CPU Cache Line伪共享问题的总结和分析 Table of Contents 1. 关于本文 2. 背景知识 2.1 存储器层次结构 2.2 多核 ...

  8. CPU中的MESI协议(Intel)

    目录 CPU缓存一致性 MESI 协议 MESI优化带来的性能问题 处理器执行时的乱序优化引发的问题 as-if-serial规则 happens-before规则 as-if-serial规则和ha ...

  9. CPU Cache知识介绍

    CPU Cache 基础知识 缓存的命中 缓存的一致性 基础知识 首先,我们都知道现在的 CPU 多核技术,都会有几级缓存,老的 CPU 会有两级内存(L1 和 L2),新的CPU会有三级内存(L1, ...

最新文章

  1. 第十三周项目-交通工具类程序
  2. 对php专业的认识,对PHP要有个全面的认识
  3. cmd背景换成老婆(冰冰)
  4. 数学--数论--快速乘法+快速幂
  5. java中spring的web支持nio,Spring WebClient NIO功能和问题域,与Spring Webflux一起使用
  6. 《Spring实战》系列之Bean的装配-Days01
  7. JBoss-4.2.3.GA下发布EJB3项目遇到的问题之JSF篇
  8. Linux内核提供了三种不同形式的中断底半部实现机制:软中断、tasklet和工作队列。...
  9. zookeeper安装和应用场合(名字,配置,锁,队列,集群管理)
  10. 【Visual C 】游戏开发笔记三十五 站在巨人的肩膀上 游戏引擎导论
  11. Eclipse添加GBK编码
  12. HTML网页设计:二、网页的基本标签
  13. 《青年在选择职业时的考虑》——马克思
  14. Matlab视觉处理模块定位控制全向轮小车运动:目标跟踪测试
  15. V 社秘密开发 Steam 跨系统兼容工具;甲骨文开源 GraphPipe,机器学习模型标准
  16. lnmp单独安装php,lnmp 环境,再单独安装php7.2 的版本,多版本php 同时运行
  17. 使用TensorFlow识别交通标志
  18. TBR架构的一些理解
  19. 第一期 前言 《路由器就是开发板》
  20. Zend Stufio如何使用SVN进行代码管理

热门文章

  1. 计算机的利弊优秀英语范文,2017下半年大学英语六级作文范文:电脑利弊
  2. 2016湖南湘潭邀请赛 - 2019牛客国庆集训派对day6
  3. python中argmin函数_numpy中的argmax、argmin、argwhere、argsort、argpartition函数
  4. markdown 如何书写 arg min max公式
  5. Netty之reactor模式
  6. 九联科技开发板正式合入OpenHarmony主干
  7. 使用idea(1)--增加内存
  8. 跨行成为一名程序员必备这5步,从程序员到工程师!
  9. 已重置应用默认设置html,win10系统经常提示已重置应用默认设置的解决方法
  10. Open-falcon技术实践V1.0