計算機存儲器分類和層次結構詳解

存儲器是計算機系統的核心部件之一,其核心功能是存儲程序(指令)和數據,是馮·諾依曼體系結構“存儲程序”概念的物質基礎。它直接關系到計算機系統的性能、容量和成本。

存儲器核心內容總覽表

分類維度存儲器層級技術實現速度容量成本易失性刷新需求典型應用核心作用
寄存器CPU內部觸發器0.1-0.3 ns幾十~幾百字節極高易失CPU指令操作數存儲當前運算數據
高速緩存L1 CacheSRAM0.5-2 ns32-128 KB/核易失緩存最活躍指令/數據減少CPU訪問主存延遲
L2 Cache (L2D/L2I)SRAM3-10 ns256KB-2MB/核較高易失二級指令/數據緩存補充L1未命中數據
L3 CacheSRAM10-20 ns4-64MB/芯片中高易失多核共享緩存降低跨核訪問延遲
主存儲器內存DRAM (DDR系列)50-100 ns8-128 GB中等易失需刷新運行程序臨時存儲CPU直接操作的數據池
輔助存儲器本地存儲NAND Flash (SSD)50-150 μs256GB-8TB低($/GB)非易失操作系統/文件存儲持久化數據存儲
機械存儲HDD (磁記錄)5-15 ms1-20TB極低($/GB)非易失大容量冷數據存儲低成本海量存儲
固件/只讀存儲BIOS/UEFINOR Flash/EEPROM50-100 ns16-128 MB非易失系統啟動程序初始化硬件加載OS

存儲層次性能對比(典型值)

指標寄存器L1 CacheDDR5內存NVMe SSDHDD
訪問延遲0.3 ns1 ns70 ns100 μs10 ms
傳輸帶寬>500 GB/s300 GB/s50 GB/s7 GB/s0.2 GB/s
容量范圍<1 KB32-64 KB16-128 GB512GB-4TB1-20 TB
成本($/GB)N/A$100+$3-5$0.1-0.3$0.02-0.05

核心設計思想

  1. 層次化結構
    寄存器→L1→L2→L3→DRAM→SSD→HDD
    ↑速度遞減 · 容量遞增 · 成本遞減↑

  2. 局部性原理支撐

    • 時間局部性:近期訪問數據很可能被重用
    • 空間局部性:相鄰地址數據可能被連續訪問

一、 存儲器的基本概念與作用

  1. 定義: 用于存儲二進制信息的物理設備或部件。
  2. 核心作用:
    • 存儲程序: 存放等待執行的指令序列。
    • 存儲數據: 存放原始數據、中間計算結果和最終結果。
    • 信息交換中心: CPU、輸入/輸出設備都需要通過存儲器交換信息(在現代系統中,通常通過Cache和內存交換)。
  3. 核心指標:
    • 存儲容量: 存儲器能存儲的二進制信息總量。基本單位是位(bit),常用單位有字節(Byte, B)、千字節(KB)、兆字節(MB)、吉字節(GB)、太字節(TB)等。
    • 存取時間: 從存儲器接收讀/寫命令到完成讀/寫操作所需的時間。通常用Ta表示。反映速度
    • 存儲周期: 連續兩次獨立的存儲器操作(如兩次讀)所需的最小時間間隔。通常用Tm表示,一般Tm > Ta(因為需要恢復/穩定時間)。反映帶寬潛力
    • 可靠性: 存儲器在規定條件下無故障工作的能力。常用平均無故障時間衡量。
    • 功耗: 存儲器工作時消耗的功率。
    • 價格/成本: 每位存儲單元的成本。
    • 非易失性: 斷電后信息是否丟失的特性。

二、 存儲器的分類

  1. 按在計算機系統中的地位/層次分類 (最重要):

    • 高速緩沖存儲器: 位于CPU和主存之間。容量最小(KB~MB級),速度最快(接近CPU速度),價格最高。由SRAM構成。主要作用是解決CPU和主存速度不匹配問題,存放當前最活躍的程序和數據副本。
    • 主存儲器: 簡稱主存或內存。計算機運行時存放當前正在執行的程序和數據的部件。CPU可直接訪問。容量較大(GB級),速度較快(納秒級),價格適中。主要由DRAM構成。
    • 輔助存儲器: 簡稱輔存或外存。如硬盤(HDD)、固態硬盤(SSD)、光盤、磁帶等。容量極大(TB~PB級),速度慢(毫秒級),價格低廉(單位容量成本最低),非易失。用于存放大量暫時不用的程序和數據。CPU不能直接訪問輔存,需通過I/O接口調入主存。
  2. 按存取方式分類:

    • 隨機存取存儲器: 存儲單元的內容可按地址隨機訪問,且訪問時間與存儲單元的物理位置無關。如:RAM(主存)、ROM、Cache
    • 順序存取存儲器: 信息按順序存放和讀取,訪問時間取決于信息所在位置。如:磁帶
    • 直接存取存儲器: 存取信息時通常分兩步:首先直接指向一個較小的區域(如磁道),然后在該區域內順序查找或等待。如:磁盤(HDD)、光盤。雖然名字有“直接”,但其存取時間與位置有關,并非嚴格隨機。
    • 相聯存取存儲器: 不是按地址而是按內容的某些特征(關鍵字)進行訪問。如:TLB(快表)
  3. 按存儲介質分類:

    • 半導體存儲器: 用半導體集成電路工藝制成。如:SRAM, DRAM, ROM, Flash Memory。速度快,集成度高,功耗相對低。是主存和Cache的基礎。
    • 磁表面存儲器: 在金屬或塑料基體表面涂覆磁性材料層存儲信息。如:硬盤(HDD)、磁帶。非易失,容量大,成本低,速度慢。
    • 光存儲器: 利用激光技術存儲和讀取信息。如:CD-ROM, DVD, Blu-ray。非易失,容量較大,可移動,速度慢。
    • 新型存儲器: 如相變存儲器、阻變存儲器、磁阻存儲器等,試圖結合DRAM的速度、SRAM的易用性和Flash的非易失性。
  4. 按信息的可更改性分類:

    • 讀寫存儲器: 既可讀也可寫。如:RAM(SRAM, DRAM)、部分Flash Memory
    • 只讀存儲器: 信息固化寫入后,在正常工作狀態下只能讀不能寫。如:MROM, PROM, EPROM, EEPROM, Flash ROM(用于固件/BIOS)。通常非易失。
  5. 按信息的易失性分類:

    • 易失性存儲器: 斷電后信息丟失。如:SRAM, DRAM(主存、Cache)。
    • 非易失性存儲器: 斷電后信息仍能保持。如:ROM、Flash Memory、磁盤、光盤、磁帶

三、 存儲系統的層次結構

現代計算機采用多級存儲體系來解決存儲器速度、容量、成本之間的矛盾。核心思想是:

  1. 層次化: 將不同速度、容量、成本的存儲器組織成金字塔結構。
    • 頂層: 寄存器 (CPU內部) - 最快最小最貴。
    • 上層: Cache (SRAM) - 很快較小較貴。
    • 中層: 主存儲器 (DRAM) - 較快較大較便宜。
    • 底層: 輔助存儲器 (HDD/SSD/等) - 慢大便宜,非易失。
  2. 局部性原理: 程序訪問存儲器在時間和空間上表現出局部性。
    • 時間局部性: 剛被訪問過的單元很可能在不久的將來再次被訪問。
    • 空間局部性: 剛被訪問單元的鄰近單元很可能在不久的將來被訪問。
  3. 工作過程: CPU首先訪問最快的Cache。若所需數據在Cache中(命中),則快速獲取。若不在(未命中),則訪問主存獲取數據,同時將該數據及其附近數據調入Cache以備后用。若所需數據不在主存中,則從輔存調入主存。
  4. 目標: 讓CPU訪問存儲器的平均速度接近Cache的速度,而平均成本接近輔存的成本。

四、 主存儲器詳解

主存是存儲層次的核心,CPU直接與之交互(通過總線)。

  1. 基本組成:

    • 存儲體(MB): 由大量存儲單元構成,每個單元存放一串二進制位(字),每個單元有一個唯一的地址。存儲體是存儲信息的實體。
    • 地址寄存器(MAR): 存放CPU要訪問的存儲單元地址。位數決定了可尋址空間(如32位MAR -> 4GB地址空間)。
    • 地址譯碼器: 將MAR中的地址碼轉換成對應存儲單元的字選線信號。
    • 數據寄存器(MDR): 暫存從存儲體讀出或將要寫入存儲體的數據。位數與存儲單元字長相同(或成倍數關系)。
    • 讀寫控制電路: 根據CPU發來的讀/寫命令,控制存儲器的讀寫操作。
    • 時序控制電路: 產生存儲器操作所需的各種時序信號。
  2. 主存的主要類型 (RAM):

    • 靜態隨機存取存儲器:
      • 原理: 基于雙穩態觸發器(通常是6個MOS管構成)存儲信息。只要供電,狀態就能保持。
      • 特點: 速度快(存取時間短),接口簡單(不需要刷新),功耗較高(比DRAM),集成度較低(單元面積大),成本高,易失
      • 應用: 主要用于高速緩存。
    • 動態隨機存取存儲器:
      • 原理: 利用電容上的電荷存儲信息(通常1個MOS管+1個電容構成一個單元)。電容電荷會泄漏,需要定期刷新
      • 特點: 速度比SRAM慢,需要復雜的刷新電路,功耗較低(待機時),集成度高(單元面積小),成本低(單位容量),易失
      • 應用: 構成計算機的主內存。常見類型:SDRAM, DDR SDRAM (DDR, DDR2, DDR3, DDR4, DDR5)。DDR技術通過時鐘上下沿傳輸數據,成倍提高了數據傳輸率。
    • 只讀存儲器:
      • 掩模ROM: 信息在生產時固化,不可更改。
      • PROM: 用戶可編程一次,之后不可更改。
      • EPROM: 紫外光擦除,電編程。可多次擦寫。
      • EEPROM: 電擦除電編程。可逐字節擦寫,但速度慢。
      • Flash Memory: 塊擦除型EEPROM。擦寫速度快于EEPROM,成本更低,集成度高。廣泛應用于U盤、SSD、BIOS芯片等。非易失
      • 特點: 非易失性,通常只能讀(或寫速度遠慢于讀),用于存儲固定程序和數據(如BIOS、引導程序、固件)。
  3. 主存儲器與CPU的連接:

    • 總線連接: 通過系統總線(地址總線、數據總線、控制總線)連接。
    • 地址線連接: CPU的地址總線連接到存儲芯片的地址引腳。地址總線的寬度決定最大尋址范圍。
    • 數據線連接: CPU的數據總線連接到存儲芯片的數據引腳。數據總線的寬度決定每次訪問的數據位數。
    • 控制線連接: CPU的讀/寫控制線連接到存儲芯片的讀/寫控制引腳(如/WE)。片選信號(/CS/CE)通常由高位地址經譯碼器產生,用于選擇特定的存儲芯片或芯片組。
    • 存儲容量的擴展:
      • 位擴展: 增加數據位數(字長)。多片存儲芯片的數據線分別連接到數據總線的不同位上,地址線和控制線并聯。
      • 字擴展: 增加存儲單元數量(字數)。多片存儲芯片的數據線都連接到數據總線上(需要三態控制),地址線并聯,但片選信號由不同的地址譯碼輸出控制。
      • 字位同時擴展: 同時增加字數和字長。結合位擴展和字擴展的方法。
  4. 提高主存性能的技術:

    • 多體交叉存儲器:
      • 原理: 將主存分成多個獨立編址、能并行操作的存儲體(模塊)。
      • 編址方式:
        • 高位交叉編址(順序方式): 高位地址用于選擇存儲體。主要用于擴大容量。訪問連續地址時,實際在同一存儲體上串行進行。
        • 低位交叉編址(交叉方式): 低位地址用于選擇存儲體。連續地址分布在相鄰的不同存儲體上。
      • 作用(低位交叉): 當CPU連續訪問主存時,可以在前一個存儲體存取周期結束前啟動下一個存儲體的訪問,形成流水線操作,提高存儲器的帶寬
    • 高速緩沖存儲器: 如前所述,是解決CPU-主存速度差異最有效的方法。

五、 輔助存儲器

  1. 作用: 提供海量、廉價、非易失的存儲空間。
  2. 主要類型:
    • 磁盤存儲器:
      • 組成: 盤片(表面磁性涂層)、磁頭、讀寫電路、驅動機構(主軸電機、磁頭臂驅動電機)、接口。
      • 原理: 利用磁頭在高速旋轉的盤片表面磁化區域來記錄信息(磁疇方向代表0/1)。信息按磁道和扇區組織。
      • 特點: 容量大,成本低(單位容量),非易失,可重復讀寫,訪問速度慢(尋道時間+旋轉延遲+傳輸時間),有機械運動部件(易損、功耗、噪音)。
    • 固態硬盤:
      • 原理: 基于NAND Flash存儲器芯片,通過電子方式存儲信息。
      • 特點: 速度快(尤其是隨機訪問,無機械延遲),無機械部件(抗震、靜音、低功耗),非易失,但單位容量成本高于HDD,存在寫入次數限制(需磨損均衡算法管理)。
    • 光盤存儲器: 利用激光在盤片表面燒蝕凹坑或改變相變材料狀態來記錄信息。如CD-ROM(只讀)、CD-R(一次寫)、CD-RW(可重寫)、DVD、BD。容量較大,可移動,成本低,速度慢,主要用于數據分發和備份。
    • 磁帶存儲器: 順序存取,容量巨大(LTO磁帶),成本極低(單位容量),速度很慢,主要用于海量數據的長期歸檔備份。

六、 存儲器的主要技術指標總結與平衡

  • 速度: 存取時間(Ta)、存儲周期?、數據傳輸率(帶寬 = 數據總線寬度 / Tm)。
  • 容量: 總存儲位數或字節數。
  • 價格/位: 每位存儲單元的成本。
  • 功耗: 工作功耗和待機功耗。
  • 可靠性: MTBF。
  • 非易失性: 是否需要持續供電保存數據。

核心矛盾: 速度快的存儲器成本高、容量小;成本低、容量大的存儲器速度慢。存儲層次結構局部性原理是解決這一矛盾的關鍵。

七、 發展趨勢

  1. 新型非易失存儲器:相變存儲器、阻變存儲器、磁阻存儲器等,致力于突破SRAM/DRAM/Flash的局限,實現更高速度、更低功耗、更長壽命、更高密度的非易失存儲。
  2. 3D堆疊技術: 將存儲單元在垂直方向堆疊多層,顯著提高單位面積上的存儲密度(如3D NAND Flash, 3D DRAM)。
  3. 存儲類內存: 試圖打破傳統存儲層次界限,讓具有非易失性、接近DRAM速度、字節尋址能力的新型存儲器(如PCM, ReRAM)直接連接到內存總線,既能充當高速主存又能持久化數據。
  4. 近存計算/存內計算: 探索在存儲器內部或其附近進行數據處理,減少數據在存儲器和處理器之間的搬運開銷,提升能效和性能,尤其適用于大數據和AI場景。
  5. 高速接口技術: 如GDDR(顯存)、HBM(高帶寬內存)用于滿足GPU和AI加速器對極高內存帶寬的需求。

總結

存儲器是計算機系統不可或缺的“記憶”部件,其性能直接影響整體系統性能。理解存儲器的分類、層次結構(特別是Cache-主存-輔存體系)、工作原理(尤其是SRAM、DRAM、Flash)、技術指標及其相互制約關系,是掌握計算機組成原理的關鍵。現代計算機通過精妙的多級存儲層次設計和局部性原理的利用,在速度、容量和成本之間取得了良好的平衡。存儲技術仍在快速發展,新型存儲介質和架構不斷涌現,將持續推動計算能力的提升和應用模式的變革。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93598.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93598.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93598.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通過rss訂閱小紅書,程序員將小紅書同步到自己的github主頁

title: 通過rss訂閱小紅書&#xff0c;程序員將小紅書同步到自己的github主頁 tags: 個人成長 categories:雜談最近在做一些新的嘗試&#xff0c;把文本的內容轉化為漫畫和圖片&#xff0c;方便大眾閱讀&#xff0c;恰好小紅書很適合分發這些內容&#xff0c;于是我開通了小紅書…

麒麟KylinOS V10-SP3 安裝FastGPT

1. 操作系統環境CPU&#xff1a;20核 Xeon(R) Platinum 8457C 內存&#xff1a;64GB GPU&#xff1a;4090 操作系統&#xff1a;KylinOS-V10-SP32. 安裝docker、docker-compose、fastgpt下載安裝docker、docker-compose1. 下載docker docker 下載地址&#xff1a; https://do…

前端/在vscode中創建Vue3項目

Contenthtml input元素添加css樣式使用js添加交互按鈕點擊提示輸入框字符計數使用 npm 來管理項目包安裝 Node.js初始化項目安裝依賴包創建一個基于 Vite 的 Vue 項目創建項目進入項目目錄安裝依賴調用代碼格式化工具啟動開發服務器在瀏覽器中訪問html input元素 <input ty…

HiSmartPerf使用WIFI方式連接Android機顯示當前設備0.0.0.0無法ping通!設備和電腦連接同一網絡,將設備保持亮屏重新嘗試

在使用HiSmartPerf使用WIFI方式連接Android機時&#xff0c;如果出現無法ping通0.0.0.0的情況&#xff0c;可以嘗試以下步驟解決問題&#xff1a;問了一下AI&#xff0c;給出的解答如下&#xff1a; 檢查網絡連接 &#xff1a;確保設備和電腦連接到同一局域網的Wi-Fi。可以在手…

SpringWeb是什么東西?

SpringWeb是個什么東西&#xff1f;SpringWeb是一個Java開發Web項目時的Web層框架。所謂Web層&#xff0c;就是直接和用戶打交道的框架&#xff0c;用戶(User)也就是顧客&#xff0c;顧客就是上帝&#xff0c;我們說是Web項目&#xff0c;通常也就是說B/S架構的項目&#xff0c…

docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理

docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理 一、環境介紹 二、基礎環境安裝 1、優化系統參數 2、安裝docker 3、創建容器網絡 4、安裝測試容器(可選) 三、安裝nginx 1、拉取鏡像 2、創建映射目錄 3、準備默認配置文件 4、證書文件準備 5、啟動nginx容器…

自動駕駛中安全相關機器學習功能的可靠性定義方法

摘要當前標準無法涵蓋高自動化駕駛中基于機器學習功能的安全需求。由于神經網絡的不透明性&#xff0c;一些自動駕駛功能無法按照 V 模型進行開發。這些功能需要對標準進行擴展。本文聚焦這一空白&#xff0c;為這類功能定義了功能可靠性&#xff0c;以幫助未來的標準控制基于機…

css實現圓角+邊框漸變+背景半透明

ui小姐姐經常搞一些花里胡哨的東西&#xff0c;圓角邊框漸變背景半透明&#xff0c;雖然每個都可以弄&#xff0c;但是合在一起真的不好弄&#xff0c;主要是因為通過border–image設置的邊框漸變&#xff0c;無法使用圓角&#xff0c;下面是自己搜索整理的一些可以的方案。 方…

tree組件(幾種不同分叉樹Vue3)

效果圖&#xff1a; 基礎樹組件&#xff08;本人博客里面有&#xff09; https://blog.csdn.net/xfy991127/article/details/140346861?spm1001.2014.3001.5501 下面是工作需求改造后 父組件 <template><div class"go-JJTree" id"tree-scroll&quo…

百度智能云x中科大腦:「城市智能體」如何讓城市更會思考

近日&#xff0c;2025中關村論壇系列活動——中關村人工智能與未來城市論壇在中關村國家自主創新示范區展示中心舉辦。論壇上&#xff0c;發布了應用范式創新升級成果、智能體產品、可信數據空間成果等。 中科大腦聯合百度智能云等伙伴共同打造并發布21個智能體產品&#xff0c…

在職老D滲透日記day16:sqli-labs靶場通關(第24關)二次注入 sqlmap自動注入沒跑出來。。。

5.24.2.sqlmap自動注入第一個&#xff1a;登錄頁面&#xff08;1&#xff09;pb抓取http頭POST /sqli-labs/Less-24/login.php HTTP/1.1 Host: 192.168.10.106 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0 Accept: text/ht…

Fanuc機器人EtherCAT通訊配置詳解

1、EtherCAT簡介EtherCAT&#xff0c;這一基于以太網的現場總線系統&#xff0c;以其開放架構和高速性能著稱。CAT代表的是控制自動化技術&#xff08;Control Automation Technology&#xff09;的縮寫&#xff0c;彰顯了其在工業自動化領域的核心地位。作為確定性的工業以太網…

超酷炫的Three.js示例

今天寫一個超級酷炫的Three.js示例&#xff0c;以下是文件源代碼&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-sca…

從零開始大模型之實現GPT模型

從零開始大模型之從頭實現GPT模型1.大語言模型整體架構2 大語言的Transformer模塊2.1 層歸一化2.2 GELU激活函數2.3 前饋神經網絡2.4 快捷連接3 附錄3.1 anacondapython環境搭建1.數據預處理&#xff1a;原始數據進行詞元化&#xff0c;以及通過&#xff0c;依據詞匯表生成ID編…

[1Prompt1Story] 滑動窗口機制 | 圖像生成管線 | VAE變分自編碼器 | UNet去噪神經網絡

鏈接&#xff1a;https://github.com/byliutao/1Prompt1Story 這個項目是一個基于單個提示生成一致文本到圖像的模型。它在ICLR 2025會議上獲得了聚焦論文的地位。該項目提供了生成一致圖像的代碼、Gradio演示代碼以及基準測試代碼。 主要功能點: 使用單個提示生成一致的文本…

【GitHub開源AI精選】Sitcom-Crafter:北航聯合港中文等高校打造的劇情驅動3D動作生成系統

系列篇章&#x1f4a5; No.文章1【GitHub開源AI精選】LLM 驅動的影視解說工具&#xff1a;Narrato AI 一站式高效創作實踐2【GitHub開源AI精選】德國比勒費爾德大學TryOffDiff——高保真服裝重建的虛擬試穿技術新突破3【GitHub開源AI精選】哈工大&#xff08;深圳&#xff09;…

智和信通全棧式運維平臺落地深圳某學院,賦能運維管理提質提效

深圳某學院校園內信息化設備眾多&#xff0c;網絡環境復雜&#xff0c;使得網絡管理工作面臨著諸多難題與挑戰。為保障校園網絡能夠穩定、高效地運行&#xff0c;學院亟須構建一套集高效、智能、協同于一體的網絡運維平臺。 對運維平臺的期望包括&#xff1a; 實現校園內教學…

開疆智能Ethernet轉ModbusTCP網關連接測聯無紙記錄儀配置案例

本案例是通過Ethernet轉ModbusTCP網關將記錄儀數據傳送到歐姆龍PLC&#xff0c;具體操作過程如下。歐姆龍PLC配置首先打開主站組態軟件“Sysmac Studio”并新建項目。設置PLC的IP地址點擊工具-Ethernet/IP連接設置&#xff0c;在彈出的選個框內選擇顯示EDS庫添加網關eds文件開始…

Eureka故障處理大匯總

#作者&#xff1a;Unstopabler 文章目錄1. Eureka 服務啟動故障處理1.1 端口占用導致啟動失敗1.2 配置文件錯誤導致啟動失敗1.3 依賴沖突與類加載錯誤2. 服務注冊與發現異常2.1 服務無法注冊到 Eureka2.2 Eureka 控制臺看不到注冊的服務2.3 服務注冊后立即被剔除3. Eureka 集群…

基于Transformer的機器翻譯——模型篇

1.模型結構 本案例整體采用transformer論文中提出的結構&#xff0c;部分設置做了調整。transformer網絡結構介紹可參考博客——入門級別的Transformer模型介紹&#xff0c;這里著重介紹其代碼實現。 模型的整體結構&#xff0c;包括詞嵌入層&#xff0c;位置編碼&#xff0c;…