计算机存储器分类和层次结构详解
存储器是计算机系统的核心部件之一,其核心功能是存储程序(指令)和数据,是冯·诺依曼体系结构“存储程序”概念的物质基础。它直接关系到计算机系统的性能、容量和成本。
存储器核心内容总览表
分类维度 | 存储器层级 | 技术实现 | 速度 | 容量 | 成本 | 易失性 | 刷新需求 | 典型应用 | 核心作用 |
---|---|---|---|---|---|---|---|---|---|
寄存器 | CPU内部 | 触发器 | 0.1-0.3 ns | 几十~几百字节 | 极高 | 易失 | 否 | CPU指令操作数 | 存储当前运算数据 |
高速缓存 | L1 Cache | SRAM | 0.5-2 ns | 32-128 KB/核 | 高 | 易失 | 否 | 缓存最活跃指令/数据 | 减少CPU访问主存延迟 |
L2 Cache (L2D/L2I) | SRAM | 3-10 ns | 256KB-2MB/核 | 较高 | 易失 | 否 | 二级指令/数据缓存 | 补充L1未命中数据 | |
L3 Cache | SRAM | 10-20 ns | 4-64MB/芯片 | 中高 | 易失 | 否 | 多核共享缓存 | 降低跨核访问延迟 | |
主存储器 | 内存 | DRAM (DDR系列) | 50-100 ns | 8-128 GB | 中等 | 易失 | 需刷新 | 运行程序临时存储 | CPU直接操作的数据池 |
辅助存储器 | 本地存储 | NAND Flash (SSD) | 50-150 μs | 256GB-8TB | 低($/GB) | 非易失 | 否 | 操作系统/文件存储 | 持久化数据存储 |
机械存储 | HDD (磁记录) | 5-15 ms | 1-20TB | 极低($/GB) | 非易失 | 否 | 大容量冷数据存储 | 低成本海量存储 | |
固件/只读存储 | BIOS/UEFI | NOR Flash/EEPROM | 50-100 ns | 16-128 MB | 中 | 非易失 | 否 | 系统启动程序 | 初始化硬件加载OS |
存储层次性能对比(典型值)
指标 | 寄存器 | L1 Cache | DDR5内存 | NVMe SSD | HDD |
---|---|---|---|---|---|
访问延迟 | 0.3 ns | 1 ns | 70 ns | 100 μs | 10 ms |
传输带宽 | >500 GB/s | 300 GB/s | 50 GB/s | 7 GB/s | 0.2 GB/s |
容量范围 | <1 KB | 32-64 KB | 16-128 GB | 512GB-4TB | 1-20 TB |
成本($/GB) | N/A | $100+ | $3-5 | $0.1-0.3 | $0.02-0.05 |
核心设计思想
-
层次化结构
寄存器→L1→L2→L3→DRAM→SSD→HDD
↑速度递减 · 容量递增 · 成本递减↑ -
局部性原理支撑
- 时间局部性:近期访问数据很可能被重用
- 空间局部性:相邻地址数据可能被连续访问
一、 存储器的基本概念与作用
- 定义: 用于存储二进制信息的物理设备或部件。
- 核心作用:
- 存储程序: 存放等待执行的指令序列。
- 存储数据: 存放原始数据、中间计算结果和最终结果。
- 信息交换中心: CPU、输入/输出设备都需要通过存储器交换信息(在现代系统中,通常通过Cache和内存交换)。
- 核心指标:
- 存储容量: 存储器能存储的二进制信息总量。基本单位是位(bit),常用单位有字节(Byte, B)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)等。
- 存取时间: 从存储器接收读/写命令到完成读/写操作所需的时间。通常用
Ta
表示。反映速度。 - 存储周期: 连续两次独立的存储器操作(如两次读)所需的最小时间间隔。通常用
Tm
表示,一般Tm > Ta
(因为需要恢复/稳定时间)。反映带宽潜力。 - 可靠性: 存储器在规定条件下无故障工作的能力。常用平均无故障时间衡量。
- 功耗: 存储器工作时消耗的功率。
- 价格/成本: 每位存储单元的成本。
- 非易失性: 断电后信息是否丢失的特性。
二、 存储器的分类
-
按在计算机系统中的地位/层次分类 (最重要):
- 高速缓冲存储器: 位于CPU和主存之间。容量最小(KB~MB级),速度最快(接近CPU速度),价格最高。由SRAM构成。主要作用是解决CPU和主存速度不匹配问题,存放当前最活跃的程序和数据副本。
- 主存储器: 简称主存或内存。计算机运行时存放当前正在执行的程序和数据的部件。CPU可直接访问。容量较大(GB级),速度较快(纳秒级),价格适中。主要由DRAM构成。
- 辅助存储器: 简称辅存或外存。如硬盘(HDD)、固态硬盘(SSD)、光盘、磁带等。容量极大(TB~PB级),速度慢(毫秒级),价格低廉(单位容量成本最低),非易失。用于存放大量暂时不用的程序和数据。CPU不能直接访问辅存,需通过I/O接口调入主存。
-
按存取方式分类:
- 随机存取存储器: 存储单元的内容可按地址随机访问,且访问时间与存储单元的物理位置无关。如:RAM(主存)、ROM、Cache。
- 顺序存取存储器: 信息按顺序存放和读取,访问时间取决于信息所在位置。如:磁带。
- 直接存取存储器: 存取信息时通常分两步:首先直接指向一个较小的区域(如磁道),然后在该区域内顺序查找或等待。如:磁盘(HDD)、光盘。虽然名字有“直接”,但其存取时间与位置有关,并非严格随机。
- 相联存取存储器: 不是按地址而是按内容的某些特征(关键字)进行访问。如:TLB(快表)。
-
按存储介质分类:
- 半导体存储器: 用半导体集成电路工艺制成。如:SRAM, DRAM, ROM, Flash Memory。速度快,集成度高,功耗相对低。是主存和Cache的基础。
- 磁表面存储器: 在金属或塑料基体表面涂覆磁性材料层存储信息。如:硬盘(HDD)、磁带。非易失,容量大,成本低,速度慢。
- 光存储器: 利用激光技术存储和读取信息。如:CD-ROM, DVD, Blu-ray。非易失,容量较大,可移动,速度慢。
- 新型存储器: 如相变存储器、阻变存储器、磁阻存储器等,试图结合DRAM的速度、SRAM的易用性和Flash的非易失性。
-
按信息的可更改性分类:
- 读写存储器: 既可读也可写。如:RAM(SRAM, DRAM)、部分Flash Memory。
- 只读存储器: 信息固化写入后,在正常工作状态下只能读不能写。如:MROM, PROM, EPROM, EEPROM, Flash ROM(用于固件/BIOS)。通常非易失。
-
按信息的易失性分类:
- 易失性存储器: 断电后信息丢失。如:SRAM, DRAM(主存、Cache)。
- 非易失性存储器: 断电后信息仍能保持。如:ROM、Flash Memory、磁盘、光盘、磁带。
三、 存储系统的层次结构
现代计算机采用多级存储体系来解决存储器速度、容量、成本之间的矛盾。核心思想是:
- 层次化: 将不同速度、容量、成本的存储器组织成金字塔结构。
- 顶层: 寄存器 (CPU内部) - 最快最小最贵。
- 上层: Cache (SRAM) - 很快较小较贵。
- 中层: 主存储器 (DRAM) - 较快较大较便宜。
- 底层: 辅助存储器 (HDD/SSD/等) - 慢大便宜,非易失。
- 局部性原理: 程序访问存储器在时间和空间上表现出局部性。
- 时间局部性: 刚被访问过的单元很可能在不久的将来再次被访问。
- 空间局部性: 刚被访问单元的邻近单元很可能在不久的将来被访问。
- 工作过程: CPU首先访问最快的Cache。若所需数据在Cache中(命中),则快速获取。若不在(未命中),则访问主存获取数据,同时将该数据及其附近数据调入Cache以备后用。若所需数据不在主存中,则从辅存调入主存。
- 目标: 让CPU访问存储器的平均速度接近Cache的速度,而平均成本接近辅存的成本。
四、 主存储器详解
主存是存储层次的核心,CPU直接与之交互(通过总线)。
-
基本组成:
- 存储体(MB): 由大量存储单元构成,每个单元存放一串二进制位(字),每个单元有一个唯一的地址。存储体是存储信息的实体。
- 地址寄存器(MAR): 存放CPU要访问的存储单元地址。位数决定了可寻址空间(如32位MAR -> 4GB地址空间)。
- 地址译码器: 将MAR中的地址码转换成对应存储单元的字选线信号。
- 数据寄存器(MDR): 暂存从存储体读出或将要写入存储体的数据。位数与存储单元字长相同(或成倍数关系)。
- 读写控制电路: 根据CPU发来的读/写命令,控制存储器的读写操作。
- 时序控制电路: 产生存储器操作所需的各种时序信号。
-
主存的主要类型 (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、引导程序、固件)。
- 静态随机存取存储器:
-
主存储器与CPU的连接:
- 总线连接: 通过系统总线(地址总线、数据总线、控制总线)连接。
- 地址线连接: CPU的地址总线连接到存储芯片的地址引脚。地址总线的宽度决定最大寻址范围。
- 数据线连接: CPU的数据总线连接到存储芯片的数据引脚。数据总线的宽度决定每次访问的数据位数。
- 控制线连接: CPU的读/写控制线连接到存储芯片的读/写控制引脚(如
/WE
)。片选信号(/CS
或/CE
)通常由高位地址经译码器产生,用于选择特定的存储芯片或芯片组。 - 存储容量的扩展:
- 位扩展: 增加数据位数(字长)。多片存储芯片的数据线分别连接到数据总线的不同位上,地址线和控制线并联。
- 字扩展: 增加存储单元数量(字数)。多片存储芯片的数据线都连接到数据总线上(需要三态控制),地址线并联,但片选信号由不同的地址译码输出控制。
- 字位同时扩展: 同时增加字数和字长。结合位扩展和字扩展的方法。
-
提高主存性能的技术:
- 多体交叉存储器:
- 原理: 将主存分成多个独立编址、能并行操作的存储体(模块)。
- 编址方式:
- 高位交叉编址(顺序方式): 高位地址用于选择存储体。主要用于扩大容量。访问连续地址时,实际在同一存储体上串行进行。
- 低位交叉编址(交叉方式): 低位地址用于选择存储体。连续地址分布在相邻的不同存储体上。
- 作用(低位交叉): 当CPU连续访问主存时,可以在前一个存储体存取周期结束前启动下一个存储体的访问,形成流水线操作,提高存储器的带宽。
- 高速缓冲存储器: 如前所述,是解决CPU-主存速度差异最有效的方法。
- 多体交叉存储器:
五、 辅助存储器
- 作用: 提供海量、廉价、非易失的存储空间。
- 主要类型:
- 磁盘存储器:
- 组成: 盘片(表面磁性涂层)、磁头、读写电路、驱动机构(主轴电机、磁头臂驱动电机)、接口。
- 原理: 利用磁头在高速旋转的盘片表面磁化区域来记录信息(磁畴方向代表0/1)。信息按磁道和扇区组织。
- 特点: 容量大,成本低(单位容量),非易失,可重复读写,访问速度慢(寻道时间+旋转延迟+传输时间),有机械运动部件(易损、功耗、噪音)。
- 固态硬盘:
- 原理: 基于NAND Flash存储器芯片,通过电子方式存储信息。
- 特点: 速度快(尤其是随机访问,无机械延迟),无机械部件(抗震、静音、低功耗),非易失,但单位容量成本高于HDD,存在写入次数限制(需磨损均衡算法管理)。
- 光盘存储器: 利用激光在盘片表面烧蚀凹坑或改变相变材料状态来记录信息。如CD-ROM(只读)、CD-R(一次写)、CD-RW(可重写)、DVD、BD。容量较大,可移动,成本低,速度慢,主要用于数据分发和备份。
- 磁带存储器: 顺序存取,容量巨大(LTO磁带),成本极低(单位容量),速度很慢,主要用于海量数据的长期归档备份。
- 磁盘存储器:
六、 存储器的主要技术指标总结与平衡
- 速度: 存取时间(Ta)、存储周期™、数据传输率(带宽 = 数据总线宽度 / Tm)。
- 容量: 总存储位数或字节数。
- 价格/位: 每位存储单元的成本。
- 功耗: 工作功耗和待机功耗。
- 可靠性: MTBF。
- 非易失性: 是否需要持续供电保存数据。
核心矛盾: 速度快的存储器成本高、容量小;成本低、容量大的存储器速度慢。存储层次结构和局部性原理是解决这一矛盾的关键。
七、 发展趋势
- 新型非易失存储器: 如相变存储器、阻变存储器、磁阻存储器等,致力于突破SRAM/DRAM/Flash的局限,实现更高速度、更低功耗、更长寿命、更高密度的非易失存储。
- 3D堆叠技术: 将存储单元在垂直方向堆叠多层,显著提高单位面积上的存储密度(如3D NAND Flash, 3D DRAM)。
- 存储类内存: 试图打破传统存储层次界限,让具有非易失性、接近DRAM速度、字节寻址能力的新型存储器(如PCM, ReRAM)直接连接到内存总线,既能充当高速主存又能持久化数据。
- 近存计算/存内计算: 探索在存储器内部或其附近进行数据处理,减少数据在存储器和处理器之间的搬运开销,提升能效和性能,尤其适用于大数据和AI场景。
- 高速接口技术: 如GDDR(显存)、HBM(高带宽内存)用于满足GPU和AI加速器对极高内存带宽的需求。
总结
存储器是计算机系统不可或缺的“记忆”部件,其性能直接影响整体系统性能。理解存储器的分类、层次结构(特别是Cache-主存-辅存体系)、工作原理(尤其是SRAM、DRAM、Flash)、技术指标及其相互制约关系,是掌握计算机组成原理的关键。现代计算机通过精妙的多级存储层次设计和局部性原理的利用,在速度、容量和成本之间取得了良好的平衡。存储技术仍在快速发展,新型存储介质和架构不断涌现,将持续推动计算能力的提升和应用模式的变革。