什么是只读存储器(ROM)?

2025年4月24日 | 阅读 13 分钟
ROM

ROM,即 Read Only Memory(只读存储器),是一种永久存储信息的文件设备或存储介质。它与随机存取存储器(RAM)一起,也是计算机的主存储器单元。它之所以被称为只读存储器,是因为我们只能读取其中存储的程序和数据,而不能向其中写入。它仅限于读取单元中永久存储的字(words)。

ROM 的制造商会在制造 ROM 时将其中的程序填入。此后,ROM 的内容就无法更改,这意味着您无法对其内容进行重新编程、重写或擦除。但是,有些类型的 ROM 可以修改数据。

ROM 包含特殊的内部电子熔断器,这些熔断器可以编程以形成特定的互连模式(信息)。芯片中存储的二进制信息由设计者指定,然后在制造时嵌入到单元中,以形成所需的互连模式(信息)。一旦模式(信息)建立,即使断电,它也会保留在单元中。因此,它是一种非易失性存储器,即使断电或关闭计算机,它也会保留信息。

信息以比特(bits)的形式添加到 RAM 中,这个过程称为 ROM 编程,因为比特存储在设备的硬件配置中。因此,ROM 是一种可编程逻辑器件(PLD)。

ROM 的一个常见例子是在视频游戏机中运行游戏的卡带。ROM 收集计算机、智能手机、电视等设备上的永久数据。

当您启动计算机时,它需要一些时间,因为存储在 ROM 中的启动指令有助于启动引导过程。这个过程会将操作系统加载到 RAM 中,并帮助计算机初始化并与 BIOS(存储在 ROM 中)建立连接。

ROM 固件还存储在键盘、硬盘驱动器或视频卡等硬件中编程的永久软件。固件帮助这些设备工作并与系统通信。

ROM 的架构

ROM

ROM 的块有 'n' 条输入线和 'm' 条输出线。输入变量的每种组合称为一个地址。通过输出线输出的每种组合称为一个字(word)。每个字中的比特数等于输出线的数量 m。

二进制数字的地址是指 'n' 个变量的地址之一。因此,具有 'n' 个输入变量的可能地址数为 2n。一个输出字具有唯一的地址,由于 ROM 中有 2n 个不同的地址,因此 ROM 中有 2n 个独立的字。在给定时间输出线上的字取决于应用于输入线的地址值。

ROM 的架构包括地址解码器、存储单元阵列和输出线。当 CPU 发送一个地址时,解码器会在单元阵列中选择相应的存储位置,数据就永久存储在那里。然后通过输出线将选定的数据发送到 CPU。ROM 是非易失性的,这意味着即使断电也能保持数据,通常用于存储固件和系统启动指令。

ROM 的内部结构

ROM 的内部结构主要由三个部分组成:**地址解码器**、**存储单元**阵列和**输出缓冲器**。地址解码器接收输入地址并选择存储器阵列中的特定行。存储单元阵列是一个由行和列组成的网格,其中每个交叉点使用固定的参数(通常是二极管或晶体管)存储一个比特(0 或 1)。一旦选择了正确的单元,处理器就会通过收集到的数据输出缓冲器发送。这种结构使 ROM 能够在需要时快速、牢固地提供永久数据。

ROM 中存在的所有 OR 门都将解码器的输出作为其输出。让我们以一个 64 x 4 ROM 为例。其结构如下图所示。

ROM

这个只读存储器包含 64 个 4 位字。因此,会有四条输出线,输出线上的 64 个字之一由六条输入线确定,因为我们只有六个输入,因为在这个 ROM 中我们有 2^6 = 64,所以我们可以指定 64 个地址或最小项。对于每个地址输入,都有一个唯一的选定字。例如,如果输入地址是 000000,将选择字号 0 并将其应用于输出线。如果输入地址是 111111,将选择字号 63 并将其应用于输出线。

ROM 的特性

ROM(只读存储器)具有一些独特的特性,使其适用于各种应用。让我们用简单的语言探讨 ROM 的一些关键特性。

  • 非易失性存储器:ROM 是一种非易失性存储器类型;因此,即使在断电后也能保留其数据。这使其非常适合存储永久指令和数据,因为它保证了记录的信息将保持不变,并可在需要时访问。
  • 只读性质:顾名思义,只读存储器(ROM)可防止数据被轻易修改或擦除。这一特性提供了稳定性,并防止意外更改,确保了存储信息的完整性和可靠性。
  • 永久存储:ROM 提供数据和指令的永久存储。一旦数据在制造过程中被编程到 ROM 中,它就会固定不变,除非物理更换 ROM 芯片,否则无法更改。这种永久性保证了存储信息的连续性和稳定性。
  • 固件存储:ROM 通常用于存储包含操作电子设备所需基本指令的固件。ROM 的非易失性和只读性质确保固件保持不变,为设备提供可靠、一致的功能。
  • 引导和初始化:ROM 在电子系统的引导和初始化过程中起着至关重要的作用。存储在 ROM 中的固件包含启动系统、加载操作系统和初始化硬件组件所需的初始指令。这确保了设备的平稳、受控的启动顺序。
  • 数据安全:ROM 提供了固有的数据安全性。由于 ROM 中存储的数据不可修改或擦除,因此它防止了未经授权的更改或篡改。此功能增强了存储信息的安全性和真实性,使 ROM 适用于关键指令和敏感数据。
  • 即时读取访问:ROM 提供对存储指令和数据的即时读取访问。信息可以无需耗时的加载即可直接访问,从而能够快速检索和执行关键指令。
  • 兼容性:ROM 与各种系统和架构兼容,可以无缝集成到不同的电子设备和系统中。这种兼容性确保 ROM 可用于各种应用。
  • 可靠性:由于其只读性质,ROM 提供了高可靠性。ROM 中存储的数据不易发生意外修改或丢失,可确保在一段时间内性能一致且可预测。对于对稳定性和数据完整性要求极高的重要系统来说,这种可靠性至关重要。
  • 成本效益:ROM 通常比其他类型的存储器更具成本效益,是许多应用的经济之选。由于生产 ROM 的制造程序已经成熟,生产成本较低。

ROM 类型

1) 掩膜只读存储器 (MROM)

ROM

它是最古老的只读存储器(ROM)类型。它已经过时,在当今世界任何地方都已不再使用。它是一种硬件存储设备,其中的程序和指令在制造时由制造商存储。因此,它在制造过程中被编程,之后无法修改、重新编程或擦除。

MROM 芯片由集成电路制成。芯片通过由芯片上熔断器在行和列上的位置确定的特定输入-输出路径发送电流。电流必须沿着已启用熔断器的路径通过,因此它只能通过制造商选择的输出返回。这就是为什么在此存储器中无法进行重写和其他修改的原因。

2) 可编程只读存储器 (PROM)

ROM
  • PROM(可编程只读存储器)是 ROM 的一个空白版本,在制造后进行编程。
  • 它在制造过程中保持空白,并且可以购买并使用特殊工具进行一次编程。
  • 使用一个称为 **PROM 编程器**或 **PROM 刻录机** 的设备将数据写入芯片。
  • 在芯片中,电流在编程前会流经所有可能的路径。
  • 编程器会发送高压来烧断特定的熔断器,选择电流路径并存储数据。
  • 用户可以根据自己的需求添加自定义数据或指令,因此它也被称为**用户可编程 ROM**。
  • 编程 PROM 的过程称为**“烧录 PROM”**。
  • 一旦编程,数据就无法更改,因此 PROM 也被称为**一次性可编程设备**。

用途:它用于手机、视频游戏机、医疗设备、RFID 标签等。

3) 可擦除可编程只读存储器 (EPROM)

ROM

EPROM 是一种可以重复编程和擦除多次的 ROM 类型。擦除数据的方法非常不同;它带有一个石英窗口,通过该窗口以特定频率的紫外线照射约 40 分钟来擦除数据。因此,它会保留其内容,直到暴露在紫外线下。您需要一个称为 PROM 编程器或 PROM 刻录机的特殊设备来重新编程 EPROM。

用途:它用于一些微控制器来存储程序,例如,Intel 8048 的一些版本和 Freescale 68HC11。

4) 电可擦可编程只读存储器 (EEPROM)

ROM

ROM 是一种只读存储器,可以重复擦除和重新编程,最多可达 10000 次。它也称为 Flash EEPROM,因为它类似于闪存。它通过电方式擦除和重新编程,无需使用紫外线。访问时间在 45 到 200 纳秒之间。

此存储器中的数据是逐字节写入或擦除的,而闪存中的数据是以块为单位写入和擦除的。因此,它比 EEPROM 快。它用于在计算机和电子系统及设备(如电路板)中存储少量数据。

用途:计算机的 BIOS 存储在此存储器中。

5) 闪存 ROM (FLASH ROM)

ROM

它是 EEPROM 的高级版本。它将信息存储在由浮栅晶体管组成的存储单元阵列或排列中。使用此内存的优点是可以一次性删除或写入约 512 字节的数据块。而在 EEPROM 中,一次只能删除或写入 1 字节的数据。因此,这种内存比 EEPROM 更快。

它可以被重新编程,而无需将其从计算机中取出。其访问时间非常高,约为 45 到 90 纳秒。它也非常耐用,因为它能够承受高温和剧烈压力。

用途:它用于在个人计算机和数字设备之间存储和传输数据。它用于 USB 闪存驱动器、MP3 播放器、数码相机、调制解调器和固态硬盘 (SSD)。许多现代计算机的 BIOS 存储在称为闪存 BIOS 的闪存芯片上。

ROM 的用途

ROM(只读存储器)用于各种电子设备。让我们探讨这些电子设备中发现的众多 ROM 应用。

计算机

在计算机系统中,ROM 是必不可少的。基本输入/输出系统 (BIOS) 和初始启动指令作为计算机固件的一部分存储。ROM 中包含的固件负责在您开启计算机时初始化硬件组件、运行自检并将操作系统加载到内存中。

视频游戏

ROM 广泛用于视频游戏。游戏数据以前存储在早期游戏机和便携式设备上的 ROM 卡带中。这些卡带在 ROM 芯片上携带游戏的 कोड、图形、声音和其他组件。当您插入游戏卡带时,游戏机会通过读取 ROM 芯片上的数据来加载游戏。在视频游戏中使用 ROM 可以轻松分发,并确保游戏数据保持不变,没有意外修改的风险。

智能手机

ROM 在智能手机中用于存储固件,例如操作系统和内置应用程序。为了在设备使用寿命内保持一致性,制造商会在设备制造过程中将固件编程到 ROM 中。启动加载程序(启动引导过程并加载操作系统)也包含在 ROM 中。通过使用 ROM,智能手机可以提供稳定可靠的性能,并保护固件免受潜在的损坏或篡改。

数字测速仪

在汽车行业,ROM 用于数字测速仪或速度计。这些设备中的 ROM 芯片存储了准确测量和显示车辆速度所需的校准数据和转换表。这确保了速度计运行一致并提供准确的读数。ROM 的非易失性确保即使断电或关闭车辆,校准数据也能保持不变。

可编程电子设备

ROM 用于可编程电子设备、微控制器和可编程逻辑器件 (PLD)。这些设备经常使用可编程只读存储器 (PROM) 或可擦除可编程只读存储器 (EPROM)。用户可以对这些 ROM 芯片进行编程,以保存设备可以访问和执行的特定信息或指令。这种灵活性使得在机器人、自动化和控制系统等各种数字应用中能够进行定制和灵活操作。

ROM 的优点

  1. 数据保留:ROM 在断电后也能保留数据,确保关键数据得到保留并在需要时可访问。
  2. 永久存储:ROM 的不可修改性确保了内部存储的信息保持不变,使其成为数据和指令的可靠且一致的来源。
  3. 可靠的性能:由于 ROM 是只读的,因此可以防止意外修改,从而确保存储的数据在一段时间内可靠且一致地运行。
  4. 非易失性存储器:ROM 是存储不应更改的重要指令、固件和数据的选择,因为它可以在没有持续电源的情况下保留数据。
  5. 稳定性:ROM 通过存储关键指令和校准数据,为引导过程和整体系统功能提供了坚实的基础,确保了性能一致且可预测。
  6. 数据安全:只读存储器 (ROM) 可防止未经授权的更改,增强了其中数据的安全性,并防止未经授权的访问。
  7. 即时可访问性:ROM 中存储的数据和指令可以即时访问,减少了耗时的数据加载过程,从而加快了系统运行速度。
  8. 简单的设计和制造:ROM 芯片的设计使其易于集成到电气设备中。
  9. 成本效益:ROM 通常比其他类型的存储器便宜,使其成为许多应用的经济之选,而不会影响性能。
  10. 兼容性:ROM 与各种架构和系统兼容,可以轻松集成到各种电子系统和设备中。

ROM 的缺点

  1. 不变性:ROM 的主要缺点是它无法被修改或更新。一旦数据被编程到 ROM 中,就无法更改,这限制了其在某些应用中的灵活性和适应性。
  2. 灵活性有限:与 RAM 或闪存等可写内存不同,ROM 不允许动态更改或更新存储的数据,这限制了其在需要频繁修改的情况下的使用。
  3. 制造挑战:制造 ROM 芯片需要特殊工艺,使其灵活性较低,并且可能比其他类型的内存更昂贵。
  4. 设计限制:ROM 的固定性质对设计提出了限制,因为其中编程的数据无法轻易更改或扩展。当系统需求发生变化或需要附加功能时,这可能会受到限制。
  5. 开发耗时:在开发阶段,创建和编程 ROM 需要大量时间和精力,这可能会减慢整体产品开发周期。
  6. 小批量生产成本较高:ROM 生产的初始成本,例如掩膜创建,可能相对较高,使其在小批量或定制生产运行中成本效益较低。
  7. 无升级性:ROM 只能通过物理更换整个芯片来升级或更换为新版本,这在许多情况下可能成本高昂且不切实际。
  8. 存储效率低下:ROM 是只读的;ROM 芯片内的未使用的空间无法利用,可能导致存储效率低下。
  9. 有限的错误校正:与其他内存类型不同,ROM 不提供内置的错误校正机制,这可能对需要关键数据完整性的应用程序不利。
  10. 通用性降低:ROM 的固定性质使其对于需要动态存储和频繁更改存储数据的应用程序而言通用性较低。

常见问题解答

ROM 与 RAM 有何不同?

答:ROM(只读存储器)在断电后也能保存永久数据。它用于存储保持不变的指令和数据。相比之下,RAM(随机存取存储器)是易失性的,用于快速存储计算机处理器可以访问的临时数据。

我可以在 ROM 中存储我的数据吗?

答:不可以,ROM 在制造过程中预先编程,用户无法轻易修改。它旨在存储固件、系统指令和必须保持不变的数据。

ROM 中的数据安全吗?

答:是的,存储在 ROM 中的数据可防止未经授权的修改。由于 ROM 是只读的,因此数据不易被更改或篡改,从而确保了关键指令和数据的安全。

数据可以在 ROM 中保留多久?

答:存储在 ROM 中的数据可以保存很多年,甚至可能数十年。只要芯片的物理完整性得到保持,存储在 ROM 芯片中的数据就可以长久存在。

ROM 可以重新编程吗?

答:某些 ROM 类型,例如 PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)和 EEPROM(电可擦可编程只读存储器),可以使用特定的技术和工具进行重新编程。然而,与更改 RAM 或闪存等可读内存中的数据相比,重新编程 ROM 更为困难,需要专门的设备。


下一个主题计算机基础教程