陕理工在线会员空间(仿校内)  |   陕理工2008新生报考咨询室  |   论坛文化衫订购  |  SnutV视频分享  |  教务在线登陆

陕理工在线衮雪论坛's Archiver

yzsmile 发表于 2008-3-18 12:07

什么是ROM、RAM、DRAM、SRAM和FLASH的区别(一)

[table=96%][tr][td][color=black][/color][align=left][font=宋体][size=3][color=black]什么是ROM、RAM、DRAM、SRAM和FLASH的区别[/color][/size][/font][/align]
[/td][/tr][tr][td][font=宋体][size=12pt][/size][/font][size=5][color=black]题记:曾去华为面试,其中一道题就是阐述各种存储器的区别,当时也记得一部分,但还是没记全,回答并不理想,现搜集如下供学习参考![/color][/size]
[size=5][color=black][/color][/size]
[size=5][color=black]            Q:存储器里64K*8B表示什么?[/color][/size]
[size=5][color=black]            A:就表示64K*8B=64KB,即存储器大小,因为一个字节是8bit。(当时猛然问道这个问题竟然没有回答上来,悔死了,特别提醒即将进入工作的晚辈,一定要基础扎实,基本概念一定要搞清楚,电子行业包罗万象,什么概念都要略知一二,免得被问得不知所措)
[/color][/size]
[/td][/tr][tr][td][color=black][font=宋体][size=12pt][/size][/font]
[/color][/td][/tr][tr][td][align=left][color=black][size=3][font=宋体]    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 [/font][/size]
[size=3][font=宋体]    RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。 [/font][/size]
[size=3][font=宋体]    DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。[/font][/size]
[size=3][font=宋体]     DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。 [/font][/size]
[font=宋体][size=3]内存工作原理:[/size][/font]
[font=宋体][size=3]内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。[/size][/font]
[font=宋体][size=3]具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。 [/size][/font]
[size=3][font=宋体]ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。 [/font][/size]
[font=宋体][size=3]举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。[/size][/font]
[font=宋体][size=3]FLASH[/size][/font][font=宋体][size=3]存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。 [/size][/font]
[font=宋体][size=3]目前Flash主要有两种NOR Flash和NADN Flash。[/size][/font]
[size=3][font=宋体]NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。[/font][/size]
[size=3][font=宋体]NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。 [/font][/size]
[font=宋体][size=3]一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。[/size][/font]
[size=3][font=宋体]NAND Flash和NOR Flash的比较[/font][/size]
[size=3][font=宋体]NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。[/font][/size]
[font=宋体][size=3]  相"flash存储器"经常可以与相"NOR存储器"互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。 [/size][/font]
[size=3][font=宋体]NOR是现在市场上主要的非易失闪存技术。NOR一般只用来存储少量的代码;NOR主要应用在代码存储介质中。NOR的特点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不必再把代码读到系统RAM中。在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NOR flash占据了容量为1~16MB闪存市场的大部分。[/font][/size]
[font=宋体][size=3]  NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。[/size][/font]
[size=3][font=宋体]1、性能比较:[/font][/size]
[font=宋体][size=3]  flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。[/size][/font]
[font=宋体][size=3]  由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。[/size][/font]
[font=宋体][size=3]  执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素:[/size][/font]
[font=宋体][size=3]  ● NOR的读速度比NAND稍快一些。[/size][/font]
[font=宋体][size=3]  ● NAND的写入速度比NOR快很多。[/size][/font]
[font=宋体][size=3]  ● NAND的4ms擦除速度远比NOR的5s快。[/size][/font]
[font=宋体][size=3]  ● 大多数写入操作需要先进行擦除操作。[/size][/font]
[font=宋体][size=3]  ● NAND的擦除单元更小,相应的擦除电路更少。[/size][/font]
[size=3][font=宋体](注:NOR FLASH SECTOR擦除时间视品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除时间为60ms,而有的需要最大6s。)[/font][/size]
[size=3][font=宋体]2、接口差别:[/font][/size]
[font=宋体][size=3]  NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。[/size][/font]
[font=宋体][size=3]  NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。[/size][/font]
[font=宋体][size=3]  NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。[/size][/font]
[size=3][font=宋体]3、容量和成本:[/font][/size]
[font=宋体][size=3]  NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。[/size][/font]
[font=宋体][size=3]  NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。[/size][/font]
[/color][/align][/td][/tr][/table][color=black][/color]
[font=Times New Roman][/font]

[[i] 本帖最后由 yzsmile 于 2008-3-18 12:19 编辑 [/i]]

页: [1]
如意杀毒

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.