引言
存储器是计算机系统中至关重要的组成部分,它直接关系到计算机的性能和效率。在计算机组成原理中,存储器的学习是理解整个计算机系统工作原理的基础。本文将系统介绍存储器的分类、性能指标以及多级层次结构,帮助读者建立完整的存储器知识体系。
一、存储器的分类
计算机存储器可以按照多种方式进行分类,每种分类方式都从不同角度揭示了存储器的特性。
1. 按存取方式分类
(1) 随机存取存储器(RAM, Random Access Memory)
-
特点:可以随机访问任一存储单元,存取时间与存储单元位置无关
-
示例:主存储器(内存)、CPU中的寄存器
-
子分类:
-
SRAM(静态RAM):速度快,价格高,用于高速缓存
-
DRAM(动态RAM):需要刷新,密度高,用于主存
-
(2) 只读存储器(ROM, Read Only Memory)
-
特点:信息一旦写入就固定不变,只能读取
-
示例:BIOS芯片、固件存储
-
发展类型:
-
PROM(可编程ROM)
-
EPROM(可擦除PROM)
-
EEPROM(电可擦除PROM)
-
Flash Memory(闪存)
-
(3) 顺序存取存储器(SAM, Sequential Access Memory)
-
特点:存取时间与存储单元位置有关,必须按顺序访问
-
示例:磁带
(4) 直接存取存储器(DAM, Direct Access Memory)
-
特点:介于随机存取和顺序存取之间,先直接定位到某个区域,再顺序查找
-
示例:磁盘、光盘
2. 按存储介质分类
存储介质类型 | 特点 | 典型示例 |
---|---|---|
半导体存储器 | 速度快,易失性(除ROM外) | 内存、Cache、Flash |
磁表面存储器 | 容量大,速度慢,非易失 | 硬盘、磁带 |
光存储器 | 容量大,速度慢,非易失 | CD、DVD、蓝光 |
3. 按信息易失性分类
(1) 易失性存储器(Volatile Memory)
-
断电后信息丢失
-
示例:DRAM、SRAM
(2) 非易失性存储器(Non-Volatile Memory)
-
断电后信息保留
-
示例:ROM、Flash、磁盘
4. 按在计算机中的作用分类
(1) 主存储器(内存)
-
CPU可直接访问
-
存放当前运行的程序和数据
(2) 辅助存储器(外存)
-
CPU不能直接访问
-
存放暂时不用的程序和数据
(3) 高速缓冲存储器(Cache)
-
位于CPU和主存之间
-
解决CPU与主存速度不匹配问题
(4) 寄存器
-
CPU内部的小容量高速存储器
-
存放当前最频繁使用的数据和指令
二、存储器的性能指标
存储器的性能直接影响计算机系统的整体性能,以下是衡量存储器性能的主要指标:
1. 存储容量
-
定义:存储器可以存储的二进制信息总量
-
单位:
-
基本单位:位(bit)
-
常用单位:字节(Byte, 8bit)、KB(2^10B)、MB(2^20B)、GB(2^30B)、TB(2^40B)
-
-
表示方法:
-
字节数:如4GB内存
-
单元数×位数:如64K×16位
-
2. 存取时间(Access Time)
-
定义:从启动一次存储器操作到完成该操作所需的时间
-
分类:
-
读存取时间
-
写存取时间
-
-
影响因素:存储器类型、工艺技术等
3. 存储周期(Memory Cycle)
-
定义:连续两次独立的存储器操作所需的最小时间间隔
-
与存取时间的关系:存储周期 ≥ 存取时间
-
原因:存储器需要一定的恢复时间
4. 存储器带宽(Bandwidth)
-
定义:单位时间内存储器存取的信息量
-
计算:带宽 = 数据宽度 / 存储周期
-
单位:位/秒、字节/秒
-
意义:衡量存储器的数据传输能力
5. 价格(成本)
-
定义:每位存储器的价格
-
计算:价格 = 总成本 / 总容量
-
单位:美元/位、美分/位
6. 功耗
-
定义:存储器工作时消耗的功率
-
重要性:影响便携设备的电池寿命和散热设计
7. 可靠性
-
定义:存储器在规定条件下正常工作的能力
-
衡量指标:平均无故障时间(MTBF)
性能指标之间的关系
这些性能指标之间往往存在相互制约的关系,例如:
-
速度快的存储器通常价格高、容量小
-
容量大的存储器通常速度慢、价格低
-
非易失性存储器通常比易失性存储器速度慢
三、存储器的多级层次结构
为了解决存储器速度、容量和价格之间的矛盾,现代计算机采用多级存储层次结构,将不同特性的存储器有机组合起来。
1. 层次结构原理
基本原理:基于程序访问的局部性原理
-
时间局部性:被访问的存储单元很可能在不久的将来再次被访问
-
空间局部性:被访问存储单元附近的存储单元很可能在不久的将来被访问
2. 典型的多级存储层次
现代计算机系统的典型存储层次(由上至下):
-
寄存器:位于CPU内部,速度最快,容量最小(几十~几百字节)
-
高速缓存(Cache):分为多级(L1、L2、L3),速度接近CPU,容量几KB~几十MB
-
主存储器(内存):DRAM构成,速度较慢,容量几GB~几百GB
-
辅助存储器(外存):磁盘、SSD等,速度慢,容量大(几百GB~几TB)
-
后备存储器:磁带、光盘等,用于长期存档,容量极大
3. 层次结构的工作方式
-
数据流动:数据在不同层次间按需移动
-
命中与缺失:
-
命中(Hit):所需数据在当前层次找到
-
缺失(Miss):需从下层调入数据
-
-
性能关键:命中率越高,平均访问时间越接近高速存储器
4. 缓存技术详解
缓存技术是多级存储层次的核心,主要包括:
(1) 缓存映射方式
-
直接映射
-
全相联映射
-
组相联映射
(2) 替换算法
-
先进先出(FIFO)
-
最近最少使用(LRU)
-
随机替换
(3) 写策略
-
写直达(Write-through)
-
写回(Write-back)
-
写分配(Write-allocate)
-
非写分配(No-write-allocate)
5. 层次结构的性能分析
平均访问时间计算:
T_avg = H × T_cache + (1 - H) × T_mem
其中:
-
H:缓存命中率
-
T_cache:缓存访问时间
-
T_mem:主存访问时间
四、存储器技术的发展趋势
-
新型非易失性存储器:如3D XPoint、ReRAM等,试图填补DRAM和NAND闪存之间的空白
-
3D堆叠技术:通过垂直堆叠提高存储密度
-
存储类内存(SCM):兼具内存和外存特性的新型存储器
-
近内存计算:减少数据搬运开销的新架构
结语
计算机存储器的多级层次结构是计算机体系结构中巧妙的设计,它通过合理组织不同速度、容量和成本的存储器,实现了接近最快存储器的速度和接近最慢存储器的大容量与低成本。理解存储器的分类、性能指标和层次结构,对于深入学习计算机组成原理和优化程序性能都具有重要意义。随着技术的进步,存储器的形态和特性还在不断发展,但基本原理和设计思想仍将持续指导未来的存储器设计。
希望这篇博客可以帮助到你。