處理器快取L1、L2、L3都是用SRAM做的嗎?

處理器快取L1、L2、L3都是用SRAM做的嗎?

處理器快取 L1、L2 和 L3 都是由 SRAM 製成的嗎?如果屬實,為什麼 L1 比 L2 快,L2 比 L3 快?當我讀到它們時,我不明白這部分。

答案1

一般來說它們都是用SRAM實現的。

(IBM 的 POWER 和 zArchitecture 晶片使用 DRAM 記憶體作為 L3。這稱為嵌入式 DRAM,因為它採用與邏輯相同類型的製程技術實現,允許將快速邏輯整合到與 DRAM 相同的晶片中。對於 POWER4,off-晶片L3 使用eDRAM;POWER7 的L3 與處理核心位於同一晶片上。

雖然他們使用SRAM,但他們並不都使用相同的靜態隨機記憶體設計。 L2 和 L3 的 SRAM 已針對尺寸(在給定有限可製造晶片尺寸的情況下增加容量或降低給定容量的成本)而 L1 的 SRAM 更有可能針對速度進行最佳化。

更重要的是,存取時間與儲存的物理大小有關。對於二維佈局,預計實體存取延遲為大致與容量的平方根成正比。 (非均勻快取架構利用這一點以較低的延遲提供快取子集。最新英特爾處理器的L3 切片具有類似的效果;本地切片中的命中具有顯著較低的延遲。)這種效果可以使DRAM快取更快與高容量的 SRAM 快取相比,因為 DRAM 物理尺寸較小。

另一個因素是大多數 L2 和 L3 快取使用標籤和資料的串行訪問,而大多數 L1 快取並行存取標籤和資料。這是一種功耗優化(L2 缺失率高於 L1 缺失率,因此資料存取更有可能是浪費工作;L2 資料存取通常需要更多能量(與容量相關);L2 快取通常具有更高的關聯性這意味著必須推測性地讀取更多資料條目)。顯然,在存取資料之前必須等待標籤匹配將增加檢索資料所需的時間。 (L2 訪問通常也僅在確認 L1 未命中後才開始,因此 L1 未命中檢測的延遲會添加到全部的L2 的存取延遲。

此外,L2 快取在物理上距離執行引擎更遠。將L1資料快取放置在靠近執行引擎的位置(這樣L1命中的常見情況很快)通常意味著L2必須放置得更遠。

相關內容