详解ROM和RAM

参考:详解ROM和RAM
作者:嵌入式实验楼
网址:https://mp.weixin.qq.com/s/FhUxMLeAxkhWe5m-gV_hMw

目录

  • 1、只读存储器:ROM
  • 2、随机访问存储器:RAM

内存是计算系统最重要的元素,因为没有它,计算机就无法执行简单的任务。计算机内存有两种基本类型 - 主内存(RAM和 ROM)和辅助内存(硬盘驱动器、CD 等)随机存取存储器(RAM) 是主要的易失性存储器,只读存储器 (ROM) 是主要的非易失性存储器

我相信,很多朋友都会把手机的运行内存、数据存储等混为一谈。

在智能手机还没普及时,手机中有个可移动的存储设备,它的名字就是‘TF’卡,当时也叫‘内存卡’。TF卡是用手机存储数据的,并不是手机的运行内存,这也导致了现在很多人都以为手机内存就是手机内部储存空间,特别是很多无良商家以此来混淆视听,更有甚者使用bit代替Byte于是4GB+512MB的存储组合就变成了32Gbit+4Gbit,无良厂商在低端机上宣传成“32G+4G超大内存”。

接下来,我们来详细了解ROM和RAM。

先说总结:
在这里插入图片描述

1、只读存储器:ROM

ROM:只读存储器(ReadOnly Memory),非易失性。它是一种只能读出事先所存的数据的固态半导体存储器。一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定,断电后所存数据也不会改变。计算机中的ROM主要是用来存储一些系统信息,或者启动程序BIOS程序,这些都是非常重要的,只可以读一般不能修改,断电也不会消失。

计算机存储器在其上数据已被预先记录。一旦将数据写入ROM 芯片,就无法将其删除,只能读取。与主存储器(RAM)不同,即使计算机关闭,ROM也会保留其内容。ROM被称为非易失性,现在有很多非易失性存储器。由于历史原因,虽然ROM中有的类型可以读也可以写,但是整体上都被称为只读存储器(Read Only Memory)。ROM是以它们能够被重新编程(写)的次数和对它们进行重编程所用的机制来区分的。

当然啦,现在ROM也不仅仅是只读的了,只是时代在发展,ROM还叫ROM罢了。

至于为啥叫ROM,以单片机为例,我们把事先准备好的固件烧录到Flash中,如果不在重新烧写固件,然后就不能修改了。不管用户怎么重新启动,怎么运用,都不会影响到固件。也就是说,固件是不可被写入的,因此叫做“只读储存器”。对于手机来讲也是这样子,内部储存中有一部分空间用于存放系统软件,不管你怎么运用也不会把系统软件用坏了。这一部分也可以理解为“只读储存器”。

实际运用的时候会把内置储存和Flash分成两个部分,一块可以被写入,一块不能被写入。可以被写入的地方用来储存通讯录、照片、音乐、APP之类的,不可被写入的地方用来存放操作系统的软件。

手机的ROM,从最早的NOR Flash发展到NAND Flash,现在的智能手机几乎全都是eMMC了(和TF卡是一个东西)。单片机的Flash还是维持在小容量的NOR Flash。

为了便于使用和大批量生产,进一步发展出了可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)。EPROM需要用紫外线长时间照射才能擦除,使用很不方便。1980s又出现了电可擦除可编程只读存储器(EEPROM),它克服了EPROM的不足,但是集成度不高、价格较贵。于是又发展出了一种新型的存储单元结构同EPROM类似的快闪存储器(FLASH MEMORY)。FLASH集成度高、功耗低、体积小,又能在线快速擦除,因而获得了快速发展。

因此,ROM进一步分为4种类型:PROM、EPROM、EEPROM和Flash。

PROM(Programmable ROM):可编程ROM,只能被编程一次。

EPROM(Erasable Programmable ROM,EPROM):可擦写可编程ROM,擦写可达1000次。

EEPROM(ElectricallyErasable Programmable ROM,电子可擦除EPROM):指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。

闪存(flashmemmory)基于EEPROM,也就是我们常说的Flash。它已经成为一种重要的存储技术。固态硬盘(SSD)、U盘等就是一种基于闪存的存储器。它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来 Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。它于EEPROM的最大区别是,FLASH按扇区(block)操作,而EEPROM按照字节操作。FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因此适合用于做程序存储器。

目前Flash主要有两种NOR Flash和NADNFlash。

NOR Flash:NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。

NADN Falsh:NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。

一般小容量的存储用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的“闪盘”,可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。

2、随机访问存储器:RAM

RAM:随机访问存储器(Random Access Memory),易失性。它是与CPU直接交换数据的内部存储器,它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,凡是整个程序运行过程中,所用到的需要被改写的量(包括全局变量、局部变量、堆栈段等),都存储在RAM中。

当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。

RAM的随机储存器的“随机”是什么意思呢?现在的ROM,也能够“随机储存”,但是计算机刚发明的时候,是用纸带、磁带来当作ROM运用的,纸带和磁带绕成一卷,只能顺序读写,不是随机读写,不能想读哪里读哪里。因此才有了RAM的“随机储存”一说。

随机访问存储器分为两类:静态的和动态的。静态的RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多。SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。DRAM用来作为图形系统的帧缓冲区。

SRAM:SRAM存储器单元具有双稳态特性,只要有电,它就会永远的保持它的值(有点类似ROM易失性)。即使有干扰来扰乱电压,当干扰消除时,电路就会恢复到稳定值。它是为了增加内存的存取效能、提高CPU处理数据的效率而产生的。由于RAM的速度赶不上CPU的速度,为了解决这一冲突,利用Cache作为介质,先将有关程序的内容放入Cache中,CPU可以直接从Cache中读取数据,从而达到提高CPU的工作速度的目的。处理器的内部都包括高速缓冲存储器,一些主板也带有高速缓冲存储器。

SDRAM:即Synchronous DRAM(同步动态随机存储器),曾经是PC电脑上最为广泛应用的一种内存类型,即便在今天SDRAM仍旧还在市场占有一席之地。既然是“同步动态随机存储器”,那就代表着它的工作速度是与系统总线速度同步的。SDRAM内存又分为PC66、PC100、PC133等不同规格,而规格后面的数字就代表着该内存最大所能正常工作系统总线速度,比如PC100,那就说明此内存可以在系统总线为100MHz的电脑中同步工作。与系统总线速度同步,也就是与系统时钟同步,这样就避免了不必要的等待周期,减少数据存储时间。同步还使存储控制器知道在哪一个时钟脉冲期由数据请求使用,因此数据可在脉冲上升期便开始传输。SDRAM采用3.3伏工作电压,168Pin的DIMM接口,带宽为64位。SDRAM不仅应用在内存上,在显存上也较为常见。

DDR SDRAM:双倍数据速率同步 DRAM(Double Data-RateSynchronous DRAM)。也就是我们常说的DDR内存。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率。与SDRAM相比:DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLL(Delay LockedLoop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDL本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDRAM的两倍。

从外形体积上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。但DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、时钟、电源和接地等信号。DDR内存采用的是支持2.5V电压的SSTL2标准,而不是SDRAM使用的3.3V电压的LVTTL标准。

RAM 断电时将丢失其存储内容,故主要用于存储短时间使用的程序。现在手机中的RAM一般是由LPDDR担当,尤其是速度快功耗低的LPDDR4X在市面上的旗舰手机中占比较大。

RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。在应用中,常规上ROM是用来存储固化程序的,RAM是用来存放数据的。由于FLASH ROM比普通的ROM读写速度快,擦写方便,一般用来存储用户程序和需要永久保存的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解STM32内存管理

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

html 手写字效果,canvas画布实现手写签名效果的示例代码

最近项目中涉及到移动端手写签名的功能需求,将实现代码记录于此,供小伙伴们参考指摘哦~HTML代码:手写区清除确定CSS样式:.mSign_signMark_box{padding: 15px 15px 26px 15px;}.mSign_signMark_footer{max-width:640px;margin:0 au…

FTP云盘

参考:FTP云盘项目 作者:糯米啊啊 发布时间: 2021-08-19 10:34:05 网址:https://blog.csdn.net/weixin_43732386?spm1001.2014.3001.5509 参考:自制FTP云盘项目 作者:不说话的小脑斧 发布时间: …

html transform属性,css3 transform属性详解

CSS3变形是一些效果的集合,比如平移translate() 、旋转rotate()、缩放scare()和倾斜skew()效果,每个效果都被称作为变形函数(Transform Function),它们可以操控元素发生旋转、缩放、和平移等变化。CSS3的2D transform函数包括了translate()、scale()、ro…

PHP调用新浪API 生成短链接

我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差&a…

Chrome如何下载网页视频

目录第一步:右键,选择「检查」指令,进入代码控制面板第二步:单击代码面板左上角红色标出来的按钮,然后鼠标移到左边视频上第三步:双击src后面的代码(全部展开),复制粘贴到…

单链表反转

参考:【图文解析】反转一个单链表 作者:giturtle 发布时间: 2019-03-18 15:26:38 网址:https://blog.csdn.net/qq_42351880/article/details/88637387?spm1001.2014.3001.5501 目录例题描述思路代码实现例题描述 反转一个链表 …

MODBUS通讯协议详解(基于485)

参考:灵育科技Modbus课程总结 作者:Naunyang 时间:2020-11-23 13:51:58 网址:https://blog.csdn.net/Naunyang/article/details/108740456?spm1001.2014.3001.5502 参考:MODBUS用于单片机通讯 作者:hillch…

C\C++与Java中的static关键字

C\C里面的static: 面向过程的static: 在c和c面向过程的设计里,在全局变量前加上static关键字则可将该变量定义为一个静态全局变量,比如: static int a; 那么c和c中的静态全局变量有什么特点呢: 1、 变…

步进电机、伺服电机、舵机、无刷电机、有刷电机区别

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

PID算法实现温控

参考:PID算法 作者:hillchina 发布时间: 2016-09-28 21:48:04 网址:https://www.bilibili.com/video/BV1Ds411t7Hr 以上完整的视频教程在腾讯课堂里有,在腾讯课堂里搜索PID,找到灵育科技,课程对…

[Unity3d]多个摄像机叠加效果

今天学习到一个多个摄像机看到的场景在同一个层显示,比如我们做一个类似反光镜的效果,当然反光镜可以直接用Shader来实现,但我就是了实现一个类比这样的一个效果,一个摄像机将看到的图像显示到一个Texture上,然后将Tex…

Java关键字final使用详解

2019独角兽企业重金招聘Python工程师标准>>> http://docs.oracle.com/javase/tutorial/java/IandI/final.htmlWriting Final Classes and MethodsYou can declare some or all of a classs methods final. You use the final keyword in a method declaration to in…

一行代码揭开CPU执行原理

参考:一行代码,揭开CPU执行原理! 作者:嵌入式ARM 网址:https://mp.weixin.qq.com/s/qFnKhWqBGRCFAnp_KC1dmw 目录1、高级语言2、编译链接3、机器指令4、指令格式5、执行指令拓展总结很多刚刚入坑的小白可能对此完全没有…

redhat 挂载 iso文件 提示 mount :not a directory

redhat 挂载 iso文件 提示 mount :not a directory posted on 2013-12-28 22:26 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/ruiy/p/errors.html

C语言常见编译错误及分析

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

面经——嵌入式常见面试题总结100题(上)

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

计算机专业运动会口号,运动会口号押韵有气势 计算机系霸气口号

淡泊明志,宁静致远,团结友爱,顽强拼搏。下面是文艺范收集的运动会口号押韵有气势,计算机系霸气口号,欢迎阅读收藏。1、球进了球,分了就会,不怕**,战无不胜。2、阳光运动,…

1. 观察者模式总结(C++)

1. 介绍 观察者模式:定义了一种“一对多”的依赖关系,让多个观察者对象同时监听一个对象的改变,即当该对象的状态发现改变时,会通知所有它依赖的观察者对象。观察者模式属于行为模式。 意图:定义对象间的一种一对多的依…

面经——嵌入式常见面试题总结100题(下)

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…