计算机系统存储器技术与管理机制
存储器是计算机系统的核心组件,承担处理器指令与数据的存储、交互功能,其性能、容量与成本直接决定系统整体效率。本文基于ARM官方公开资料,阐述存储器分类、层次化架构、静态随机存取存储器(SRAM)与动态随机存取存储器(DRAM)的工作原理与实现差异、虚拟内存管理机制、地址转换硬件支持,以及直接内存访问(DMA)技术的实现与应用。
一、序
处理器执行应用程序时,需持续获取指令与数据,上述信息必须存储在可被处理器快速寻址的物理存储单元中。多任务环境下,不同程序的指令与数据需实现空间隔离,避免非法访问与数据篡改。存储器技术的演进围绕速度、容量、成本、功耗四大指标展开,不同类型的存储器通过层次化组织,实现存储金字塔结构,兼顾高速访问与大容量存储需求。
在计算机体系结构中,与处理器耦合最紧密的为易失性存储器,包括用于高速缓存的SRAM与用于主存的DRAM,二者构成处理器与外部存储之间的关键桥梁。主存的多任务共享需求催生虚拟内存与地址转换机制,而IO设备与主存的数据传输则依赖DMA降低处理器开销。
二、存储器基础分类

2.1 易失性与非易失性划分
存储器按掉电后数据保持能力分为易失性与非易失性两类。
-
易失性存储器需持续供电维持数据,访问速度快,用于临时存储处理器指令与数据,典型代表为随机存取存储器(RAM)。 -
非易失性存储器无需供电即可保持数据,访问速度较慢,用于长期数据存储,包括只读存储器、闪存与机械存储介质。
2.2 具体存储器类型
易失性存储器包含静态随机存取存储器(SRAM)与动态随机存取存储器(DRAM)。SRAM无需刷新,速度极高,用于处理器片上缓存;DRAM需周期性刷新,密度高、成本低,用于系统主存。
非易失性存储器包括:只读存储器(ROM),出厂时固化数据,不可修改;可擦除可编程只读存储器(EPROM),支持紫外光擦除与重新编程;电可擦除可编程只读存储器(EEPROM),支持电信号擦除与单字节改写;闪存(Flash),按块擦除,容量大、成本低,广泛用于固态硬盘、U盘与嵌入式系统固件存储;机械存储包括硬盘、磁带,容量极大、单位成本最低,用于离线与归档存储。
新型非易失性存储器如F-RAM、M-RAM兼具非易失、高速读写与高耐久特性,逐步应用于嵌入式与工业控制场景。
三、存储器层次结构
计算机系统采用层次化存储架构,以平衡速度、容量与成本,各层级呈现容量递增、速度递减、单位成本递减的规律。

- 寄存器
:位于处理器内核内部,访问延迟为1个时钟周期,容量最小,用于暂存指令与运算数据。 - 高速缓存
:包括CPU缓存与地址转换后备缓冲器(TLB),采用SRAM实现,访问延迟数个时钟周期,用于缓存近期使用的指令、数据与地址转换项。 - 主存储器
:采用DRAM实现,容量GB级,访问延迟数十至数百时钟周期,为处理器提供直接可访问的存储空间。 - 二级存储
:包括固态硬盘、机械硬盘,容量TB级,用于持久化数据存储。 - 三级存储
:包括磁带库、云存储,容量极大,用于归档与冷数据存储。
存储器层次的核心逻辑是:将频繁访问的数据置于高速、小容量层级,将不频繁访问的数据置于低速、大容量层级,通过局部性原理提升系统有效访问速度。本文重点讨论与处理器直接交互的易失性存储器,即SRAM与DRAM。
四、静态随机存取存储器(SRAM)
4.1 基本特性
SRAM为静态存储器,在供电持续的条件下可永久保持数据,无需周期性刷新。其单元电路由多个晶体管构成,存储密度低于DRAM,单位成本更高,但访问速度更快,适用于对延迟敏感的片上缓存。
4.2 单元电路结构
标准SRAM单元采用6管(6T)架构,由4个核心晶体管(M1–M4)与2个访问晶体管(M5–M6)组成。M1–M4构成两组交叉耦合反相器,形成双稳态电路,用于存储1比特数据;M5、M6为访问管,由字线(选择信号)控制导通与关断,数据通过位线(bit)与反相位线(bit’)完成读写。
交叉耦合反相器具有两个稳定状态,分别对应逻辑1与逻辑0,只要供电不中断,状态可保持不变。位线与反相位线的差分设计可提升噪声容限,保证读写可靠性。

4.3 读操作流程
-
地址译码器解析地址信号,选中目标单元,字线置为有效电平,导通M5、M6。 -
存储单元内部状态通过反相器输出至位线与反相位线,一条线为高电平,另一条为低电平。 -
位线放大器检测并放大电平差异,输出1比特数据。
SRAM读操作为非破坏性读取,单元内部数据保持不变。

4.4 写操作流程
-
待写入数据及其反码分别加载至位线与反相位线。 -
地址译码选中目标单元,字线置为有效,导通访问管。 -
位线驱动能力强于单元内部晶体管,强制交叉耦合反相器翻转至目标状态,完成数据写入。

4.5 阵列组织
SRAM单元按行、列组织为存储阵列,同一行所有单元共享字线,一次可访问整行数据。地址译码器根据输入地址选中对应行,位线放大器完成数据读出与放大。该结构支持并行访问,提升数据吞吐率。

五、动态随机存取存储器(DRAM)
5.1 基本特性
DRAM为动态存储器,数据存储于电容中,因电容存在漏电流,需周期性刷新以维持数据。其单元仅需1个晶体管与1个电容,存储密度远高于SRAM,单位成本低,适用于大容量主存。
5.2 单元电路结构
DRAM单元由1个控制晶体管与1个存储电容构成。晶体管栅极连接字线,源极连接位线,漏极连接存储电容。电容充电代表逻辑1,放电代表逻辑0。字线有效时,晶体管导通,电容与位线连通,完成读写。

5.3 读写与刷新机制
读操作时,字线有效,电容电荷转移至位线,由灵敏放大器检测电平;因读操作会导致电容放电,属于破坏性读取,读取后需立即回写恢复数据。写操作时,位线施加目标电平,电容被充电或放电,完成数据写入。
电容漏电流会导致数据丢失,需周期性刷新。典型刷新周期为7.8ms,刷新操作通过逐行读取并回写实现,刷新期间不响应外部访问。
5.4 同步与速率特性
现代DRAM均为同步DRAM(SDRAM),由系统时钟同步控制,访问时序可预测。双倍数据率(DDR)DRAM在时钟上升沿与下降沿均传输数据,带宽提升至单倍数据率(SDR)的两倍。DDR系列持续迭代,通过提升时钟频率、优化接口与并行传输进一步提升带宽。
5.5 层次化组织
DRAM采用多级组织:单元构成阵列,阵列构成Bank,Bank集成于芯片,多芯片构成Rank。
- 阵列
:行、列结构,一次访问一行,灵敏放大器缓存行数据,形成行缓冲。 - Bank
:包含多个阵列,所有阵列并行访问,一次输出多比特数据。 - 芯片
:包含多个独立Bank,支持并发访问,提升有效带宽。 - Rank
:多芯片同步工作,一次访问输出完整数据位宽,提升系统级带宽。


5.6 性能优化技术
- 行缓冲
:缓存最近访问的行数据,命中时无需重新激活行,降低访问延迟。 - 双倍数据率
:时钟双边沿传输,提升接口带宽。 - 多Bank并行
:多Bank独立寻址,支持并发访问,提升吞吐率。
六、存储器管理
6.1 管理必要性
单任务系统中,应用可直接访问物理主存;多任务系统中,直接访问会导致进程间数据泄露、非法篡改与地址冲突。操作系统需提供存储隔离与地址映射,硬件需提供加速支持以降低转换开销。
6.2 分页机制
虚拟内存是实现存储隔离的核心技术,操作系统向应用提供连续的虚拟地址空间,将虚拟地址映射至物理地址。分页是主流映射方式:
-
物理内存按固定大小划分为物理页帧。 -
虚拟地址空间按相同大小划分为虚拟页。 -
页表记录虚拟页与物理页帧的映射关系。
虚拟地址分为虚拟页号与页内偏移;地址转换时,虚拟页号索引页表得到物理页帧号,与页内偏移拼接形成物理地址。页表由操作系统维护,支持进程间地址空间隔离,且支持虚拟内存扩展,将部分数据暂存至二级存储。

6.3 多级页表
单级页表在32位/64位系统中体积过大,占用大量内存。多级页表将页表自身分页,形成树形结构:一级页表指向二级页表基址,二级页表指向三级页表,最终级页表指向物理页帧。地址转换需遍历多级页表,即页表遍历,该过程纯软件实现延迟极高,需硬件加速。


七、内存管理单元与地址转换后备缓冲器

7.1 内存管理单元(MMU)
MMU是实现虚拟地址到物理地址转换的专用硬件,集成于处理器内部,

承担以下功能:
-
执行虚拟地址至物理地址的转换。 -
缓存地址转换项,降低页表遍历频率。 -
检查访问权限,触发异常处理非法访问。 -
支持硬件页表遍历,无需操作系统介入。
7.2 地址转换后备缓冲器(TLB)
TLB是地址转换项的高速缓存,缓存近期使用的虚拟页号—物理页帧号映射,采用全相联结构,支持并行查找。
- TLB命中
:直接获取物理页帧号,完成地址转换,延迟与一级缓存相当。 - TLB缺失
:MMU启动硬件页表遍历,查询多级页表获取映射,更新TLB后重新执行转换。

TLB有效屏蔽页表遍历延迟,使绝大多数地址转换可在单周期完成。
7.3 ARM Cortex‑A9 MMU实现
Cortex‑A9的MMU基于ARMv7‑A虚拟存储架构,支持两级TLB结构:
-
指令微TLB与数据微TLB:单周期访问,处理指令与数据的快速转换。 -
主TLB:容量更大,作为微TLB缺失时的二级缓存。

地址转换流程:
-
以虚拟地址与地址空间标识符(ASID)查询微TLB。 -
微TLB缺失则查询主TLB。 -
主TLB缺失则启动硬件页表遍历。 -
命中后执行权限检查与安全属性判断,完成地址转换。
ASID用于区分不同进程的地址空间,减少上下文切换时的TLB刷新开销。
八、直接内存访问(DMA)

8.1 技术动机
处理器参与IO设备与主存的数据传输时,需持续轮询或中断响应,占用内核计算资源,数据路径长、效率低。DMA通过专用硬件接管数据传输,释放处理器执行其他任务。
8.2 工作原理
CPU仅需配置DMA控制器:传输长度、源地址、目的地址、数据宽度、传输模式。配置完成后,DMA控制器接管系统总线,直接在IO设备与主存之间传输数据,传输完成后向CPU发送中断信号。

8.3 传输模式
- 猝发模式
:一次性完成整块数据传输,传输效率最高,但CPU长时间无法占用总线。 - 周期挪用模式
:单次传输1字节后释放总线,CPU可交替使用总线,传输总时长增加。 - 透明模式
:仅在CPU不使用总线时传输,对CPU无影响,但传输速度最慢。
8.4 系统架构
DMA控制器连接地址总线、数据总线与控制总线,支持多通道、多设备并发传输。现代片上系统将DMA引擎集成至外设控制器,无需独立DMA芯片,提升集成度与传输效率。

九、结论
-
SRAM速度快、密度低、成本高,用于片上缓存;DRAM密度高、成本低、需刷新,用于主存,二者共同构成处理器核心存储体系。 -
DRAM通过阵列、Bank、芯片、Rank的层次化组织,结合行缓冲、多Bank并行与DDR技术,实现大容量与高带宽。 -
虚拟内存与分页机制实现多任务存储隔离,多级页表降低内存占用,MMU与TLB硬件加速地址转换,保证系统性能。 -
DMA接管IO与主存的数据传输,释放处理器资源,提升系统并发效率。