我正在阅读缓存写入策略,我只是想知道我是否正确理解了这一点。
当读取导致高速缓存未命中时,它将获取该内存块并将其放入高速缓存中。然后缓存写入未命中意味着程序要写入的内存中的位置不在缓存中,对吗?所以我正在阅读回写的描述,根据维基百科的内容如下:
最初,只对缓存进行写入。对后备存储的写入被推迟,直到包含数据的高速缓存块即将被新内容修改/替换。
所以唯一一次可以替换缓存块的内存是在读取期间,对吗?写入只会更改内存的特定位置的数据(如果是命中,这将在缓存块内),但它会使块内的实际内存位置保持不变,正确吗?
这是我对它的理解,我只是想确保它是正确的。
编辑:等等,我想在缓存未命中期间它也将替换/更新缓存块....
答案 0 :(得分:2)
Wikipedia解释得很清楚。一方面回写与直写定义,当将数据写入后备存储(也就是主存储器)时:
另一方面,写入分配与无写入分配定义了如何处理写入未命中,即来自后备存储的数据是否被带入缓存: