1. 存儲器的定義與作用
存儲器是計算機系統中用于存儲程序、數據和中間結果的硬件設備,是計算機五大核心部件之一。
- 核心功能:
- 提供數據的 臨時或永久存儲 能力。
- 支持CPU按需快速存取指令和數據,是程序運行的物理基礎。
2. 存儲器的分類
(1) 按存取方式分類
- 隨機存取存儲器(RAM):
- 可讀可寫,斷電后數據丟失(易失性)。
- 包括 DRAM(動態RAM,如DDR內存) 和 SRAM(靜態RAM,如CPU緩存)。
- 只讀存儲器(ROM):
- 通常只讀,斷電后數據保留(非易失性)。
- 包括 Mask ROM、PROM、EPROM、EEPROM 及現代 Flash存儲器(如SSD)。
(2) 按用途分類
- 主存儲器(內存):
- 直接與CPU交互,存儲當前運行的程序和數據(如DRAM)。
- 輔助存儲器(外存):
- 長期保存數據,速度較慢(如硬盤、SSD、光盤)。
- 高速緩存(Cache):
- 位于CPU內部或附近,加速CPU對高頻數據的訪問(如L1/L2/L3緩存)。
(3) 按存儲介質分類
- 半導體存儲器:RAM、ROM、Flash。
- 磁存儲器:硬盤、磁帶。
- 光存儲器:CD、DVD、藍光。
3. 存儲器的層次結構
計算機系統采用 多級存儲體系,平衡速度、容量與成本:
- 寄存器:位于CPU內部,速度最快,容量最小(納秒級訪問)。
- 高速緩存(Cache):SRAM實現,容量KBMB級,訪問時間110ns。
- 主存(內存):DRAM實現,容量GB級,訪問時間10~100ns。
- 輔存(外存):硬盤/SSD,容量TB級,訪問時間ms級。
設計目標:通過層次化設計,使系統整體接近最高層速度,同時擁有最底層容量。
4. 主存儲器的組成與工作原理
(1) 主存的基本結構
- 存儲體:由存儲單元(如1字節)組成的矩陣,每個單元有唯一地址。
- 地址寄存器(MAR):存放CPU訪問的存儲單元地址。
- 數據寄存器(MDR):暫存從存儲單元讀取或寫入的數據。
- 讀寫控制電路:根據CPU命令控制數據的輸入/輸出。
(2) 讀寫過程
- 讀操作:
- CPU將地址送入MAR。
- 控制電路選中對應存儲單元,數據傳入MDR。
- CPU從MDR讀取數據。
- 寫操作:
- CPU將地址送入MAR,數據送入MDR。
- 控制電路將MDR數據寫入對應存儲單元。
5. 存儲器的性能指標
- 容量:可存儲的二進制位數(如8GB內存)。
- 存取時間(Access Time):從發出讀寫命令到完成操作的時間。
- 存取周期(Cycle Time):連續兩次獨立存取操作的最小間隔時間(存取時間+恢復時間)。
- 帶寬(Bandwidth):單位時間傳輸的數據量(如DDR4-3200帶寬25.6GB/s)。
- 功耗:動態功耗(讀寫時)與靜態功耗(待機時)。
6. 高速緩存(Cache)的工作原理
(1) 緩存的作用
利用 局部性原理(時間局部性+空間局部性),將CPU近期可能訪問的數據從主存復制到緩存,減少訪問主存次數。
(2) 緩存映射方式
- 直接映射:主存塊固定映射到緩存的某一位置,沖突率高但實現簡單。
- 全相聯映射:主存塊可映射到緩存任意位置,沖突率低但查找復雜。
- 組相聯映射:緩存分組,主存塊映射到特定組內的任意行(如4路組相聯)。
(3) 替換算法
- 先進先出(FIFO):替換最早進入的塊。
- 最近最少使用(LRU):替換最久未被訪問的塊。
- 隨機替換(Random):隨機選擇替換目標。
7. 輔助存儲器的典型技術
- 機械硬盤(HDD):
- 通過磁頭在旋轉磁盤上讀寫數據。
- 容量大、成本低,但速度慢(尋道時間+旋轉延遲)。
- 固態硬盤(SSD):
- 基于NAND Flash芯片,無機械部件,速度快、抗震動。
- 壽命受限于擦寫次數(P/E Cycle),需磨損均衡算法。
- 光盤:
- 利用激光讀寫(如CD-ROM、DVD-RW),適合長期存檔。
8. 新型存儲器技術
- 3D NAND Flash:通過堆疊存儲單元提升容量(如176層堆疊技術)。
- 相變存儲器(PCM):利用材料相變特性實現高速非易失存儲。
- 磁性存儲器(MRAM):結合磁阻效應,兼具高速與非易失性。
- 存算一體(In-Memory Computing):在存儲器內部直接完成計算,減少數據搬運。
9. 存儲器的應用場景
- 內存數據庫(如Redis):依賴大容量DRAM加速數據查詢。
- AI訓練:GPU顯存(如HBM2)提供高帶寬支持大規模矩陣運算。
- 嵌入式系統:NOR Flash存儲啟動代碼,SRAM作運行內存。
- 數據中心:NVMe SSD加速云存儲,磁帶庫用于冷數據備份。