我想知道MESI协议的实现,以及在写错过策略上使用分配的实现。假设我们有写请求,并且没有缓存行的其他副本而没有缓存丢失。这个图解表示下一步是从主内存(或L2缓存)获取值,存储它并将缓存行标记为M(修改)。那么,我想新的值将存储在缓存块中。问题是:为什么我们需要从主内存中获取数据呢?为什么我们不能简单地将新值写入到I(无效)状态下的第一个找到的缓存行/替换最大的缓存行,并将其标记为M(修改)?
谢谢你的帮助!
发布于 2016-08-27 12:46:59
假设您有64字节的缓存行,然后编写一个字节.您不能将“1/64的缓存行”放入缓存,那么其余的63个字节从何而来?它们必须来自主内存(或下一级缓存)。
https://stackoverflow.com/questions/39180919
复制相似问题