只读存储器读取速度快吗?实测BIOS和固件加载就明白了

打开电脑时,屏幕刚亮起就跳出厂商Logo,几秒内BIOS自检完成——这个过程里,CPU调用的正是只读存储器(ROM)里的代码。很多人以为ROM是“老古董”,速度肯定比不上内存或SSD,其实真不是这样。

ROM不是慢,是“不折腾”

ROM最大的特点是:出厂写死、断电不丢、不能改。正因为不用支持擦写、不用做磨损均衡、也不用走复杂的控制器协议,它的读取路径极短。像主板上的SPI Flash ROM,典型读取延迟在几十纳秒级,比SATA SSD的毫秒级快了上万倍。

举个身边例子:你按电源键后,CPU第一件事就是从0xFFFF0地址取指令——这个地址映射的就是BIOS芯片。如果这里换成一块需要初始化控制器、寻道、缓存预热的硬盘,开机可能得等半分钟才看到LOGO。

别拿它跟DDR5比,但比机械硬盘稳赢

ROM的带宽确实拼不过现代内存(比如DDR5轻松60GB/s),但它胜在“即开即读”。没有地址线等待、没有刷新周期、没有纠错重试(基础ROM甚至不带ECC)。实际读取一个16字节的启动签名,往往一两个时钟周期就完成了。

反观机械硬盘,哪怕只是读取MBR扇区,也要经历磁头寻道+盘片旋转+数据串行传输,平均要10ms以上。ROM快不快?看场景——对随机小数据读取,它比绝大多数存储都干脆利落。

常见ROM类型读速参考(非实验室极限值)

Mask ROM(掩模ROM)     :~40ns访问延迟,不可改写
EPROM(紫外线擦除) :~90ns,需擦除后重烧
EEPROM(电擦除) :~1μs,可单字节改,常用于配置存储
SPI Flash(主流BIOS) :~80ns~200ns,支持XIP(就地执行)

注意:现在很多“ROM”其实是Flash芯片,但沿用了ROM的逻辑特性——只读访问模式下,驱动直接映射到内存空间,CPU像读内存一样取指令,根本不用经过文件系统或驱动栈。

所以,下次看到“只读存储器”别下意识觉得慢。它不是跑分选手,而是那种你一敲键盘它立刻响应、从不卡顿的老实人。