
在现代计算机系统中存储器扮演着至关重要的角色。随着处理器速度的飞速提升存储墙问题日益凸显——CPU经常需要等待数据从内存中加载造成算力浪费。本文将带你全面了解计算机存储器的工作原理、类型、性能指标以及提高存储器性能的先进技术。存储器基础概念存储器的基本单位是二进制位(bit)多个存储元组成存储单元多个存储单元又构成存储体——存储器的核心部分。每个存储单元都有唯一的地址标识可以按字或字节编址。主存储器的主要技术指标包括存储容量主存能容纳的二进制信息总量存取速度包括存取时间和存取周期主存带宽每秒可读写的数据量可靠性以平均无故障时间衡量性能/价格比和功耗存储器的发展与分类从ENIAC时代的电子管触发器到磁芯存储器再到如今主流的半导体存储器存储技术经历了长足发展。目前半导体存储器已成为绝对主流从小型单片机到巨型计算机都采用这种技术。按功能分类存储器可分为主存储器直接与CPU交换信息辅助存储器不能直接与CPU交换信息高速缓冲存储器位于CPU和内存之间控制存储器存放微程序的只读存储器半导体随机存储器(RAM)RAM主要分为两类静态RAM(SRAM)和动态RAM(DRAM)。SRAM(静态存储器)由触发器存储信息非破坏性读出不需要刷新速度快但集成度低、成本高主要用于高速缓存DRAM(动态存储器)利用MOS管栅极电容存储信息需要定期刷新(通常2ms内)集成度高、成本低速度较慢但功耗小主要用于主存储器DRAM的刷新方式有三种集中式在固定时间段内集中刷新存在死区分散式每次读写后立即刷新无死区但降低系统速度异步式前两种方式的结合使用较多存储系统的层次结构为解决容量、速度和价格之间的矛盾现代计算机采用多级存储层次结构Cache-主存层次解决主存速度不足问题全部由硬件调度对程序员透明主存-辅存层次(虚拟存储系统)解决主存容量不足问题需要操作系统支持这种层次结构使系统具有接近最快存储器的速度、接近最大存储器的容量和接近最低价格的位成本。提高存储器性能的技术1. 双端口存储器允许两个独立端口同时访问存储器当地址相同时会设置BUSY标志避免冲突。2. 多体交叉存储器将大容量主存分成多个独立个体交叉编址可在不改变存取周期的前提下增加存储器带宽。3. 高速缓冲存储器(Cache)基于程序局部性原理时间局部性和空间局部性Cache能显著提高系统性能。Cache的关键指标是命中率即CPU在Cache中取到有效信息的次数与访问总次数的比率。Cache与主存的地址映射方式有三种全相联映射主存块可映射到Cache任意块灵活但电路复杂直接映射主存块i映射到Cache块j(i mod G)硬件简单但冲突率高组相联映射前两种方式的折中将Cache分组主存块映射到特定组内的任意块4. 虚拟存储器当程序太大无法完全装入内存时虚拟存储器技术允许只加载部分程序到内存其余部分留在外存需要时再调入。虚拟存储器的管理方式包括段式管理以程序段为单位便于程序管理和共享页式管理以固定大小的页为单位减少空间浪费段页式管理结合前两者优点先分段再分页结语存储器技术是计算机系统性能的关键因素。通过理解存储器的基本原理、类型特点以及各种优化技术我们可以更好地把握计算机系统的工作机制为系统优化和程序设计提供理论基础。随着存算一体等新架构的探索未来存储技术有望突破存储墙的限制为计算性能带来新的飞跃。