我理解对于MSI,如果我们有一个共享状态的内存,即使没有其他人使用它,我们也必须广播我们正在被修改的内存。这是MESI解决的问题。
然而,当我们确实使用MESI时,当我们从无效移到排它时,我们需要广播我们想要读这个,如果没有点击回复,我们需要等待。这样还好吗?
发布于 2019-12-03 13:55:57
,我需要(从记忆中)读它,然后我们做我说过的事情。但似乎我并没有拯救我自己的任何广播,我只是做我的东西,而不是当我从共享转移到修改。
考虑一下先加载,然后存储的情况。使用MSI,您可以将其读入共享中,然后需要在提交商店之前再次脱离核心,以获得独占所有权。
使用MESI,您将读入纯负载的独占状态,然后切换到修改后的状态是本地的,没有非核心通信。
原来这就是维基百科在https://en.wikipedia.org/wiki/MESI_protocol#Advantages_of_MESI_over_MSI中给出的例子
https://stackoverflow.com/questions/59158311
复制相似问题