为什么MESI协议需要Exclusive状态

时间:2015-09-28 19:00:54

标签: caching computer-architecture mesi

我现在正在学习缓存一致性,但我不太明白MESI协议中Exclusive状态的功能是什么,因为我认为MSI也运行良好。

1 个答案:

答案 0 :(得分:4)

MSI协议的问题在于,默认情况下,所有数据都是在共享状态下加载的,即使它没有被共享。当我们将高速缓存块X从共享状态移动到修改状态时,我们必须向其他高速缓存发送信号以使其块X的副本无效;如果他们没有块X的副本,那么我们就会不必要地浪费总线带宽/周期。

程序的常见情况是读取并可能修改与其他线程共享的数据。通过引入独占状态,我们可以区分这种非共享(独占)数据。当我们修改大部分数据时,我们不必发出多余的无效信号。 MESI在功能上与MSI相同,但针对常见情况进行了更优化。