常识来了
白蓝主题五 · 清爽阅读
首页  > 软件进阶

只读存储器和固件的关系:藏在设备里的“固定程序”

你有没有想过,为什么刚买回来的路由器插上电就能工作?或者主板一通电,还没进系统,屏幕就先亮了?这些设备在没有运行操作系统之前,是怎么知道自己该做什么的?秘密就藏在只读存储器固件里。

只读存储器:设备的“记忆仓库”

只读存储器(ROM,Read-Only Memory)是一种断电后仍能保存数据的存储芯片。顾名思义,它最初是“只能读不能写”的,虽然现在有些类型可以擦写,但它的核心用途没变——存放那些不能轻易改动的关键信息。

比如老式游戏机卡带,里面就是 ROM 芯片,存着游戏程序。你没法在卡带上改代码,但它一插上主机就能立刻运行。这种“即插即用”的特性,正是 ROM 的价值所在。

固件:设备的“底层操作手册”

固件(Firmware)本质上是一段写在硬件上的软件,它直接控制硬件的行为。你可以把它理解成设备的“出厂设置程序”。比如打印机的固件知道怎么驱动喷头,摄像头的固件知道怎么处理图像信号。

这就像新买的微波炉,面板上的按钮一按,它就知道该加热多久、火力多大——不是靠手机 App 或电脑,而是靠内嵌的固件在指挥。

两者怎么配合工作的?

ROM 是物理存储介质,而固件是存在这里面的程序内容。打个比方:ROM 是一本纸质书,固件就是这本书里的文字内容。书本身不会变,但上面写的东西决定了你能读到什么。

当设备通电瞬间,CPU 第一件事就是去 ROM 里读取固件程序,然后按照里面的指令初始化硬件、检测内存、准备启动环境。这个过程发生在操作系统加载之前,所以哪怕硬盘坏了,设备依然能完成最基本的自检。

现代设备中,ROM 常被闪存(Flash Memory)替代,比如 BIOS 或 UEFI 固件就存在主板的 SPI Flash 芯片里。这类存储虽可更新,但仍归类为广义的“只读存储器”,因为它平时不参与常规读写,只在升级固件时才被修改。

举个常见场景:你电脑开机时按 Del 键进 BIOS 设置界面,看到的那些选项,就是正在和固件交互。而这个 BIOS 程序,就一直安静地躺在那块小小的 ROM 芯片里,等着被唤醒。

固件也能升级,说明它真“只读”吗?

现在很多设备都支持固件升级,比如路由器推送新版本、相机增加新功能。这看起来好像和“只读”矛盾了?其实不然。

技术进步让 ROM 演变成了可擦写的形态,比如 EEPROM 或 Flash。它们在日常使用中表现为“只读”,只有在特定条件下(如进入刷机模式)才会被写入。这样既保证了稳定性,又保留了更新能力。

就像你家门锁一般不动,但拿着正确钥匙还是能换锁芯。ROM 也是如此,平时只读,关键时刻可更。