M: 被修改(Modified)

E: 独享的(Exclusive)

S: 共享的(Shared)

I: 无效的(Invalid)

多个cpu多级缓存一致性

当有线程使用主内存时,load到cpu缓存中时,此时根据缓存一致性特性,在缓存中的状态变为E(独占状态),并且对bus进行监听。

多个cpu多级缓存一致性

当其他cpu使用同一个主内存时,cpu1通过嗅探机制,可以知道其他线程也使用该主内存,此时状态变为S(共享态)

多个cpu多级缓存一致性

当cpu1将缓存数据经过执行引擎计算后,赋值给缓存时,此时假如缓存值变为4,并没有write到主内存时,那么cpu状态变为M,其他cpu缓存状态变为I(无效态)

最后当write到主内存时,cpu1状态变为E(独占状态)

相关文章: