为什么电脑存储空间采用RAM而不采用ROM
ROM的全称是只读存储器,它的主要设计初衷是为了存储数据而非运行程序,其核心特性是在关机断电后数据依然保留。虽然现在的ROM多为可擦写的EEPROM等类型,但它本质上仍不具备作为主运行内存的功能,因为CPU无法直接从ROM中高效地执行指令代码。
ROM的全称是只读存储器,它的主要设计初衷是为了存储数据而非运行程序,其核心特性是在关机断电后数据依然保留。虽然现在的ROM多为可擦写的EEPROM等类型,但它本质上仍不具备作为主运行内存的功能,因为CPU无法直接从ROM中高效地执行指令代码。
其实这里有个概念误区。CPU当然可以直接从ROM执行指令,启动BIOS就是这样做的。真正的原因是ROM速度慢且写入困难,无法像RAM那样高速随机读写来存储临时数据和频繁切换的程序状态。
其实这个说法有点简化了。根本原因在于“冯·诺依曼架构”的瓶颈:CPU取指令和数据都要经过同一个总线。如果程序直接存在ROM里,总线带宽根本喂不饱CPU,速度会成为巨大的瓶颈。RAM虽然掉电丢失,但它提供了极高的随机读写速度和带宽,让CPU能像“即拿即吃”一样工作。另外,现代操作系统需要频繁进行虚拟内存交换、动态分配堆栈,ROM这种只读或慢速存取的介质完全无法满足这种高频、双向的数据流动需求。简单来说,ROM负责“存档”,RAM负责“干活”,分工不同。
RAM和ROM的设计初衷完全不同,一个为了快速读写,一个为了永久保存。CPU直接执行ROM里的代码效率太低,所以RAM是必须的。