多核CPU多级缓存一致性协议MESI
这里写目录标题
MESI的四种状态EMSI的状态转移MESI引入的问题状态切换导致CPU阻塞CPU等待失效确认的返回
现在的处理器都是多核处理器,并且每个核都带有多个缓存(指令缓存和数据缓存,见下图)。为什么需要缓存呢,这是因为CPU访问内存的速度比较慢,所以在CPU和内存之间加了个缓存以提高访问速度。既然每个核都有缓存,那么假设两个核或者多个核同时访问同一个变量时这些缓存是如何进行同步的呢(缓存细分为一个个缓存行),这就有了MESI协议。
MESI的四种状态
MESI中每个缓存行(缓存存储数据的单元)都有四个状态,分别是E、M、S、I。下面我们介绍一下这四个状态分别代表什么意思。
状态描述监听任务M 修改 (Modified)该Cache line有效,数据被修改了,和内存中的数据不一致,数据只存在于本Cache中。缓存行必须时刻监听所有试图读该缓存行相对就主存的操作,这种操作必须在
共有 0 条评论