【问题标题】:DRAM cache missDRAM 缓存未命中
【发布时间】:2015-06-09 15:47:24
【问题描述】:

我读了一段关于 DRAM(主存储器)缓存未命中和 SRAM(L1、L2、L3)缓存未命中的段落,但我不确定它是什么意思。

由于 DRAM 比 SRAM 慢,高速缓存未命中的成本很高,因为 DRAM 高速缓存未命中是从磁盘提供的,而 SRAM 高速缓存未命中通常是从基于 DRAM 的主存储器提供的。

这是我的理解: 如果 DRAM 中存在缓存未命中,它会进入磁盘(第二内存)以查找数据。而如果 SRAM 中有缓存未命中,它会进入 SRAM 以查找数据。

你能告诉我是对是错吗?

【问题讨论】:

    标签: caching system hardware


    【解决方案1】:

    一般来说,如果在L 层有遗漏,你必须再往下一层,L+1

    典型的内存层次结构包括以下级别,从 0 开始:

    • 处理器寄存器
    • 处理器缓存 (SRAM)
    • 系统内存 (DRAM)
    • 大容量存储(闪存/旋转设备)

    如果你想在本地寄存器中存储一些东西,你必须首先从内存中获取它。

    如果您的数据位于处理器(SRAM) 的其中一个缓存中,则无需再往下走。但是,如果您有缓存未命中,则必须转到系统内存(DRAM)

    这里发生的情况是,您可能会尝试访问不在内存中的内存页面,因为它从未被加载过,或者因为在某些时候它已被换出。您遇到了页面错误,需要从存储设备中获取您的页面。一旦您找到数据,此过程就会停止。

    请注意,您希望尽可能避免访问速度较慢的存储驱动器,因此您可以通过更快的设备在 DRAM 和旋转磁盘之间创建额外的缓存层,例如固态硬盘(ZFS L2ARCbcache 等)

    【讨论】:

    • 您错过了低于“大容量存储”->“云”的级别,其中通过网络请求不在本地磁盘上的数据
    猜你喜欢
    • 2012-04-21
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2021-05-30
    • 2012-02-27
    • 1970-01-01
    相关资源
    最近更新 更多