【问题标题】:Confused about cpu cache memory对cpu缓存内存感到困惑
【发布时间】:2016-03-04 04:38:46
【问题描述】:

我真的对 CPU 缓存感到困惑。

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

  1. 它比主内存快。
  2. 您无法务实地检查您的程序是否正在使用它。
  3. 不使用它会显着降低您的程序速度。
  4. 你不应该关心它。
  5. 如果您不关心它,您的程序运行速度可能会慢 20 倍。
  6. 管理缓存的最佳选择是对时间进行有根据的猜测。
  7. 不同的缓存可能使用不同的缓存算法。

让我对它们感到困惑的是:

  1. 缓存如何检查命中?里面有处理器吗?
  2. 缓存如何与进程交换交互?恐怕即使我的程序是 1kb 并且我的缓存是 32kb,cpu 也可能不会利用局部性,因为它会一直交换它。

感谢您的帮助!

【问题讨论】:

    标签: performance caching


    【解决方案1】:

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

    【讨论】:

    • 阅读量有点令人沮丧,但我会尽力消化它。感谢您的链接。
    • @Dmitry 第 3 节是关于缓存的;你可以跳到那部分。
    猜你喜欢
    • 2011-10-02
    • 2013-10-28
    • 2021-11-16
    • 2018-03-14
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多