0

假设我们有一些位于某个固定内存地址的数组经常被访问和更新(与访问频率相比更新频率要低得多),如果数组的大小很小,现代 CPU 通常可以缓存整个数组? 数组的更新/访问可以完全在缓存而不是主内存存储中完成吗?

根据我过去的经验,我测试的几个 Intel CPU 可能就是这种情况,但我需要更多关于缓存算法的详细信息(对于任何最近的 CPU 模型来说都很难找到)以优化我的算法。

4

1 回答 1

0

写入可以是回写式或直写式,具体取决于所讨论的特定 CPU。大多数现代 CPU 都支持回写。

可以从缓存中进行多次读取,这取决于几个因素,包括

  • 计算机上正在发生什么其他处理(其他事情可能会从缓存中驱逐您的阵列)。
  • 多个核心是否正在访问阵列。每个核心通常都有自己的缓存。

有关 Intel 缓存架构的信息,请参阅

于 2012-12-12T05:12:11.030 回答