MESI是四个单词的缩写:Modifield,Exclusive,Shared,Invalid代表缓存的四种状态
首先来了解缓存:
缓存:为了弥补内存和处理器之间处理速度不匹配的问题
我们的数据和程序都是存储到内存中的,在执行时加载到处理器中,因为处理器的处理速度非常快,导致内存中数据的加载赶不上处理器处理的速度,从而cpu需要等待内存处理数据,内存是一种使用DRAM的动态随机存储器,缓存是放在cpu内部的使用称之为SRAM的静态随机存储器,缓存的处理速度非常快,可以比肩cpu的处理速度,这个存储器称为高速缓存存储器,它可以让cpu优先处理缓存中的数据,而不是频繁的读取内存
现在的cpu为了提升执行效率,通常会设计多层缓存,例如单核处理器
它采取了两级的缓存结构,L1 Cache(几十k左右)和L2 Cache(几百k),L1又分为L1P和L1D,分别给程序和数据使用,在L2中程序和数据共用,cpu处理数据时,先找L1,L1没有再找L2,L2没有再从主内存中加载.
多核处理器的缓存结构
Java面试之缓存一致性协议MESI
最新推荐文章于 2023-03-30 00:01:57 发布
MESI协议用于维护多核CPU缓存的一致性。缓存分为Invalid、Exclusive、Shared、Modified四种状态。当CPU读取或写入数据时,会根据状态更新缓存并通知其他CPU保持同步,确保数据的正确性。读操作会查找本地缓存,如果不在则通过总线请求,其他CPU可能会更新自身状态。写操作会检查缓存状态,Shared状态需先将数据同步回内存,再通知其他CPU无效化其缓存。
摘要由CSDN通过智能技术生成