ROM 是 Read-Only Memory 的缩写,可译为只读存储器。ROM 可以永久存储数据,并且和 RAM 一样,是计算机中主要的存储器。
该类存储器之所以称为只读存储器,是因为我们只能读取存储在 ROM 内部的数据和指令,不能对数据做修改,也无法写入新的数据。
ROM 内部的数据由制造商写入,一旦生产完成,ROM 的内容将无法修改或删除。但后续发展过程中,为满足实际场景的需要,又引申出很多种具备不同特性的只读存储器,例如 PROM、EPROM 等,其中的一些 ROM 允许对存储的数据做修改,本文后续会做讲解。
ROM 的内部含有一种特殊的电子熔丝元件(可以简单的理解为保险丝或者熔断器),当制作 ROM 时,制作商会将设计人员指定的信息以编程的方式嵌入到 ROM 中,即便计算机关闭或者突然断电,写入的数据也不会丢失。因此,ROM 不但是一种可编程逻辑部件(简称 PLD),还是一种非易失性存储器。
「扩展」:电熔丝编程的过程,其实就是在电熔丝的两端施加不同电位,使直流电通过电熔丝进而将电熔丝熔断(切割)的过程。现有的电熔丝都是以金属的电迁移现象为原理实现的,它们都具有这样的特点:如果一次编程未能将电熔丝切割,那么金属材质的电熔丝的电阻将会显著增大,在其后编程时再施加以往的编程电流已无法达到金属电迁移的要求,因而无法进行二次编程或多次编程。
ROM 的应用很广泛,例如给 90 后童年带来欢乐的游戏卡带(如图 1 所示),它使用 ROM 存储数据,这些数据可以使计算机运行很多游戏。
图 1 ROM 实例:游戏卡带
除此之外,个人计算机、智能手机、平板电脑、电视的内部都用到了 ROM。以个人计算机为例,当我们按下启动键后,操作系统桌面并不会立即显现在屏幕上,而是需要等待一段时间。原因很简单,计算机启动时,会首先加载位于 ROM 中的 BIOS 系统,该系统会对 CPU、内存、硬盘等硬件状态进行检查,待确定没有问题之后,计算机会相继启动屏幕(显示器)、硬盘等,并将操作系统加载到 RAM 中,最终启动计算机。
ROM 还经常用于存储某些硬件(如键盘、硬盘、显卡)的驱动程序,以使该硬件可以成功和其他硬件进行通信。
ROM类型
在 ROM 的基础上,为满足实际场景的需要,后续衍生出了很多具备不同特性的 ROM。
如表 1 所示,给大家罗列了 5 种常用的只读存储器,以及它们各自的特性和应用场景。
ROM 类型名 | 特性 | 应用场景 |
---|---|---|
掩模式只读存储器(MROM) | 早期的一种只读存储器,现已过时。其内部数据在制造时嵌入,后期不允许修改或删除 | 无 |
可编程只读存储器(PROM) | 该类存储器出厂时内部不存储任何数据,购买者可以对其编程,但编程次数仅限 1 次。 一旦编程,PROM 中的数据将无法再被修改或删除。 | 手机、游戏机、医疗设备 |
可擦除可编程只读存储器(EPROM) | 利用特殊设备(例如 PROM 编程器)可实现多次编程,同时利用特定频率的紫外线可在 40 分钟左右删除 PROM 存储的数据。 | 某些微控制器(例如 Intel 8048)中存储数据 |
带电可擦可编程只读存储器(EEPROM) | 和 EPROM 类似,支持多次编程和删除(最多可 10000 次),但无需借助紫外线就可以删除内部存储的数据。 | 存储 BIOS 系统 |
快闪存储器(FLASH ROM,简称闪存) | EEPROM 的高级版本,它的优势在于,用户可以在特定时间内一次性删除或写入 512 个字节的数据。而 EEPROM 一次性只能写入或删除 1 个字节的数据。 闪存的读写效率很高,并且可以承受高温和高压,所以非常耐用。 | SSD 固态硬盘、U 盘、存储 BIOS 系统 |