对cpu cache内存感到困惑

时间:2016-03-04 04:38:46

标签: performance caching

我对CPU缓存感到很困惑。

我已经尝试过查看它们是如何工作的,但我得到的只是:

  1. 它比主存更快。
  2. 您无法实际检查您的程序是否正在使用它。
  3. 不使用它会大大减慢您的程序。
  4. 你不应该关心它。
  5. 如果你不关心它,你的程序运行速度会慢20倍。
  6. 管理缓存的最佳选择是有时间的教育猜测。
  7. 不同的缓存可能使用不同的缓存算法。
  8. 令我困惑的是:

    1. 缓存如何检查命中?它里面有处理器吗?
    2. 缓存如何与流程交换相互作用?我担心即使我的程序是1kb且我的缓存是32kb,cpu也可能无法利用本地,因为无论如何它都会继续交换它。
    3. 感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这是一个很大的话题,所以不要试图将一个令人困惑的答案塞进一个小盒子里,让我指出Ulrich Drepper的优秀What Every Programmer Should Know About Memory。它以一种非常彻底和可理解的方式解释了整个主题。