MESI协议,处理器0想写一条数据,需要向总线bus发送invalidate消息,并确认收到invalidate ack消息后,才能动手执行写操作。读阻塞,效率低。


处理器将数据写入到写缓冲器,发送invalidate消息出去,就认为成功了、去干别的事了。处理器1嗅探到invalidate消息,将invalidate放到无效队列中,直接返回invalidate ack。过段时间,再从无效队列取出invalidate消息、消费,将自己的状态设为 I过期 。

收到所有 处理器return的invalidate ack后,从写缓冲器中取出数据,状态设为 S独占,写入到自己的高速缓存中。完事后,设为S共享。

写缓冲器 + 无效队列,效率贼高。

写缓冲器 + 无效队列,优化MESI协议的性能相关推荐

  1. MESI协议为何会引发 有序性、可见性的问题

    引发可见性 case1:处理器将数据写入到写缓冲器,发送invalidate消息到总线bus,就认为成功了.此时数据并未到高速缓存中. case2:处理器1在嗅探到invalidate之前,就去读取高 ...

  2. 12 张图看懂 CPU 缓存一致性与 MESI 协议,真的一致吗?

    本文已收录到  GitHub · AndroidFamily,有 Android 进阶知识体系,欢迎 Star.技术和职场问题,请关注公众号 [彭旭锐] 进 Android 面试交流群. 前言 大家好 ...

  3. ARM的cache和写缓冲器(write buffer)

    转:https://blog.csdn.net/gameit/article/details/13169445?utm_medium=distribute.pc_relevant.none-task- ...

  4. 【DP】【单调队列优化】修剪草坪

    题目描述 在一年前赢得了小镇的最佳草坪比赛后,约翰变得懒惰了,再也没有修剪过草坪.现在,新一轮的比赛又开始了,约翰希望能够再次夺冠.然而,约翰家的草坪非常脏乱,因此,约翰需要让他的奶牛来完成这项工作. ...

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

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

  6. CPU中的MESI协议(Intel)

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

  7. Mesi协议与内存屏障

    Mesi协议和内存屏障都是和计算机并发相关的概念. 什么是Mesi协议 计算机存储分层 多核cpu带来的问题 而随着CPU的发展,CPU逐渐发展成了多核,CPU可以同时使用多个核心控制器执行线程任务, ...

  8. Java内存模型MESI协议

    参考链接 也许,这是东半球最叼的Java内存模型 CPU缓存一致性协议MESI 目录 多线程并发编程的三个特性实现 缓存的出现 缓存不一致 MESI协议 MESI优化和他们引入的问题 硬件内存模型 v ...

  9. mesi协议怎么实现_volatile的底层实现原理

    volatile关键字有两个作用 保证被volatile修饰的共享变量(vlatile int a=1)对所有线程总数可见的,也就是当一个线程修改了一个被volatile修饰共享变量的值,新值总是可以 ...

最新文章

  1. oracle归档模式教程,Oracle从归档模式变成非归档模式详细步骤
  2. CTFshow 命令执行 web55
  3. Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览
  4. PostGresSQL简介与Windows上的安装教程
  5. 一份详尽的IPC$入侵资料
  6. mysql 5.7.12 修改密码
  7. 针对“来用”团队项目之NABC分析
  8. 「第五篇」全国电子设计竞赛-电源题设计方案总结
  9. C++类的内联成员函数应放在哪
  10. mysql int()_简单谈谈MySQL中的int(m)
  11. 为什么程序员要尽量少写代码
  12. Pure Pursuit纯跟踪算法Python/Matlab算法实现
  13. 不知道从哪里开始更新你的秋季海报设计?
  14. C#毕业设计——基于C#+asp.net+SQL server的房地产信息管理系统设计与实现(毕业论文+程序源码)——房地产信息管理系统
  15. C# 将Excel导出PDF
  16. android类似iphone照片幻灯片,8个最佳照片编辑应用让你的Android或iPhone照片看起来不可思议...
  17. 线性表的定义和基本操作
  18. 使用Clonezilla进行P2V,备份还原完整过程
  19. 苹果手机发信息显示作为垃圾信息送达解决方法
  20. C++读书笔记:多态

热门文章

  1. ubuntu 能解析域名但ping不通_域名解析设置方法
  2. springcloud feign 服务调用其他服务_springCloud微服务项目 构建公共的feign调用
  3. Linux入门——一些linux基础
  4. 部署Awstats日志分析系统
  5. Grid Infrastructure 的较好的例子
  6. VMware 滴滴声解决
  7. Apache用户目录枚举工具apache-users
  8. VC/MFC Tips
  9. 文件目录Android SDK目录结构
  10. python_day26__02__文件的传送