存储器说明(一)----ROM、RAM、FLASH的原理和区别

存储器的介绍

存储器,顾名思义就是用来存储数据的。存储器的类型有很多,在不同的场合经常听到很多不同的声音。在电脑上面经常说的就是内存和硬盘。在单片机上面的就是rom、ram、flash、sram等等等等很多类型的存储器。常常很多人都搞不懂它们的区别是什么。以下我们一步一步分析。

根据掉电数据是否丢失可以分**RAM(随机存取存储器)ROM(只读存储器)**两种。RAM是掉电后数据跟着丢失,ROM是掉电后数据不丢失的。

根据名称也可以大致理解,**RAM(随机存取存储器)**是可以任意时刻往这个存储器里面进行读写和擦除数据的,是可读可写的并且是任意时刻。**ROM(只读存储器)**是只能往外读取这个存储器里面的数据,不支持往里面写数据和擦除的(一次写入,反复读取)。并且RAM的读写速度比ROM的读速度快得多。

是不是感觉那里不对呢?对,就是ROM只读存储器。既然ROM是只能读取不能写入。那么要读取的数据又是怎么写进去的呢。大致可以这样理解。ROM存储器里面的数据是在生产存储器的时候,厂家通过特定的方式把数据写到了存储器里面。然后因为存储器的电气特性等原因。这个存储器在写了一次数据后。后面是不可以在对其进行写入的。所以称之为只读存储器。并且数据都是由厂家写入,固定好的。不支持后期修改的。比如一个MCU中有一个ROM存储器。我们编写好的代码编译成一个可执行文件后(称为固件)。我们把这个固件给到芯片厂家,让厂家把这个固件写到MCU中的这个ROM中,这个mcu只能从这个ROM中读取数据出来执行。不能再对这个芯片进行二次编程。

存储器的分类

可以类比:把上面介绍的两种存储器ROM和RAM是最早期的两种存储器。两种存储器的功能单一。在后期技术的不断发展,在次基础的存储器上面繁衍出来了各种存储器出来(主要是ROM类型的)。下面就介绍在这两种基本的存储器上面繁衍出的各种存储器。

RAM类型存储器

RAM又称随机存取存储器,存储器里面的内容可以根据需要随机读取和写入。这种存储器在断电时,存储器里面的数据会丢失,所以主要用于存储程序运行时产生的数据。

它主要用来存储程序中用到的变量。凡是整个程序中,所用到的需要被改写的量(包括全局变量、局部变量、形参、实参、堆栈等)。都存储在RAM中。

RAM又可以分为SRAM(Static RAM/静态存储器)DRAM(Dynamic RAM/动态存储器)**。SRAM是利用双稳态触发器来保存数据的,只要不掉电,数据是不会丢失的。DRAM是利用MOS(金属氧化物半导体)电容存储电荷来存储数据,因此必须通过不停的给电容充电来维持数据,所以DRAM的成本、集成度、功耗等明显优于SRAM。SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲、二级缓冲。DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。DRAM分很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM等。DDR RAM(Data-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势。

通常大家所说的SDRAM是DRAM的一种,它是同步动态存储器,利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在嵌入式系统中经常使用。

ROM类型存储器

由前面介绍可知,ROM是掉电数据不丢失的。并且在最早期的ROM中,只能写入一次,后面都不能在对其写入了。只能反复读取。在计算机逐渐壮大的过程中,对存储器的要求多样化。掉电存储的存储器ROM由原来的只能写一次,已经满足不了日常需要了。所以在此基础上面更新了很多类型的ROM出来。更新的类型很多,但是按照功能,都可以分成同一类。就是保持掉电不丢失数据,并且可以多次读写。在不是原来的只能写一次了。注意:(虽然后期的ROM都可以任意对其读写操作了,但是对这个存储器的称号还是不变的,还是统称为只读存储器)。

ROM的种类可以分为:PROM、EPROM、EEPROM这三个。
PROM:(可编程)其实就是最上面介绍的ROM,只能写入一次,后面是反复读取,不支持第二次写入的。
EPROM:(可擦除可编程),是PROM的升级版,可以多次编程更改,但是只能使用紫外线擦除。
EEPROM:(带电可擦除可编程),是EPROM的升级板,可以多次编程更改,使用电擦除,写入时间长,速度慢。

FLASH类型存储器

FLASH存储器其实可以看成是ROM的一种。FLASH结合了ROM和RAM的特点。不仅具备电子可擦除可编程(EEPROM)的性能。还不会掉电丢失数据同时可以快速读取数据。因此很多人称其为FLASH ROMFLASH存储器又称闪存。

U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM或者EEPROM)作为它们的存储设备,然而近年来FLASH全面代替了ROM(EPROM或者EEPROM)在嵌入式系统中的地位,用做存储bootloader以及操作系统或者程序代码或者直接当硬盘使用。

目前FLASH主要分为两种,NOR Flash和NADN Flash。NOR Flash的读取和我们常见的SDRAM的读取是一样的,用户可以直接运行装载在NOR Flash里面的代码,这样可以减少SRAM的容量从而节约成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常一次读取512字节,采用这种技术的FLASH比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND FLASH的开发板除了使用NAND FLASH以外,还作用上了一块小的NOR FLASH来运行启动代码。

NOR的读速度比NAND的稍快一些,
NAND的写入速度比NOR快很多,

RAM、ROM、FLASH的读写注意事项

RAM:的读写是按照字节为单位来的,一个个字节的读写。
ROM(EPROM、EEPROM):的读写是按照字节为单位来的,一个个字节的读写擦除。
FLASH(FLASH ROM):的读写是按照页来的,一页有很多字节,具体多少根据芯片厂家来设定。是一页页的读写。即使仅仅写一个字节数据到一个地址上面,也是操作完一整页的。

其中:ROM和FLASH在往里面写数据之前,需要先擦除才行。擦除后的地址数据一般都为FF(这个一些芯片是可以手动修改的,如在单片机里面,在FLM文件里面可以修改其擦除后的数据是什么。可以理解为,擦除就是往里面写入的固定的数据,这个数据可以为1也可以为0(按位来算,如果按字节就是00或者FF))。如果不先擦除在写,是写不进去的。

  • 31
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: ROMRAM是计算机中常见的存储器类型。ROM是只读存储器,它的内容在制造时被写入,无法被修改。RAM是随机存储器,它可以被读取和写入,但是在断电后会丢失数据。 Flash是一种非易失性存储器,它可以被多次写入和擦除,但是它的写入速度比RAM慢,而且每个存储单元只能被擦除和写入有限次数。 SRAM是一种静态随机存储器,它的速度比DRAM快,但是它的密度比DRAM低,价格也更高。SRAM通常用于高速缓存和其他需要快速访问的应用程序。 ### 回答2: ROMRAM存储器的两个基本分类,而Flash和SRAM分别属于它们的子类。ROM是只读存储器,用于存储系统代码和数据,不能被修改或擦除。RAM则是随机存储器,可以读写,用于临时存储数据和程序。Flash存储器可以被擦除和重新编程,可以用于存储系统代码和数据,但擦写次数有限。SRAM是静态随机存储器,主要用于高速缓存和高速存储器ROM存储器属于只读存储器,数据只能被读取,无法被修改或擦除,它的存储内容通常是一些系统代码和数据,比如BIOS程序、引导程序等。ROM存储器通常比较稳定和可靠,而且存储内容不需要保持电源供电,可以在断电后继续保存数据,但缺点是存储容量比较小,对于一些大型应用来说不够使用,而且不方便升级和修改。 RAM存储器是随机存取的存储器,可以读写,它的存储内容可以被修改和删除,通常用于临时存储数据和程序。RAM存储器的缺点是数据需要保持电源供电,如果断电数据将会丢失,而且存储容量通常比较小。RAM包括DRAM动态随机存储器和SRAM静态随机存储器。SRAM是一种速度很快的存储器,用于高速缓存和高速存储器,但成本较高。 Flash存储器是一种可擦写的存储器,象一个类似于EEPROM存储器。它采用的是闪光特效存储技术,能够把数据以块的形式分别擦除和编程,比EEPROM的单字节擦写更加方便。Flash存储器的存储容量通常比较大,并且可以反复擦写和编程,成本较低,但擦写次数有限。 SRAM是静态随机存储器,通常用于高速存储器和cache存储器中。SRAM存储器速度很快,但相应的成本也高,和RAM存储器不同的是,SRAM不需要定期进行刷新来保持数据的有效性,这使得它不仅速度快,而且稳定性高。但是,由于SRAM需要更多的晶体管和面积,所以存储容量比DRAM小。 ### 回答3: ROM(只读存储器)和RAM(随机存储器)是计算机内存的两种形式,而flash和SRAMRAM的两种类型。 ROM是一种用于永久存储数据的存储器。与RAM相比,ROM是只读的,这意味着数据一旦编写到ROM中,就不能更改。ROM通常包含计算机系统的基本操作系统和其他代码,因此它是系统关键部分。ROM常用于计算机的系统启动过程中。 RAM是一种临时存储器,它用于存储正在处理的数据和程序。RAM是一种易失性存储器,这意味着当计算机关闭或断电时,RAM存储的数据会丢失。RAM分为静态RAM(SRAM)和动态RAM(DRAM)两种类型。SRAM比DRAM更快,但也更昂贵。 Flash存储器是一种可擦除可编程存储器(EEPROM),它是RAM的一种类型。与SRAM不同,Flash存储器可以被重复擦写并更改其内容。Flash存储器的特点是速度相对较慢,但存储密度较高。它是在大量便携式设备中使用的一种存储器,如MP3播放器和智能手机。 SRAM是一种用于实现带宽较高和时序较紧的存储器,SRAM有双口RAM(DP-RAM)和四口RAM(Q-RAM)之分,DP-RAM使用两个端口,一个用于读,另一个用于写;Q-RAM使用四个端口,其中两个用于读,两个用于写。SRAM常用于高性能应用,如高速缓存和运算器。 总之,ROMRAM是计算机内存的两种不同形式。ROM用于永久存储数据,而RAM用于存储正在处理的数据和程序。而flash和SRAMRAM的两种类型,Flash存储器是一种可重复擦写的存储器,而SRAM则用于实现带宽较高和时序较紧的存储器
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值