Caching 如果缓存具有写回策略,将向内存写入多少字节?

Caching 如果缓存具有写回策略,将向内存写入多少字节?,caching,memory-management,cpu-architecture,Caching,Memory Management,Cpu Architecture,数组A包含256个元素,每个元素4个字节。它的第一个元素存储在物理地址4096 512个元素,每个元素4字节。它的第一个元素存储在物理地址8192处。假设只有数组A和B 可以缓存在初始为空、物理寻址、物理标记、直接映射的2K字节缓存中,并带有8字节 块大小。然后执行以下循环 为了(i=0;i自数组A的每个元素更新以来,写入内存的字节数=256*4=1024字节。因此,每个元素的缓存变脏,并且每个元素的主内存都会更新。如果您认为它是其他东西,又是什么?为什么?A的每个数组元素都会更新,所以它应该写

数组A包含256个元素,每个元素4个字节。它的第一个元素存储在物理地址4096 512个元素,每个元素4字节。它的第一个元素存储在物理地址8192处。假设只有数组A和B 可以缓存在初始为空、物理寻址、物理标记、直接映射的2K字节缓存中,并带有8字节 块大小。然后执行以下循环


为了(i=0;i自数组A的每个元素更新以来,写入内存的字节数=256*4=1024字节。因此,每个元素的缓存变脏,并且每个元素的主内存都会更新。

如果您认为它是其他东西,又是什么?为什么?A的每个数组元素都会更新,所以它应该写回内存。因此,它应该是256*4字节=1024字节。如何(如果有)如果使用了直写策略,您的答案会改变吗?如果不会改变,这两种策略之间的区别是什么?在这两种情况下,数据都会写入缓存,如果数据是写的,但问题不是关于写入缓存,而是问有多少写入将通过缓存进入内存。即,有多少stores缓存无法过滤。这是回写缓存的整个点,而不是直写。最终,如果没有其他写入操作首先发生到这些位置(在这种情况下,此数据将永远不会写入内存)。但这些存储不必等待,也不会直接导致任何写回。这是写回缓存而不是直写的点。例如,
mov[mem],eax在循环中可以无限期运行而不会导致任何内存流量,因为它不断更新缓存中的同一位置。