1. 引言在计算机组成原理里存储器的分类方式有很多按存储介质、按存取方式、按信息易失性、按读写功能……其中最经典、也最常被拿来讨论的一种分法就是按 RAM 和 ROM 来划分。这里说的 RAM / ROM主要是按读写特性和断电后数据是否丢失来分的。它们都属于半导体存储器磁盘、光盘、磁带等通常归为外存不在这套二分里。2. RAM随机存取存储器RAM 的最大特点是可读可写易失性断电后数据丢失主要用于程序运行时的临时数据存储RAM 又分为两大类SRAM 和 DRAM。3.1 SRAM静态随机存取存储器SRAM 用触发器来存储数据不需要周期性刷新。特点速度快成本高集成度相对较低不需要刷新典型用途CPU Cache寄存器、缓冲器对速度要求高、容量要求不大的场景3.2 DRAM动态随机存取存储器DRAM 用电容存储电荷来表示数据。电容会漏电所以必须周期性刷新。特点需要刷新速度比 SRAM 慢成本低集成度高典型用途计算机主存手机运行内存常见类型包括SDRAM同步动态随机存取存储器DDR SDRAM双倍数据速率同步动态随机存取存储器DDR2 / DDR3 / DDR4 / DDR5我们平时说的“内存条”通常就是 DRAM。3. ROM只读存储器ROM 的传统特点是非易失性断电后数据不丢失传统上只能读不能随意写现代很多 ROM 类器件已经可以电擦写ROM 家族比较庞大常见类型如下。3.1 MROM掩膜 ROM出厂时由厂家直接固化内容用户不可修改。适合大批量生产内容固定不变成本敏感的场景3.2 PROM可编程 ROM用户可以进行一次编程写入后不能修改。特点只能写一次适合小批量定制3.3 EPROM紫外线可擦除可编程 ROM可以用紫外线照射擦除然后重新编程。特点可反复擦写擦除不方便需要专用设备现在基本被 EEPROM 和 Flash 取代3.4 EEPROM电可擦除可编程 ROM用电信号擦除和写入不需要紫外线。特点可电擦写可按字节操作擦写次数有限速度相对较慢常见用途保存配置参数嵌入式系统中的小容量非易失数据3.5 Flash闪存Flash 由 EEPROM 技术发展而来但通常按块擦除而不是按字节。Flash 主要分为NOR Flash可片内执行读取速度快常用于固件、启动代码。NAND Flash密度高、成本低、容量大常用于 SSD、U 盘、手机存储、SD 卡。4. RAM 与 ROM 对比类型易失性读写能力速度典型用途RAM易失可读可写快主存、CacheROM非易失传统只读现代可写相对慢固件、启动程序、嵌入式程序再简单一点RAM程序运行时用断电就没了。ROM程序固化用断电还在。5. 几个常见误区5.1 ROM 一定不能写吗不一定。传统 ROM 确实以只读为主但 EEPROM、Flash 等都可以写。只是它们通常被归入 ROM 大类因为它们具有非易失性。5.2 内存和硬盘是一回事吗不是。内存通常指 RAM是易失性主存。硬盘、SSD、U 盘属于外存。SSD 内部常用 NAND Flash而 NAND Flash 在技术上和 ROM 家族有关但整块 SSD 通常被归为外存。5.3 RAM 都很快吗不能一概而论。6.总结SRAM 很快DRAM 相对慢。即使是 DRAM不同代 DDR 之间速度也差别很大。RAM 主要分 SRAM 和 DRAMROM 则包括 MROM、PROM、EPROM、EEPROM 和 Flash。理解这两大类再去看 Cache、内存条、固件、SSD、U 盘就会清晰很多。