Appearance
存储器的分类
2026 大纲 三(一)存储器的分类(按存取方式、存储介质、信息可保存性、在系统中的位置)。
名字里带 ROM 的,未必按 ROM 的方式工作
CD-ROM 的名字里明明白白写着 ROM,它是不是随机存取存储器?Flash 归在 ROM 家族里,可它又能随时擦写,那它到底算 RAM 还是 ROM?这两个问题让人卡住,原因不是概念难,是把四个互相独立的分类维度当成了一个。
存储器可以按存取方式分、按存储介质分、按信息可保存性分、按在系统中的位置分。同一个器件在不同维度下有不同归属,四个维度之间没有蕴含关系。所以判一个器件属于什么,正确做法是逐个维度分别回答,而不是找一个总的标签贴上去。
🔴 上面两个问题的答案:CD-ROM 是直接存取(它有机械寻道机构,读不同位置耗时差很多),Flash 是随机存取(访问任一单元时间相同)。"RAM / ROM"这组名称是历史遗留——ROM 同样是随机存取的,两者的真正差别在可写性与易失性,跟存取方式没关系。
后面四节就是这四个维度,其中第一个维度最要紧,判断题基本都落在它和"易失性"这两条上。
一、按存取方式分类
这个维度的判据只有一条:存取时间与物理位置的关系。
| 存取方式 | 定义 | 典型器件 |
|---|---|---|
| 随机存取(RAM) | 存取时间与单元的物理位置无关,各单元相同 | SRAM、DRAM、ROM、EPROM、Flash |
| 顺序存取(SAM) | 必须从头顺序查找,存取时间与位置强相关 | 磁带 |
| 直接存取(DAM) | 先直接定位到某个区域,再在区域内顺序查找 | 磁盘、光盘 |
| 相联存取(CAM) | 按内容而非地址访问 | 相联存储器、TLB |
真正的分界线在有没有机械部件,不在能不能写。有机械寻道机构的(磁盘、光盘)必然是"先转到大概位置再找",所以是直接存取;纯电子的(半导体器件)访问任一单元都是同一套译码路径,所以是随机存取。Flash 和 EPROM 虽然挂在"只读"家族名下,按存取方式它们和 SRAM、DRAM 是一类。
相联存取为什么单列一类:前三类都是"给地址、取内容",相联存取反过来——给内容、找位置。TLB 就是典型:拿一个虚页号去比对全部表项的标记,命中则返回对应的实页号,它不是"读第
二、按存储介质分类
三类,按物理原理分:半导体存储器(SRAM、DRAM、Flash)速度快、无机械部件;磁表面存储器(磁盘、磁带)容量大、非易失、有机械部件;光存储器(CD、DVD)非易失、可移动。这个维度本身很少单独出题,它的作用是解释上一个维度——有没有机械部件正是"随机存取还是直接存取"的分界。
三、按信息的可保存性分类
易失性存储器断电后信息丢失(SRAM、DRAM,即全部 RAM);非易失性存储器断电后信息保留(ROM 家族、Flash、磁盘、光盘)。
这里有一对最容易混的概念,判断题也常落在这里:
🔴 易失性与破坏性读出是两回事。易失性说的是"断电"之后会不会丢,破坏性读出说的是"读一次"之后会不会丢。 DRAM 两者都占——读取时电容电荷被放掉,读后必须重写,这正是它存储周期大于存取时间的原因;SRAM 易失但非破坏性读出;Flash 两者都不占。
顺带把 RAM 与 ROM 的真实差别说清:两者都是随机存取,差别在可写性与易失性——RAM 可随时读写、断电即失;ROM 只读或写入受限(需专门的编程/擦除操作)、断电保留。Flash 按传统分类归入 ROM 家族(由 EPROM 发展而来),但可电擦除并重写,性质上介于两者之间;它和 RAM 相同的那一点是存取方式,不同的那一点是易失性。
四、按在系统中的位置分类
从 CPU 往外数:寄存器在 CPU 内部;高速缓冲存储器(Cache,用 SRAM);主存储器(内存,DRAM 内存条);辅助存储器(外存,磁盘、SSD、光盘)。前三者 CPU 都能直接访问,最后一个不能。
🔴 CPU 不能直接访问辅存,辅存中的数据必须先调入主存。原因不是"规定如此":CPU 通过地址总线发出的是主存地址,而辅存的定位需要"柱面号 + 磁头号 + 扇区号"这类几何地址并经过机械寻道,地址总线上根本无法表达。因此辅存只能作为 I/O 设备,由 I/O 接口或 DMA 控制器 搬运。
还有一条容易被忽略:Cache 不属于主存。它是主存内容的副本,与主存共用同一个地址空间但物理上是独立的 SRAM。程序无法通过地址指定"我要访问 Cache"——命中与否由硬件判断,对程序完全透明。
五、同一器件在各维度下的归属
把四个维度合起来看,判断题反复取材的六个器件是这样落位的:
| 器件 | 存取方式 | 易失性 | 位置 |
|---|---|---|---|
| SRAM | 随机存取 | 易失 | Cache |
| DRAM | 随机存取 | 易失 | 主存 |
| Flash | 随机存取 | 非易失 | 辅存(SSD)/ BIOS |
| 磁盘 | 直接存取 | 非易失 | 辅存 |
| 磁带 | 顺序存取 | 非易失 | 脱机备份 |
| TLB | 相联存取 | 易失 | CPU 内部 |
加粗的六格都是"名字与实际归属对不上"的位置,也正是判断题的取材点。
考点速记
- 四个分类维度相互独立,判一个器件要逐维度分别答。随机存取指存取时间与物理位置无关,真正的分界是有无机械部件——Flash 与 ROM 都是随机存取,CD-ROM 是直接存取。
- 相联存取按内容访问(典型是 TLB),所有表项同时比较、硬件开销大;易失性说的是断电,破坏性读出说的是读一次,DRAM 两者都占、SRAM 只占前者。
- CPU 不能直接访问辅存——辅存要几何地址与机械寻道,地址总线表达不了,必须先调入主存。
这一节在真题里被考过的形式:
- 给 I/II/III/IV 四条关于 RAM 与 ROM 的叙述,问哪几条正确:踩点在"两者都是随机存取"(对)、"都可用作 Cache"(错,ROM 不行)、"都需要刷新"(错,只有 DRAM 需要)。
- 问哪种存储器不采用随机存取方式:在 EPROM / CD-ROM / DRAM / SRAM 里挑,答 CD-ROM——只有它带机械部件。
- 另有两道考器件物理性质的(闪存读写速度、哪种需要刷新),归 半导体随机存取存储器。
易错:把"名字里有 ROM"当成"只读"或"不是随机存取"。CD-ROM 是直接存取、Flash 是随机存取,两个都由名字误导而来。
易错:易失性 ≠ 破坏性读出。DRAM 两者都占,但被问到"SRAM 是否需要读后重写"时答案是不需要。
易错:Cache 与主存共用同一地址空间,但 Cache 不属于主存;程序无法指定访问 Cache。
⚠️ 下方「真题练习」挂的 topic 与本篇内容不对齐:它挂的是
memory-hierarchy(局部性判断), 而上面四道真正考本篇内容的题挂在semiconductor-memory下,见 半导体随机存取存储器 的真题练习。 这是标签归属问题,不是漏挂。
教材出处
- 存储器按存取方式、存储介质、信息可保存性、在系统中的位置四种分类,随机存取与直接存取的定义与典型器件:袁春风《计算机组成与系统结构》第 3 版 §5.1.1
- 易失性与破坏性读出的区分、DRAM 读后重写与存储周期大于存取时间:同上 §5.2
- Cache 与主存共用地址空间、对程序透明:同上 §7.5.1