计算机组成原理(11) 第二章 - 存储系统的基本概念
1. 存储器的层次化结构
存储器的层次化结构是计算机系统为平衡速度、容量、成本三者矛盾而设计的核心架构,通过将不同性能的存储器按层次排列,实现 “高速访问常用数据、大容量存储全部数据、低成本满足整体需求” 的目标
计算机中,数据的访问存在局部性原理:
- 时间局部性:最近访问过的数据,短期内可能再次被访问(如循环变量)。
- 空间局部性:访问某一数据时,其相邻数据可能被访问(如数组遍历)
基于这一原理,存储器按 “速度由快到慢、容量由小到大、成本由高到低” 的顺序分层,数据按访问频率在各层间动态迁移:高频访问数据存于高速存储器,低频数据存于低速大容量存储器。
1. 存储器层次化结构的组成(从顶层到底层)
现代计算机的存储器层次通常分为 6 层,从上到下速度递减、容量递增、成本递减,各层通过硬件或操作系统协同工作:
层次 | 典型技术 / 设备 | 速度(访问延迟) | 容量范围 | 成本(单位容量) | 核心作用 |
---|---|---|---|---|---|
寄存器 | CPU 内置寄存器 | 0.1-1 纳秒(ns) | 几十 - 几百字节 | 最高 | 暂存 CPU 正在处理的指令和数据 |
Cache(高速缓存) | L1/L2/L3 缓存 | 1-10 纳秒 | 几 KB - 几十 MB | 高 | 缓存 CPU 近期可能访问的数据 |
主存储器(内存) | DRAM(动态内存) | 50-100 纳秒 | 几 GB - 几百 GB | 中 | 运行当前程序和临时数据 |
辅存(外存) | SSD(固态硬盘) | 10-100 微秒(μs) | 几百 GB - 几 TB | 低 | 长期存储程序和数据(断电保留) |
大容量存储 | HDD(机械硬盘) | 1-10 毫秒(ms) | 几 TB - 几十 TB | 更低 | 海量数据归档(如服务器存储) |
离线存储 | 光盘、磁带、云存储 | 秒级或更长 | 无限扩展(理论) | 最低 | 数据备份、长期归档 |
存储器的层次化结构是计算机系统的 “存储金字塔”,从顶层的寄存器到底层的离线存储,通过速度、容量、成本的梯度分配,结合局部性原理实现高效数据访问。这一结构不仅解决了 “高速存储成本高” 与 “大容量存储速度慢” 的矛盾,更是现代计算机高性能运行的核心保障。理解各层次的特性和协作机制,对优化程序性能、设计存储系统至关重要。
2. 存储器的分类
存储器是计算机系统中用于存储程序和数据的核心部件,根据不同的分类标准可划分为多种类型
2.1 按介质分类
1. 半导体存储器(Semiconductor Memory)
基于半导体电路(晶体管、电容等)存储数据,是现代计算机的核心存储类型,特点是速度快、体积小、无机械部件。
DRAM(动态随机存取存储器):
- 原理:通过电容存储电荷表示数据(0/1),需定期刷新(每 64ms 左右)以维持电荷,否则数据丢失。
- 特点:结构简单、密度高(单位面积存储量大)、成本低,但速度较 SRAM 慢,功耗较高。
- 应用:计算机主存(内存)的核心,如 DDR4、DDR5 内存。
SRAM(静态随机存取存储器):
- 原理:通过触发器电路(由晶体管组成)存储数据,无需刷新,数据可稳定保持。
- 特点:速度快(访问延迟约 1-10ns)、功耗低(无刷新能耗),但结构复杂、密度低、成本高。
- 应用:CPU 高速缓存(L1/L2/L3 Cache)、嵌入式系统的高速缓存。
ROM(只读存储器) 及衍生类型:
- 原理:通过半导体电路的物理状态(如熔丝、浮栅)永久或半永久存储数据,出厂后或编程后内容固定(部分可擦写)。
- 细分类型:
- Mask ROM(掩膜 ROM):数据由厂商在生产时写入,不可修改,适合批量固定程序(如早期游戏机卡带)。
- PROM(可编程 ROM):用户可通过专用设备一次性写入数据,写入后不可擦除(熔丝熔断原理),用于定制化程序。
- EPROM(可擦除可编程 ROM):通过紫外线照射擦除数据,可多次编程,但擦除耗时且需拆卸芯片,已逐渐淘汰。
- EEPROM(电可擦除可编程 ROM):通过电信号擦除和编程,可在线擦写(无需拆卸),但擦写速度慢、寿命有限(约 10 万次)。
- Flash Memory(闪存):基于 EEPROM 原理改进,以 “块” 为单位擦写,速度更快、密度更高,分为 NAND Flash 和 NOR Flash:
- NAND Flash:容量大、成本低、写入速度快,适合大容量存储(如 SSD、U 盘、存储卡)。
- NOR Flash:随机读取速度快,支持按字节读取,适合存储程序代码(如嵌入式系统的固件)。
2. 磁表面存储器(Magnetic Surface Memory)
通过磁性材料的磁化状态存储数据,特点是容量大、成本低、可长期保存,但速度较慢,依赖机械部件。
HDD(机械硬盘):
- 结构:由旋转的磁性磁盘(盘片)、移动磁头臂和磁头组成,通过磁头读写盘片上的磁道数据。
- 特点:容量大(TB 级)、成本低,但有机械延迟(寻道时间、旋转延迟),抗震性差,速度远低于半导体存储器。
- 应用:个人电脑、服务器的大容量存储,数据归档。
磁带(Magnetic Tape):
- 原理:通过磁带表面的磁粉磁化存储数据,需顺序读写(类似录音带)。
- 特点:容量极大(单盘磁带可达数百 TB)、成本极低,但访问速度极慢(顺序读取为主),适合长期离线备份。
- 应用:数据中心的灾备存储、历史数据归档。
3. 光存储器(Optical Memory)
通过激光照射光盘表面的凹凸结构(或相变材料)存储数据,依赖光学原理读写。
- CD/DVD/Blu-ray(蓝光光盘):
- 原理:光盘表面的 “坑” 和 “岸”(凹凸结构)反射激光的强度不同,对应数据 0/1;蓝光光盘使用更短波长激光,容量更大。
- 特点:成本低、易携带、数据可长期保存(十年以上),但速度慢、容量有限(蓝光光盘单张最大约 100GB),读写依赖光驱。
- 应用:影音介质、软件分发、个人数据备份(逐渐被 U 盘和云存储替代)。
2.2 按访问方式分类
根据数据的读写方式,存储器可分为随机存取、顺序存取、直接存取三类:
1. 随机存取存储器(Random Access Memory, RAM)
- 特点:可按任意地址直接访问任意存储单元,读写时间与地址位置无关。
- 典型:DRAM、SRAM、部分 ROM(如 NOR Flash),主存和 Cache 均属于此类。
2. 顺序存取存储器(Sequential Access Memory)
- 特点:数据需按顺序读写,访问时间与数据位置相关(需从头开始查找)。
- 典型:磁带(需卷动磁带找到目标位置)、早期的磁鼓存储器。
3. 直接存取存储器(Direct Access Memory)
- 特点:结合随机存取和顺序存取的特点,先通过随机方式定位 “块”,再在块内顺序读写。
- 典型:HDD(通过磁头移动定位磁道和扇区,再顺序读取扇区内数据)、SSD(按块寻址,块内顺序读写)
3.存储器的性能指标
存储器的性能指标是衡量其工作效率、可靠性和适用性的关键参数,不同类型的存储器(如 Cache、内存、硬盘等)在设计和应用中会重点关注不同指标
一、速度指标
速度是存储器最核心的性能指标之一,直接影响计算机系统的响应速度和运行效率,主要包括以下参数:
1. 存取时间(Access Time)
- 定义:从处理器发出读写请求到存储器完成数据读写操作并返回结果的总时间。
- 单位:纳秒(ns,1ns=10⁻⁹秒)或时钟周期(如 CPU 的主频周期)。
- 说明:
- 对内存(RAM) 而言,存取时间通常在几 ns 到几十 ns(如 DDR5 内存的存取时间约 10-20ns);
- 对硬盘(HDD/SSD) 而言,机械硬盘的存取时间主要包括寻道时间(约 5-10ms)和旋转延迟(约 2-6ms),总时间约 10-20ms;固态硬盘(SSD)无机械结构,存取时间可低至几十 μs(微秒)。
2. 存储周期(Cycle Time)
- 定义:连续两次对存储器进行读写操作所需的最小时间间隔,通常略大于存取时间(需考虑存储器的恢复时间)。
- 意义:反映存储器的连续工作能力,对高频访问场景(如 CPU 与 Cache 交互)至关重要。
3. 带宽(Bandwidth)
- 定义:单位时间内存储器能传输的数据量,也称 “吞吐量”。
- 单位:字节 / 秒(B/s)、兆字节 / 秒(MB/s)、吉字节 / 秒(GB/s)等。
- 计算方式: 带宽 = 数据宽度(位) × 时钟频率(Hz) / 8(转换为字节)。 例如,DDR4 内存位宽 64 位,频率 3200MHz,理论带宽为 \(64 \times 3200 \times 10^6 / 8 = 25.6 \, \text{GB/s}\)。
- 说明:带宽决定了存储器与 CPU 或其他设备之间的数据传输效率,高带宽对大型数据处理(如视频渲染、科学计算)至关重要。
二、容量指标
容量指存储器能存储的数据总量,直接影响系统可运行程序的大小和数据处理能力。
1. 存储容量
- 定义:存储器可容纳的二进制位数(bit)或字节数(Byte,1Byte=8bit)。
- 单位:
- 基础单位:字节(B)、千字节(KB,1KB=1024B)、兆字节(MB,1MB=1024KB)、吉字节(GB,1GB=1024MB)、太字节(TB,1TB=1024GB)等。
- 对海量存储场景(如数据中心),还会用到拍字节(PB)、艾字节(EB)等更大单位。
- 分类:
- 物理容量:存储器实际硬件能提供的最大容量(如 8GB DDR5 内存、1TB SSD);
- 逻辑容量:操作系统或用户可见的容量(可能因格式化、分区等略小于物理容量)。
存储器的性能指标需结合具体应用场景综合评估:
- 对 CPU 而言,Cache 和内存的速度、带宽是关键;
- 对个人电脑 / 手机,外存的容量、速度(如 SSD 的随机读写) 和功耗更受关注;
- 对服务器 / 数据中心,可靠性(MTBF、ECC)、容量、能效比 更为重要。
这些指标共同推动着存储器技术的发展(如从 DDR4 到 DDR5,从 SATA SSD 到 NVMe SSD),以平衡速度、容量、成本和可靠性。