我读了一段关于DRAM(主存储器)高速缓存未命中和SRAM(L1,L2,L3)高速缓存未命中的段落,我不确定它是什么意思。
由于DRAM比SRAM慢,因此缓存未命中的成本很高,因为DRAm缓存未命中是从磁盘提供的,而SRAM缓存未命中通常是从基于DRAM的主存储器提供的。
以下是我的理解: 如果DRAM中存在高速缓存未命中,则进入磁盘(第二存储器)以查找数据。如果SRAM中存在高速缓存未命中,则进入SRAM以查找数据。
你能说出我是对还是错?
答案 0 :(得分:1)
一般情况下,如果L
级别未命中,则必须进一步向下,L+1
。
典型的内存层次结构包括以下级别,从0开始:
如果要在本地寄存器中存储内容,则必须先从内存中获取内容。
如果您的数据位于处理器(SRAM)
的其中一个缓存中,则无需再往下走。但是,如果您有缓存未命中,则必须转到系统内存(DRAM)
。
这里发生的是你可能试图访问一个不在内存中的内存页面,因为它从未加载过,或者因为某些时候它已被换出。您有页面错误,您需要从存储设备中获取您的页面。一旦找到您的数据,此过程就会停止。
请注意,您希望尽可能避免访问慢速存储驱动器,因此您可以通过更快的设备(例如,更快的设备)在DRAM和旋转磁盘之间创建额外的缓存层。 SSD(ZFS L2ARC,bcache等)