补充:RAM、ROM、FLASH的存储原理及区别_第1页
补充:RAM、ROM、FLASH的存储原理及区别_第2页
补充:RAM、ROM、FLASH的存储原理及区别_第3页
补充:RAM、ROM、FLASH的存储原理及区别_第4页
补充:RAM、ROM、FLASH的存储原理及区别_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RAM、ROM、FLASH的存储原理及区别一、RAM(RandomAccessMemory)随机存取存储器,主要作用是存储代码和数据供CPU需要时调用。这些数据的存储并不像用袋子盛米那般,更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够在需要的时候准确的调用出来。对于RAM等存储器原理类似,虽然存储的都是代表0和1的代码,但不同的组合即成为不同的数据。如果有一个书架有10行和10列格子(每行和每列都有0-9的编号),有100本书要存放在里面,那么我们根据行和列的编号就能确定某一本书的位置。如已知某本书的编号87,那么我们可首先锁定第8行,然后找到第7列就能准确的找到这本书了。RAM存储器的存储原理与之类似。在RAM存储器中,数据总线用来实现数据的输入和输出。存储器中的存储空间如前面提到的存放图书的书架一样通过规则定义,我们可根据此规则来把数据存放到存储器上相应位置,对数据的定位则通过地址总线实现。对于CPU而言,RAM就象是一条长长的有很多空格的细线,每个空格都有一个唯一的地址与之相对应。如果CPU想要从RAM中调用数据,它首先需要给地址总线发送要存取数据的地址信息,然后等待若干个时钟周期之后,数据总线就会把数据传送给CPU。以下为数据读取示意图。

图中的小园点代表RAM中的存储空间,每个存储空间都有一个唯一的地址线同它相连。当地址解码器接收到地址总线送来的地址数据之后,它会据此定位CPU想要调用的数据存储位置,然后通过数据总线将其中的数据传送到CPU。如果RAM对于CPU来说仅仅是一条“线”的话,还不能体现实际的运行情况。如果实际情况即是如此,在实际制造芯片的时候,会有很多实际的困难,特别是在需要设计大容量的RAM的时候。一种更好的能够降低成本的方法是让存储信息的“空格”排列为很多行,每个“空格”对应一个bit存储的位置。这样,如果要存储1024bits的数据,只需使用32x32的矩阵即可。一个32x32的矩阵显然比一个1024bit的行设备更紧凑,实现起来也更容易。如下图所示。

对于X86处理器,它通过地址总线发出一个具有22位二进制数字的地址编码,其中11位是行地址,另外11位是列地址,其通过RAM地址接口进行分离。行地址解码器(rowdecoder)会首先确定行地址,然后列地址解码器(columndecoder)将确定列地址,这样就能确定唯一的存储数据的位置,然后该数据就会通过RAM数据接口将数据传到数据总线。

二、SRAM是“staticRAM(静态随机存储器)”的简称,数据存入其中后,掉电后亦不会丢失。一个SRAM单元通常由4-6只晶体管组成,当这个SRAM单元被赋予0或1的状态之后,它会保持这个状态直到下次被赋予新的状态或者断电之后才会更改或者消失。SRAM的速度相对比较快且比较省电,但存储1bit的信息需要4-6只晶体管导致制造成本太高了。早期的SRAM芯片采用了20线双列直插(DIP:DualInlinePackage)封装技术,它们之所以具有这么多的针脚,是因为它们必须:

1)每个地址信号都需要一根信号线;

2)一根数据输入线和一根数据输出线;

3)部分控制线(WriteEnable,ChipSelect);

4)地线和电源线。

下面是一个16Kx1-bitSRAM芯片的针脚功能示意图。1)A0-A13是地址输入信号引脚;2)/CS是芯片选择引脚,在一个实际的系统中,一般具有很多片SRAM芯片,所以需要选择究竟从那一片SRAM芯片中写入或者读取数据;

3)/WE是写入启用引脚,当SRAM得到一个地址之后,它需要知道进行什么操作,究竟是写入还是读取,/WE就是告诉SRAM要写入数据;

4)Vcc是供电引脚;

5)Din是数据输入引脚;

6)Dout是数据输出引脚;

7)GND是接地引脚;

8)OutputEnable(OE),有的SRAM芯片中也有这个引脚,但是上面的图中并没有,这个引脚同/WE引脚的功能是相对的,它是让SRAM知道要进行读取操作而不是写入操作。

从Dout引脚读取1bit数据的步骤如下:

1)通过地址总线把要读取的bit的地址传送到相应的读取地址引脚,这个时候/WE引脚没有激活,因此不应执行写入操作;

2)激活/CS,选择SRAM芯片;

3)激活/OE引脚,让SRAM知道是读取操作;

第三步之后,要读取的数据就会从DOut引脚传输到数据总线。写入1bit数据的过程如下:

1)通过地址总线确定要写入信息的位置,确定/OE引脚没有被激活;

2)通过数据总线将要写入的数据传输到Din引脚;

3)激活/CS引脚,选择SRAM芯片;

4)激活/WE引脚,通知SRAM知道要进行写入操作。

经过上面的四个步骤之后,需要写入的数据就已经放在了需要写入的地方。

DRAM为动态随机存储器。与SRAM不同,DRAM必须在一定的时间内不停的刷新才能保持其中存储的数据不会丢失。DRAM只要1只晶体管就可以实现。

DRAM相对于SRAM来说更加复杂,因为在DRAM存储数据的过程中需要对于存储的信息不停的刷新,这也是它们之间最大的不同。让我们看看DRAM芯片的针脚的作用。最早、最简单也是最重要的一款DRAM芯片是Intel在1979年发布的2188,这款芯片是16Kx1DRAM18线DIP封装。“16Kx1”的部分意思告诉我们这款芯片可以存储16384个bit数据,在同一个时期可以同时进行1bit的读取或写入操作。

由示意图可看出DRAM和SRAM之间有着明显的不同。首先,地址引脚由14根变为7根,那么这颗16KDRAM是如何完成同16KSRAM一样的工作的呢?答案很简单,DRAM通过DRAM接口把地址一分为二,然后利用两个连续的时钟周期传输地址数据,这样就达到了使用一半的针脚实现同SRAM同样的功能的目的,这种技术被称为多路技术(multiplexing)。

前面我们曾经介绍过,存储1bit的数据SRAM需要4~6个晶体管,但DRAM仅仅需要1个晶体管,那么这样同样容量的SRAM的体积比DRAM大至少4倍。这样就意味着你没有足够空间安放同样数量的引脚(因为针脚并没有因此减少4倍)。当然为了安装同样数量的针脚,也可以把芯片的体积加大,但是这样就提高芯片的生产成本和功耗。所以减少针脚数目也是必要的,对于现在的大容量DRAM芯片,多路寻址技术已经是必不可少的了。当然,多路寻址技术也使得读写的过程更加复杂了,这样在设计的时候不仅仅DRAM芯片更加复杂了,DRAM接口也要更加复杂。DRAM芯片内部结构示意图如下:

在上面的示意图中,可看到在DRAM结构中相对于SRAM多了两个部分:

1)由/RAS(RowAddressStrobe:行地址脉冲选通器)引脚控制的行地址门闩线路(RowAddressLatch);

2)由/CAS(ColumnAddressStrobe:列地址脉冲选通器)引脚控制的列地址门闩线路(ColumnAddressLatch)。

DRAM读取过程如下:

1)通过地址总线将行地址传输到地址引脚;

2)/RAS引脚被激活,这样行地址被传送到行地址门闩线路中;

3)行地址解码器根据接收到的数据选择相应的行;

4)/WE引脚被确定不被激活,所以DRAM知道它不会进行写入操作;

5)列地址通过地址总线传输到地址引脚;

6)/CAS引脚被激活,这样列地址被传送到行地址门闩线路中;

7)/CAS引脚同样还具有/OE引脚的功能,所以这个时候Dout引脚知道需要向外输出数据;

8)/RAS和/CAS都不被激活,这样就可以进行下一个周期的数据操作了。

DRAM的写入的过程和读取过程是基本一样的,只要把第4步改为/WE引脚被激活就可以了。

前面提到过,DRAM同SRAM的最大不同之处在于不能比较长久的保持数据,这项特性使得这种存储介质对我们几乎没有任何作用。但DRAM设计师利用刷新技术使得DRAM成为现在对于我们最有用处的存储介质之一。DRAM内仅仅能保持其内存储的电荷非常短暂的时间,所以它需要在其内的电荷消失之前就进行刷新直到下次写入数据或者计算机断电才停止。每次读写操作都能刷新DRAM内的电荷,所以DRAM就被设计为有规律的读取DRAM内的内容。这样做有下面几个好处。

1)仅仅使用/RAS激活每一行就可以达到全部刷新的目的;

2)用DRAM控制器来控制刷新,这样可以防止刷新操作干扰有规律的读写操作。

三、简单介绍ROM、RAM及FLASH的区别:

ROM和RAM指的都是半导体存储器,ROM是ReadOnlyMemory的缩写,RAM是RandomAccessMemory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。

RAM有两大类,一种称为静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(DynamicRAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。

DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDRRAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDRRAM。DDRRAM(Date-RateRAM)也称作DDRSDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-RambusDRAM。在很多高端的显卡上,也配备了高速DDRRAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦除,价格很高,写入时间很长,写入速度很慢。

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。

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

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

数码闪存卡:主流数码存储介质

数码相机、MP3播放器、掌上电脑、手机等数字设备是闪存最主要的市场。手机领域以NOR型闪存为主、闪存芯片被直接做在内部的电路板上,但数码相机、MP3播放器、掌上电脑等设备要求存储介质具备可更换性,这就必须制定出接口标准来实现连接,闪存卡技术应运而生。闪存卡是以闪存作为核心存储部件,此外它还具备接口控制电路和外在的封装,从逻辑层面来说可以和闪盘归为一类,只是闪存卡具有更浓的专用化色彩、而闪盘则使用通行的USB接口。由于历史原因,闪存卡技术未能形成业界统一的工业标准,许多厂商都开发出自己的闪存卡方案。目前比较常见的有CF卡、SD卡、SM卡、MMC卡和索尼的MemoryStick记忆棒。

CF卡(CompactFlash)

CF卡是美国SanDisk公司于1994引入的闪存卡,可以说是最早的大容量便携式存储设备。它的大小只有4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论