2015-04-04 164 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

相關問題