嵌入式 - 存储介质【2】ROM RAM这么简单就区分了
文章目录
- 引言
- 主存划分
- 随机存储器
- 只读存储器
- 直观比较
- RAM V.S. ROM
- SRAM V.S. DRAM
- 参考资料
更新历史
- 20220314 首次编辑,存储介质的基础概念和分类的总结。
引言
这篇文章其实还是属于【固件防复制】这一系列文章的衍生,进一步梳理一下存储介质的分类。
嵌入式系统使用的存储器有多种类型,按照不同的划分方式也各有说法:
- 存取特性
a. 随机存取存储器(Random Access Memory, RAM)
b. 只读存储器(Read Only Memory, ROM) - 物理位置
a. 片内存储器(芯片内部的存储器)
b. 片外存储器(芯片外扩展的存储器)
c. 外部存储设备 - 存储信息差异
a. 程序存储器
b. 数据存储器
这里我们讨论的是按照方式 1 划分的。
主存划分
嵌入式系统中通常称片内存储器和片外扩展的存储器为主存储器或主存,主存分类为:
这篇文章先对半导体存储器做简单的梳理。ROM 和 RAM 一开始的划分是通过掉电是否保存信息来划分的,虽然后续也衍生了掉电信息依然存储的 RAM,但是这里根据存储特性来作为导入还是比较合适和易于理解的。
随机存储器
RAM 常用来存储程序运行期间的生成的数据。
如上所示,随机存储器包括静态和动态两种,即 SRAM, DRAM,都属于 RAM 的范畴,易失性存储器,即掉电后信息丢失。
- SRAM,Static RAM, 其是靠双稳态电路(可以翻阅《电子技术基础-数字部分》,康华光)的两个稳定状态来记录信息 0 和 1 的;
- DRAM,Dynamic RAM, 是靠存储单元的晶体管极间电容的充放电状态来存放信息 0 和 1 的,这里提到了电容,则会存在充放电,所以其构成介质和原理导致了其必须定时刷新以保持原来信息不变的特性,使用时外部需要提供刷新电路。
目前嵌入式处理器内嵌的数据存储器基本为 SRAM,外部扩展的存储器大多采用 DRAM 或其改进型,包括 DDR(Dual Data Rate)、SDRAM(双倍速率同步 RAM)、性能更加优越的 DDR2 SDRAM, DDR3 SDRAM 和 DDR4 SDRAM。
注:这段提到的 SRAM 值得就是 MCU 手册中的 RAM,而 DRAM 就是硬盘空间,这里的外部是相较于主板来说的;片内片外是相较于 MCU 说的。
只读存储器
- MPROM(Mask ROM)是基于掩膜工艺技术的只读存储器,其出厂时就已将 0,1 数据固化了,即一旦生产出来,信息是不可变的。这种 ROM 主要用于不可升级的成熟产品存储程序或不变的参数等信息。
- PROM (Programming ROM),即一次可编程的只读存储器,只能编程一次(新片只有一次编程机会),其是通过外接一定的电压和电流来控制内部存储单元上节点熔丝的通断来决定 0 或 1 的,一旦编程完毕则不可逆。
- EPROM (Erasable Programming ROM) 为紫外线可擦除可编程的只读存储器,通过内部浮置栅场效应管是否充满足够的电荷来决定 0 和 1,这种电荷稳定性非常好,可长久不变。使用紫外线照射一段时间,电荷才会重新分布,用来擦除信息,擦除编程次数十万次以内。其特性为编程速度慢,擦除时间长。
- EEPROM (Electrically Erasable Programming ROM) 是一种可以电擦除可编程的只读存储器,可以在线改写和擦除信息,无须紫外线照射。且可多次擦除和编程,可擦除和编程次数在 100 万次以内。
- Flash ROM 是近些年来应用最广、速度最快的只读存储器,其是从 EEPROM 基础上改进发展而来的,特点是擦除和编程速度快,因此得名 闪速存储器,简称闪存。而Flash 可分为 NOR Flash 和 NAND Flash,其差别可参照这篇文章。
直观比较
RAM V.S. ROM
RAM | ROM |
---|---|
短暂存储(以电源周期为一个周期) | 永久存储 |
成本高 | 成本低 |
通常以 MB 计 | 通常以 GB 计 |
易失 | 非易失 |
运行程序常用 | 启动程序常用 |
易修改、擦除和读取 | 易读,修改及擦除慢 |
可直接被 CPU 访问 | 需要先加载到 RAM 中才能访问 |
ROM 本质就是读取快,但是写入速度慢,其衍生的后续存储介质也带有此类特点。
SRAM V.S. DRAM
SRAM | DRAM |
---|---|
由类似于 D 触发器的电路组成 | 由电容组成 |
存在电源供电即可 | 需要每几个毫秒充电一次来维持数据 |
价格高 | 价格低 |
较 DRAM 速度快 | 较 SRAM 速度慢 |
存储容量有限 | 可存储大量数据 |
功耗高 | 功耗低 |
产生热量高 | 产生热量低 |
常用来做缓存,Cache | 常用来做主存 |
参考资料
- Random Access Memory (RAM) and Read Only Memory (ROM);
- Difference between RAM (Random Access Memory) and ROM (Read Only Memory);
- 《嵌入式系统开发技术》;
嵌入式 - 存储介质【2】ROM RAM这么简单就区分了相关推荐
- 嵌入式系统存储(RAM、ROM、Flash)
目录 1.储存器系统层次结构 2.RAM的种类 3.ROM的种类 4.Flash Memory的种类 1.储存器系统层次结构 1.CPU内部寄存器 2.芯片内部的高速缓存(cache) 3.芯片 ...
- 基础——ROM, RAM, FLASH, SSD, DDR3/4, eMMC, UFS, SD卡, TF卡,相互关系
1. 关系 ROM, RAM, FLASH闪存, SSD, DDR3/4, eMMC, UFS, SD卡, TF卡, 这几个名词在手机和电脑等数码产品的参数中经常出现,单独看还明白是什么,放在一块,他 ...
- 单片机中的ROM,RAM和FLASH的作用
本文部分参考自:http://blog.sina.com.cn/s/blog_98ca54fc01017y4t.html 并在此基础上进行整理,添加了关于flash的问题. 之前从较为抽象的角度介绍了 ...
- vivado ROM IP核简单使用
vivado ROM IP核简单使用 vivado配置 下面选择数据的存储深度和数据的位宽 ROM内存储的数据由coe文件初始化 下面是初始化coe文件的内容 memory_initializatio ...
- 存储器: Flash,eeprom,rom,ram
存储器 ram: 随机存取存储器 DRAM: 须定时刷新, 集成度高, 功耗低, 成本低(内存条, 主内存) FPM DRAM: 快速页面模式DRAM, 同一页不会重复送出列地址 EDO DRAM: ...
- 常用存储器(ROM/RAM/FLASH/SDRAM/SRAM/DDR/EEPROM/emmc)
单片机 ROM /RAM/FLASH区别 1.ROM,RAM和FLASH在单片机中的作用 ROM--存储固化程序的(存放指令代码和一些固定数值,程序运行后不可改动) c文件及h文件中所有代码.全局变量 ...
- Linux编译和下载嵌入式实验,嵌入式实验6交叉编译及Linux简单程序设计实验
<嵌入式实验6交叉编译及Linux简单程序设计实验>由会员分享,可在线阅读,更多相关<嵌入式实验6交叉编译及Linux简单程序设计实验(7页珍藏版)>请在人人文库网上搜索. 1 ...
- JavaScript 设计模式核⼼原理与应⽤实践 之 创建型:工厂模式·简单工厂——区分“变与不变”
JavaScript 设计模式核⼼原理与应⽤实践 之 创建型:工厂模式·简单工厂--区分"变与不变" 先来说说构造器 在介绍工厂模式之前,为了辅助大家的理解,我想先在这儿给大家介绍 ...
- 浅析嵌入式开发中的RAM和ROM
在嵌入式开发中常常会遇到RAM,ROM,flash,内存等等一些问题,先梳理一下备用. 1.ROM:只读存储器.优点:容量大,掉电不丢失:缺点:读取速度慢.事实上,"只读"定义不准 ...
最新文章
- 一款轻量级的桌面WebServer通讯组件
- asp.net mvc5编程实战_深圳荷坳车铣复合编程培训cnc数控编程技术
- sql 取重复key中的第一条_SQL每日一题
- Sqoop 1.99.3 hadoop-1.2.1 安装配置
- Generic 打印ID对应的object type的工具
- POJ 1185 炮兵阵地(动态规划+状态压缩)
- 解决混合模式程序集在VS2010 .net 4.0 环境下调试出错的方法。
- 苹果Mac出版物设计必备软件:​​​​Affinity Publisher
- windos读写ext3工具_Win7下读写Ext2/Ext3/Ext4文件系统
- onlyoffice文档服务器加载慢,【onlyoffice中文指南】12-问题及排除
- JVM-JConsole:Java监视与管理控制台(windows)
- HDFS Rack Awareness详解
- 经济基础知识(初级)【13】
- 如何修改Win10窗口底色/背景颜色/护眼模式?
- gtx1050ti和gtx1650哪个好
- 不花钱 三分钟就可以搭建商城的详细步骤
- JavaScript 之 Array对象
- 【LSTM时间序列预测】基于matlab鲸鱼算法优化LSTM时间序列预测【含Matlab源码 105期】
- postgresql: pg_ctl -D data start 出现 postgres aaaaaaaaaaaaaaaaaaaaaaaaa C:/Users/huang zhen yang/dat
- CSRF---跨站请求伪造
热门文章
- 6.初次见面的礼貌用语
- css-loader、style-loader、sass-loader作用
- “饶派杯”XCTF车联网安全挑战赛战队巡礼!
- 怎么在家里赚钱?教你利用电影解说来赚钱!
- c语言圆桌算法,算法 – 人们可以在圆桌中坐多少种不同的方式?
- 搭建hexo博客修改设置网页图标icon失败的解决方法
- Qt的alignment、margin属性
- MyBatis Generator 逆向工程插件
- cocoscreator 接入微信sdk分享时可以拉起分享弹窗但是选择好友后就是分享不出去的解决方法
- 2003系统搭建web服务器,Win2003架设WEB服务器与IIS的备份和移植