計算機 - 記憶體



什麼是計算機記憶體?

能夠臨時或永久儲存資料或資訊的物理裝置稱為記憶體。它是儲存和處理資料的地方。通常,計算機具有主存和輔存。輔助儲存器(二級儲存器)用於長期儲存資料和程式,或者直到使用者想要將它們儲存在記憶體中為止,而主儲存器則在程式執行期間儲存指令和資料;因此,任何當前正在計算機上執行或執行的程式或檔案都儲存在主儲存器中。

記憶體分類

計算機記憶體有多種型別,並用於不同的目的 -

  • 主存(RAM - 隨機存取記憶體) - 易失性記憶體,當機器關閉時會丟失其內容。RAM 儲存正在積極使用的資料。在系統的引導過程中,作業系統會積極使用 RAM 和執行檔案或程式所需的應用程式。它透過提供快速的資料和指令訪問來加快 CPU 處理速度。

  • 輔存(儲存) - 輔存也被稱為計算機的永久儲存器或非易失性儲存器。當機器關閉時,輔存會保留資料。檔案、程式和作業系統永久儲存在那裡。HDD、SSD、USB 快閃記憶體驅動器和光碟是非易失性儲存裝置。

  • 快取記憶體 - 比 RAM 更小、更快的記憶體稱為快取記憶體。它比 RAM 更靠近 CPU。

Cache

它儲存經常使用的資料和指令,以便更快地進行處理。

不同型別的快取記憶體,如 L1、L2 和 L3 快取,具有不同的速度和儲存空間。

快取記憶體的級別:L1、L2 和 L3

CPU 快取記憶體分為三個“級別”:L1、L2 和 L3。記憶體層次結構再次根據速度,從而根據快取大小。

L1 快取

1 級快取是計算機最快的記憶體。CPU 最常訪問的資料駐留在 L1 快取中。CPU 決定 L1 快取的大小。一些高階消費級 CPU,如英特爾 i9-9980XE,擁有 1MB 的 L1 快取,但它們價格昂貴且稀有。像英特爾的至強這樣的伺服器晶片組擁有 1-2MB 的 L1 記憶體快取。在購買之前,請檢查 CPU 規格以確定 L1 快取的大小。沒有“標準”數量。

Source

來源:[1]

L1 快取通常有兩個部分:指令快取,儲存 CPU 操作資訊;以及資料快取,儲存操作資料。

L2 快取

2 級快取比 L1 更大但更慢。現代 L2 記憶體快取為千兆位元組,而不是千位元組。AMD 頂級 Ryzen 5 5600X 擁有 384KB L1 和 3MB L2 快取以及 32MB L3 快取。L2 快取的大小取決於 CPU,但通常為 256KB 到 32MB。如今,大多數 CPU 擁有超過 256KB 的 L2 快取,這很小。一些目前最強大的 CPU 擁有超過 8MB 的 L2 記憶體快取。在速度方面,L2 快取比 L1 快取慢,但仍比系統 RAM 快。L2 快取比 RAM 快 25 倍,而 L1 快取快 100 倍。

L3 快取

3 級快取。L3 記憶體快取最初位於主機板上。這是很久以前,當時大多數 CPU 都是單核的。高階消費級 CPU 上的 L3 快取可以達到 32MB,而 AMD 突破性的 Ryzen 7 5800X3D CPU 擁有 96MB。一些伺服器中的 CPU L3 快取可以達到 128MB。

最大的和最慢的快取記憶體單元是 L3。現代 CPU 具有片上 L3 快取。晶片的 L1 和 L2 快取為每個核心服務,而 L3 快取更像是整個晶片的記憶體池。以下圖片說明了 2012 年英特爾酷睿 i5-3570K CPU 和 2020 年 AMD Ryzen 5800X CPU 的 CPU 記憶體快取級別。第二張圖片的右下角包含 CPU 快取資料。

Cache L3

來源:[1]

請注意,這兩個 CPU 都有一個分開的 L1 快取,以及更大的 L2 和 L3 快取。在 AMD Ryzen 5800X 上,L3 快取超過英特爾 i5-3570K 的五倍以上。

快取記憶體的工作原理

  • 層次結構 - 計算機通常具有 L1、L2 和 L3 快取,它們是快取記憶體的多個層。L1 快取是最小且最快的快取,位於最靠近 CPU 的位置;L2 和 L3 快取更大且更慢。

  • 快取組織 - 快取記憶體的每個塊或行都包含從主記憶體複製的一小部分資料。CPU 以固定大小的塊訪問快取記憶體,而不是位元組。

  • 快取一致性 - 快取一致性確保快取資料與主記憶體資料匹配。在多核處理器中,當一個核心寫入記憶體位置時,快取一致性技術會更新其他核心的快取。

  • 快取替換策略 - 當快取已滿且需要新塊時,快取替換策略決定要驅逐哪個塊。LRU、FIFO 和隨機替換是常見的策略。

  • 快取訪問 - CPU 在讀取或寫入資料之前檢查快取。當資料被快取時,CPU 可以快速檢索它。如果資料不在快取中(快取未命中),則 CPU 必須從主記憶體中獲取它,這可能會延遲它。

  • 快取層次結構 - 現代處理器包含 L1、L2 和 L3 快取,這些快取隨著遠離 CPU 核心的距離而容量和延遲增加。透過將 L1 快取拆分為指令快取和資料快取來實現並行訪問。

  • 快取管理 - 快取利用率的最佳化最大限度地提高了命中率並最大限度地減少了未命中懲罰。預取,即處理器預測記憶體訪問並將資料載入到快取中,可以提高快取效能。

    快取記憶體緩衝區頻繁地訪問 CPU 和主記憶體之間的資料,以加快處理速度並提高系統性能。現代計算機系統需要有效的管理和結構才能獲得最佳效能。

暫存器記憶體

暫存器記憶體,也稱為處理器暫存器或“暫存器”,是直接整合到 CPU 中的最小、最快的計算機記憶體型別。暫存器是 CPU 內部的小型、快速儲存單元,用於快速儲存正在處理的資料或正在執行的指令。

暫存器在計算機系統中發揮著幾個重要的作用

  • 指令執行 - 暫存器儲存 CPU 當前正在執行的指令。這包括操作碼 (opcode) 及其相關的運算元。

  • 資料儲存 - 暫存器儲存 CPU 處理的資料。這可以提供記憶體地址、算術或邏輯運算期間的中間值以及正在執行的指令所需的其他資料。

  • 定址 - 記憶體地址用於儲存或檢索 RAM 或計算機記憶體層次結構其他部分中的記憶體位置的資料。

暫存器的型別

  • 程式計數器 (PC) - 儲存要獲取和執行的下一條指令的記憶體地址。

  • 指令暫存器 (IR) - 儲存 CPU 當前正在執行的指令。

  • 記憶體地址暫存器 (MAR) - 儲存要從記憶體中讀取或寫入記憶體的資料的記憶體地址。

  • 記憶體資料暫存器 (MDR) - 包含要從記憶體中讀取或寫入記憶體的實際資料。

  • 通用暫存器 (GPR) - 用於在程式執行期間進行通用資料儲存和操作。

影片隨機存取記憶體 (VRAM)

影片隨機存取記憶體 (VRAM) 是一種旨在與顯示卡和圖形處理單元 (GPU) 配合使用的記憶體型別。它是記憶體中的一個特殊位置,可以儲存圖形資料,例如影像、幀緩衝區和其他與圖形相關的資料。

VRAM 旨在處理渲染計算機顯示器上的圖形和影像的快速並行處理需求。它使 GPU 能夠快速訪問大量圖形資料,從而使它們能夠渲染複雜的場景、紋理和動畫。

VRAM 如何工作?

VRAM 的主要特點包括 -

  • 高頻寬 - VRAM 通常提供高速資料傳輸速率,使 GPU 能夠快速訪問圖形資料。

  • 並行訪問 - VRAM 旨在支援並行訪問,允許多個渲染任務同時訪問記憶體的不同部分。

  • 專用架構 - VRAM 通常具有針對圖形處理任務最佳化的專用架構,包括多埠訪問和寬記憶體匯流排等功能。

  • 專用圖形記憶體 - 與在各種系統元件之間共享的系統 RAM 不同,VRAM 專用於圖形處理,確保 GPU 擁有足夠的記憶體頻寬和容量來渲染圖形密集型應用程式。

VRAM 的型別

  • GDDR(圖形雙倍資料速率)VRAM - 這是最常用的 VRAM 型別,主要存在於現代 GPU 中。GDDR5、GDDR5X 和 GDDR6 是一些變體,它們在能效和頻寬方面比早期版本有所改進。

  • HBM(高頻寬記憶體) - HBM VRAM 是一種更新的技術,它在降低功耗的同時提供了比傳統 GDDR VRAM 更高的頻寬。它透過將記憶體晶片垂直堆疊在矽互連器上,最大限度地減少資料在記憶體單元之間傳輸的距離來實現這一點。

廣告