蝶儿导读
在计算机组成原理中,主存储器作为核心组件负责存放程序与数据。文章系统阐述了存储器的分类体系:按层次分为主存储器(内存)、辅助存储器(外存)和高速缓冲存储器(Cache);按存取方式分为随机存储器(RAM,含静态与动态类型,其中DRAM需每2ms刷新)和只读存储器(ROM,含MROM、PROM、EPROM及Flash等)。同时详述了关键性能指标,包括存储容量(计算公式为存储字数×字长)、主存带宽、存取时间及存储周期,并说明存储系统层次中数据调度由硬件或操作系统自动完成。读者可据此掌握存储器核心特性与应用场景。
— 此摘要由蝶儿创作,她也可能会犯错。
存储器
存储器是计算机系统中用于存放程序、数据和中间数算结果的部件,是组成计算机的核心组件之一。
基本概念
存储器分类
按计算机中的层次不同,存储器可分为以下三类:
- 主存储器
又名内存、主存,CPU 可以直接随机对主存储器访问。内存负责与高速缓冲存储器(Cache,俗称的一缓、二缓等)和辅助存储器交换数据。- 辅助存储器
又名外存、辅存。这部分内容需要被调入内存后才可以被 CPU 访问。- 高速缓冲存储器
简称 Cache,位于内存和 CPU 之间,用来存放当前 CPU 经常使用的指令和数据。
按存储介质不同,存储器可以分为以下几类:
- 磁表面存储器
- 半导体存储器
- 光存储器
- ……
按存取方式不同,存储器可以分为以下三类:
- 串行访问存储器
包括顺序存取存储器(如磁带)和直接存取存储器(如磁盘)。- 随机存储器(RAM)
存储器任何一个存储单元都可以随机存储,且存取时间与存储单元的物理位置无关。RAM 又分为静态和动态两种。- 只读存储器(ROM)
存储器只能随机读出,不能写入。ROM 也是随机存取,信息写入之后固定不变,即使断电也不会丢失。
按信息可保存性分类,可以分为以下几类:
- 易失性存储器
断电后存储信息消失(例如内存)。- 非易失性存储器
断电后信息仍然被保存(例如 ROM、磁盘、光盘等)。- 破坏性读出
存储单元内的信息被读出时,原存储信息被破坏(例如半导体存储器)。- 非破坏性读出
存储单元信息被读出时,原存储信息不会被破坏(例如硬盘)。
存储器的性能指标
存储器的性能指标包括存储容量、存储速度、存取时间、存储周期和主存带宽等共五个指标。以下在此一一说明:
- 存储容量
下述公式可计算存储器的存储容量(如 1K \(\times\) 8 位):
$$\text{存储容量} = \text{存储字数} \times \text{字长}$$
- 主存带宽
数据传输率 = 数据的宽度 \(\div\)存储周期
主存带宽表示每秒从主存进出信息的最大数量,单位:字/秒、字节/秒(B/s)、位/秒(b/s)等。
- 存储周期和存取时间
存储周期是指两次数据存储操作之间的最小间隔(从一次存储器操作开始到下一次存储器操作),而存取时间是指从启动一次存储器操作到完成该操作所经历的时间,分为读出和写入两种。
由于进行存储器操作后需要恢复状态(充放电、锁存等),因此存取时间后会存在一段恢复时间。恢复时间和存取时间之和为一个存储周期。

存储系统的层次
主存与 Cache 之间的数据调动由硬件自动完成,该过程程序员不需要也无法显式控制。主存与辅存之间的数据调动由硬件和操作系统共同完成,程序语义上不需要关心数据在哪一级存储中。
半导体随机存储器
DRAM
动态随机存储器利用存储元电路中栅极电容上的电荷来存储信息的。由于电容中的电荷无法长期维持,所以即使不断开电源,DRAM 中的信息也会自动消失。因此,需要每隔一段时间将存储单元的信息读出再立马写入。「一段时间」通常取 2ms。
存储器芯片的内部结构
存储器芯片内部由
- 存储体
存储矩阵,是存储单元的集合,存储体行、列上的数据会被同时读出或写入。 - 地址译码器
降低至转换为对应高电平,驱动相应读写电路。 - I/O控制电路
控制被选中单元的读出或写入,具有放大信息作用。 - 片选控制信号
用于在多个存储器芯片中确定操作存储芯片的信号。当访问某个字时,必须使用片选控制信号从大量存储芯片中选中存储字所在芯片,此时其他芯片不处于「选中」。
只读存储器
只读存储器分为以下四种:
|
种类 772_17766a-41> |
应用 772_dd474d-6c> |
优点 772_ee73c1-dd> |
缺点 772_a75170-54> |
|---|---|---|---|
|
掩模式只读存储器 |
内容在生产时写入,不可改变。 772_e97d2e-9c> |
可靠性强 |
灵活性差 772_740098-1c> |
|
一次可编程 |
使用专门设备写入内容 772_242a19-38> | 772_b3648c-17> |
写入后不可改变 772_a15bb6-f8> |
|
可擦除可编程 | 772_8064db-72> |
可多次写入或修改内容 772_90c9aa-32> |
写入时间长 772_20c5fc-d9> |
|
Flash |
可在不加电的情况下长期保存信息,也可在线快速擦除重写。 772_e590dc-47> | 772_569eab-de> | 772_8ab3ff-99> |