当前位置: 首页 > wzjs >正文

深圳西乡地铁站优化大师app下载安装

深圳西乡地铁站,优化大师app下载安装,济南网站建设公司哪家好一点,网店推广发展趋势缓存一致性是指在多处理器系统或分布式系统中,确保各个处理器核心或节点的缓存数据与主内存以及其他缓存中的数据保持一致的机制和过程。以下从问题产生原因、一致性协议和实现方式等方面进行详细理解: 1. 问题产生的原因 1.1 缓存存在的必要性 在计…

缓存一致性是指在多处理器系统或分布式系统中,确保各个处理器核心或节点的缓存数据与主内存以及其他缓存中的数据保持一致的机制和过程。以下从问题产生原因、一致性协议和实现方式等方面进行详细理解:

1.  问题产生的原因

1.1 缓存存在的必要性

  • 在计算机系统中,缓存是为了缓解处理器与内存之间速度差异而设置的高速存储区域。由于处理器的运算速度远远快于内存的读写速度,引入缓存可以将处理器近期可能会频繁访问的数据提前加载到缓存中,处理器需要数据时优先从缓存中读取,从而大大提高系统的性能。可以见博客:cpu 多级缓存L1、L2、L3 与主存关系_cpu l1 l2 l3-CSDN博客

1.2 缓存导致的一致性问题

  • 当多个处理器核心或节点都有自己的缓存时,就可能出现同一数据在不同缓存以及主内存中存在多个副本的情况。如果这些副本之间的数据不一致,就会导致程序出现错误的结果。例如,一个处理器核心修改了其缓存中的数据,但其他处理器核心的缓存以及主内存中的数据没有及时更新,那么后续其他处理器核心读取到的就是旧数据,这就产生了数据不一致的问题。

1.3 常见缓存一致性协议

    为了解决前面提出的缓存数据不一致性的问题,提出了缓存一致性协议。

参考:用动图的方式,理解 CPU 缓存一致性协议! - 知乎

全知乎最详细的并发研究之CPU缓存一致性协议(MESI)有这一篇就够了! - 知乎

  • MESI 协议:是一种常见的缓存一致性协议,MESI 分别代表 Modified(已修改)、Exclusive(独占)、Shared(共享)和 Invalid(无效)四种状态。
  • 每个缓存行都处于这四种状态之一,处理器核心在访问缓存行时,会根据其状态以及当前的操作来决定如何处理。例如,当一个处理器核心要修改一个处于 Shared 状态的缓存行时,它需要先将该缓存行的状态变为 Exclusive,然后再进行修改。修改完成后,其他处理器核心缓存中对应的缓存行状态会被设置为 Invalid,以保证数据的一致性。

        缓存行的四种状态

  •  Modified(已修改) :缓存行中的数据已被修改,但尚未写回内存。此时,数据仅存在于当前 CPU 的缓存中,与内存中的数据不一致。

  •  Exclusive(独占) :缓存行中的数据仅存在于当前 CPU 的缓存中,且与内存中的数据一致。其他 CPU 没有缓存该数据。

  •  Shared(共享) :缓存行中的数据存在于多个 CPU 的缓存中,且与内存中的数据一致2。

  •  Invalidated(已失效) :缓存行中的数据已失效,不能被读取

    状态转换

  • 从 Invalidated 到 Exclusive:当一个 CPU 读取一个未被其他 CPU 缓存的数据时,状态变为 Exclusive。

  • 从 Invalidated 到 Shared:当一个 CPU 读取一个已被其他 CPU 缓存的数据时,状态变为 Shared。

  • 从 Exclusive 到 Modified:当一个 CPU 修改一个独占的数据时,状态变为 Modified。

  • 从 Shared 到 Invalidated:当一个 CPU 修改一个共享的数据时,其他 CPU 的缓存行状态变为 Invalidated

  • MOESI 协议:在 MESI 协议的基础上增加了 Owned(拥有)状态。当一个缓存行处于 Owned 状态时,表示该缓存行已被修改,并且其修改后的值仅存在于当前处理器核心的缓存中,其他处理器核心缓存中对应的缓存行已无效,主内存中的数据也为旧值。这种状态的引入主要是为了优化写回操作,减少对主内存的写操作次数,提高系统性能。

2. 实现缓存一致性的方式

  • 总线嗅探:在基于总线的多处理器系统中,每个处理器核心都可以通过总线监听其他处理器核心对内存的访问操作。当一个处理器核心修改了缓存中的数据时,它会通过总线发出一个消息,告知其他处理器核心其缓存中的相应数据已无效。其他处理器核心在接收到这个消息后,会将自己缓存中对应的缓存行标记为无效。这种方式实现简单,但随着处理器核心数量的增加,总线带宽会成为瓶颈,影响系统性能。
  • 目录机制:在分布式系统或大型多处理器系统中,通常采用目录机制来实现缓存一致性。系统中会维护一个目录,记录每个数据块的副本分布情况以及状态信息。当一个处理器核心要修改数据时,它会先查询目录,找到所有拥有该数据副本的处理器核心,然后向这些处理器核心发送无效消息,使它们的缓存副本无效。目录机制可以有效地解决总线嗅探方式在大规模系统中的瓶颈问题,但实现较为复杂,需要消耗一定的存储空间和处理时间来维护目录信息。
http://www.dtcms.com/wzjs/350372.html

相关文章:

  • 网站在哪里设置关键字收录网站有哪些
  • wordpress中文主题下载厦门最好的seo公司
  • 北京成立公司咖啡seo是什么意思
  • 网站开发员纵向发展郑州网站推广方案
  • 安徽智农网络信息技术服务有限公司 网站开发网站设计报价方案
  • 陇南网站制作公司网站设计要多少钱
  • 如何做网上销售网站百度网站app下载
  • vue做电商网站长沙网站seo技术厂家
  • 鲁山网站建设兼职阿里指数查询官网
  • 游戏网站建设与策划2022重大时政热点事件简短
  • 做网站运营有趣吗seo的推广技巧
  • 平面设计专业就业前景什么叫优化
  • 商城网站案例北京网站建设公司报价
  • 网站开发用什么语言好品牌推广方案包括哪些
  • 网站怎样免费推广站长之家字体
  • 室内设计方案讲解思路自动app优化
  • 中英文双语网站模板最近爆发什么病毒感染
  • 如何在wordpress上下载apkseo优化教程培训
  • 东莞seo建站优化收费百度人工客服在线咨询电话
  • 建设网站虚拟主机在哪买百度贴吧官网
  • 百度搜索热度有名的seo外包公司
  • 门户网站 集成 移动app 方案搜索引擎营销优化
  • 店铺设计叫什么西安seo排名外包
  • 网站客户运营郑州seo网站管理
  • asp网站模板安装网站外链是什么
  • myeclipse做web网站百度财报q3
  • 做网站题材市场调研的重要性
  • 济南长兴建设集团有限公司网站广州seo服务外包
  • 网页设计和网站建设是同一回事吗网络营销的目的和意义
  • 武城县建设局网站百度推广平台收费标准