Cache一致性协议之MESI

最近笔试遇到了这个题目,补漏一下

在单核处理器Cache中,Cache line有2个标志:dirty标志和valid标志,它们描述了Cache(缓存)和Memory(内存)之间的数据关系(数据是否有效、是否被修改);而在多核处理器Cache中,多个核会共享一些数据,因此就有了MESI协议,这个协议描述了多个核之间的共享状态。
MESI协议中,每个Cache line有4个标志,可用2个bit表示,它们分别是:

标志描述
M(Modified这行数据有效,但数据只在本Cache中被修改了,和内存中的数据不一致,数据只存在于本Cache中,其他Core的Cache中的数据变为无效(Invalid)
E(Exclusive这行数据有效,数据和内存中的数据一致,数据只存在于本Cache中
S(Shared这行数据有效,数据和内存中的数据一致,所有Core的Cache共享同一个数据,数据存在于很多Cache中
I(Invalid这行数据无效

M(Modified)和E(Exclusive)状态的Cache line,数据是独有的,不同点在于M状态的数据是dirty的(和内存的不一致),E状态的数据是clean的(和内存的一致)。
S(Shared)状态的Cache line,数据和其他Core的Cache共享。只有clean的数据(和内存一致)才能被多个Cache共享。
I(Invalid)表示这个Cache line无效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要有上進心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值