隨機存取記憶體(random-access memory,RAM),又稱RAM記憶體[6],是一種可隨機讀寫的記憶體[2],與唯讀記憶體(ROM)一起構成主記憶體[6],與中央處理器(CPU)直接交換數據[7]。與ROM不同,RAM在電源關閉時會遺失儲存數據,是一種揮發性(volatile)記憶體[6]。它可以隨時讀寫(重新整理時除外,見下文),而且速度很快,通常作為作業系統或其他正在執行中的程式的臨時資料儲存媒介。
此條目需要補充更多來源。 (2024年5月16日) |
主記憶體(Main memory)即電腦內部最主要的記憶體,用來載入各式各樣的程式與資料以供中央處理器直接執行與運用。由於 DRAM 的性價比很高,且擴展性也不錯,是現今一般電腦主記憶體的最主要部分。2011 年生產電腦所用的主記憶體主要是 DDR3 SDRAM,而 2016 年開始 DDR4 SDRAM 逐漸普及化,手提電腦廠商開始在手提電腦以 DDR4 記憶體取代 DDR3L。[來源請求]
分類
RAM 記憶體可以進一步分為靜態隨機存取記憶體(SRAM)和動態隨機存取記憶體(DRAM)兩大類。SRAM 具有快速存取的優點,但生產成本較為昂貴,一個典型的應用是快取。而 DRAM 由於具有較低的單位容量價格,所以被大量的採用作為系統的主記憶體。
動態隨機存取記憶體(DRAM)
所謂「隨機存取」,指的是當記憶體中的訊息被讀取或寫入時,所需要的時間與這段資訊所在的位置無關。相對地,有串行訪問記憶體包括順序存取記憶體(如:磁帶)和直接訪問記憶體(如:磁碟),這些儲存裝置的數據不能隨機存取,只能按順序訪問,阻礙了高速執行。
當電源關閉時 RAM 不能保留數據。如果需要儲存數據,就必須把它們寫入一個長期的儲存裝置中(例如硬碟)。RAM 和 ROM 相比,兩者的最大區別是 RAM 在斷電以後儲存在上面的數據會自動消失,而 ROM 則不會。
現代的隨機存取記憶體幾乎是所有存取裝置中寫入和讀取速度最快的,存取延遲也和其他涉及機械運作的儲存裝置(如硬碟、光碟機)相比,也顯得微不足道。但速度仍然不如作為 CPU 快取用的 SRAM。
現代的隨機存取記憶體依賴記憶體儲存資料。電容器充滿電後代表 1(二進制),未充電的代表 0。由於電容器或多或少有漏電的情形,若不作特別處理,電荷會漸漸隨時間流失而使資料發生錯誤。重新整理是指重新為電容器充電,彌補流失了的電荷。DRAM 的讀取即有重新整理的功效,但一般的定時重新整理並不需要作完整的讀取,只需作該晶片的一個列(Row)選擇,整列的資料即可獲得重新整理,而同一時間內,所有相關記憶晶片均可同時作同一列選擇,因此,在一段期間內逐一做完所有列的重新整理,即可完成所有記憶體的重新整理。需要重新整理正好解釋了隨機存取記憶體的揮發性。
正如其他精細的集成電路,隨機存取記憶體對環境的靜電荷非常敏感。靜電會干擾記憶體內電容器的電荷,引致資料流失,甚至燒壞電路。故此觸碰隨機存取記憶體前,應先用手觸摸金屬接地。
主記憶體的使用
電腦執行時,電腦的主主記憶體按照被使用情況可分類為:[8]
- 可利用(Available)實體記憶體:可立即分配給程式使用的主記憶體。包括:
- 空閒(Free)實體記憶體:完全未被使用,內容為全 0
- 快取(Cached)實體記憶體
- 備用(standby)實體記憶體:作業系統預先把可能要用到的硬碟數據載入所佔用的主記憶體,還沒被用戶行程所使用,因此可隨時丟棄從新初始化為 0
- 已修改(modified)實體記憶體:已被修改過的 caching 用途的主記憶體,可在任意時刻寫回硬碟檔案(不是分頁檔案)然後被重用。由於硬碟 I/O,已修改(modified)實體記憶體不能計入空閒(Free)實體記憶體
- 被使用(used)實體記憶體:已經被行程使用的主記憶體
- 用戶行程使用的實體記憶體,即工作集(Working set)。Working Set 包含了可能被其他程式共用的主記憶體,例如DLL。所以所有行程的Working Set加起來有可能大於實際的被使用(used)的實體記憶體。Private Bytes 是只被本行程提交(commit)的虛擬地址空間,不包括其他行程共用的主記憶體。Virtual Byte 是整個行程佔用的全部虛擬地址空間。32 位 Windows 用戶模式下,行程最大可以使用 2GiB,可以通過修改 Boot.ini 檔案擴充為最大可以使用到 3GiB。工作管理員中的 Memory Usage 對應的是 working set,VM Size 對應的是 private bytes
- 核心行程使用的實體記憶體
- 分頁的核心行程使用的實體記憶體:可以交換到分頁檔案中,從而可被回收的實體記憶體
- 未分頁(Non paged)的核心行程使用的實體記憶體:不能交換到分頁檔案的主記憶體,總是要保留在實體記憶體中
- 硬件保留(hardware reserved)的實體記憶體:被 CPU 中的 GPU 核心或者其他外設硬件佔用的,不由作業系統使用的主記憶體
記憶體牆
「記憶體牆」是指CPU與CPU晶片外的記憶體之間的速度差距越來越大,其中一個造成差距的重要原因是晶片邊界之外的通訊頻寬有限,又稱為頻寬牆。從1986年到2000年,CPU所提升速度的年變率達55%,記憶體速度卻只提高了10%。由此趨勢可預料記憶體延遲將成為電腦效能的巨大瓶頸。[9]
CPU速度提升明顯放緩,一部分原因是由於重大的物理屏障,一部分原因則是目前的CPU設計已經在某種意義上撞上了記憶體牆。英特爾在一份2005年的檔案中總結了這些原因。[10]
首先,隨着晶片幾何尺寸縮小及時鐘頻率提高,電晶體漏電流會增加,導致超額的功耗和熱量...其次,因為記憶體的存取時間無法跟上時鐘頻率的成長,導致更高的時脈速度所帶來的優勢被記憶體的延遲抵消。第三,對於某些應用,隨着處理器速度的提高(由於所謂的馮·諾依曼瓶頸),傳統的序列架構變得越來越低效,進一步削弱了頻率提高可帶來的收益。此外,部分原因是由於固態元件內產生電感的方法受到限制,訊號傳輸中的電阻-電容延遲會隨着特徵尺寸的縮小而增加,這就額外帶來了頻率增加也無法解決的瓶頸。
相關條目
註釋
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.