2015-04-04 89 views
0

我读了有关DRAM(主内存)高速缓存未命中和SRAM(L1,L2,L3)缓存未命中的段落,我不知道这意味着什么。DRAM高速缓存未命中

由于DRAM比SRAM慢,缓存未命中的代价非常昂贵,因为DRAm缓存未命中由磁盘提供,而SRAM缓存未命中通常由基于DRAM的主存储器提供。

这是我的理解: 如果在DRAM中存在高速缓存未命中,它将进入磁盘(第二个存储器)以查找数据。而如果SRAM中存在高速缓存未命中,则它将进入SRAM以查找数据。

你能告诉我是对还是错?

回答

1

一般来说,如果在L级别有遗漏,则必须进一步向下一级,L+1

典型的存储器层次结构中包括以下的水平,从0起:

  • 处理器寄存器
  • 处理器高速缓存(SRAM)
  • 系统存储器(DRAM)
  • 大容量存储(闪存/纺纱设备)

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

如果你的数据在处理器(SRAM)的高速缓存中的一个,你不需要去进一步下跌。但是,如果您有缓存未命中,则必须转至系统内存(DRAM)

这里会发生什么事是,你可能尝试访问内存页面这是不是在内存中,可能是因为它从来没有被加载或者是因为在某些时候它已经被交换出去。您有一个页面错误,您需要从存储设备中获取您的页面。只要找到数据,此过程就会停止。

注意要避免尽可能多地访问慢的存储驱动器,所以你可以做到这一点,以创建由更快的设备,例如手段DRAM和旋转磁盘之间的额外的缓存层固态硬盘(ZFS L2ARC,bcache等)

+0

您错过了“大容量存储” - >“云端”下的某个级别,其中有一个数据不在本地磁盘上 – Caleth 2017-05-25 15:34:10

相关问题