对于RAM和FLASH的理解
RAM和FLASH是电子设备中两种最基础也是最重要的存储介质。简单来说,RAM是内存,负责临时存放正在运行的数据;FLASH是硬盘,负责长期保存数据。它们最核心的区别在于:断电后RAM里的数据会消失,而FLASH里的数据不会。
1. 核心特性对比
| 特性 | RAM(随机存取存储器) | FLASH(闪存) |
|---|---|---|
| 易失性 | 易失:断电数据丢失 | 非易失:断电数据保留 |
| 读写速度 | 极快,纳秒级 | 相对慢,微秒级 |
| 主要用途 | 运行程序、暂存数据 | 存储固件、文件、代码 |
| 读写次数 | 几乎无限次 | 有限制(约1~10万次) |
| 成本 | 单位容量成本高 | 单位容量成本低 |
| 典型容量 | 几十K到几十GB | 几KB到几TB |
2. 在嵌入式系统(如单片机)中的分工
在单片机或嵌入式开发中,这个区别尤其关键:
- FLASH:存放程序代码和掉电后需要保存的数据(如配饰参数)。单片机复位后,CPU从FLASH中读取指令开始执行。你写的代码变异后就是烧录到FLASH里的。
- RAM:存放程序运行时的变量、堆栈和临时数据。程序运行时,会把需要频繁读写的数据从FLASH中加载到RAM中操作,因为RAM快得多。
3. 常见类型细分
RAM主要分两种:
- SRAM(静态RAM):速度快,不需要刷新,但集成度低、成本高。常用于CPU缓存和单片机内部的小容量RAM。
- DRAM(动态RAM):需要定期刷新,速度稍慢,但集成度高、便宜。电脑的内存条就是DRAM。
FLASH主要分两种: - NOR FLASH:读取速度快,支持芯片内执行,可直接运行代码。常用于存储嵌入式系统系统的启动代码。
- NAND FLASH:容量大、成本低,但读取速度相对较慢,不适合直接运行代码。常用于U盘、SSD、手机存储。
4. 为什么需要两者配合
因为速度、容量、成本和易失性之间存在矛盾:
- 如果只用 FLASH 运行程序,速度太慢,且频繁读写会缩短寿命。
- 如果只用 RAM 存储所有数据,断电就全丢了,且成本极高。
所以典型架构是:代码和固定数据放 FLASH,运行时把关键部分搬到 RAM 里高速执行,需要保存的结果再写回 FLASH。
5. 一个容易混淆的点
内存”这个词在日常语境中常指手机/电脑的运行内存(RAM),而“存储空间”指 FLASH/硬盘。但在技术语境中,“内存”有时泛指所有存储器。理解时抓住是否断电丢失这个根本区别就不会错。
https://www.cailinjun.com/2026/10/09/%E5%AF%B9%E4%BA%8ERAM%E5%92%8CFLASH%E7%9A%84%E7%90%86%E8%A7%A3/
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 CCの日记!
评论