首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果使用带写策略的缓存,那么哪些MESI协议状态是相关的?

如果使用带写策略的缓存,那么哪些MESI协议状态是相关的?
EN

Stack Overflow用户
提问于 2015-08-01 11:45:43
回答 1查看 654关注 0票数 3

在阅读有关缓存一致性协议的讲座幻灯片时,我遇到了以下问题:如果使用带写策略的缓存,那么哪些MESI状态是相关的?

给出了答案:I (无效)S (共享未修改)

我理解状态M (修改的独占)与此无关,因为带有写操作策略的缓存无论如何都会将更改传播到主内存。

状态E (独占未修改的)是不相关的,因为它只在发生独占读取丢失和替换时才发出(并且保留了进一步的读取命中)。

有人能解释一下答案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-01 12:58:58

正如您所提到的,M状态显然是无用的,因为您从未将修改过的数据保存在缓存中。

至于独占状态:请记住,在某种意义上,它比共享状态“更强”,因为在WB缓存中,它保证对该行的写入不需要先获得所有权并使其他副本无效,而是可以直接写入该行而不必离开本地缓存。换句话说,从E到M的转换很简单,而S到M更复杂,需要首先使所有其他复制无效。

另一方面,在WT缓存中,您已经可以保证没有其他人持有行的修改版本,更重要的是,您没有在本地缓存中进行简单转换的好处(因为您无论如何都必须将数据写到外部),因此实际上不需要独占状态--您没有从中获益。实际上,您可能会因此而损失,因为E状态迫使您在任何其他读取同一行(E -> S转换)的核心上发送窥探,

当然,在编写外部的东西时,您仍然需要使所有其他副本无效,但是您不需要区分E和S来告诉您它们是否存在,通常有一个窥探过滤器或其他列表来告诉您要窥探哪些核心。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31761454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档