|
先说RAM吧!!
由字面意思就可以理解,SDRAM SRAM DRAM都可以统称RAM,random access
memory的缩写,只是前面加了几个修饰词而已。
SRAM:静态随机存储器,就是它不需要刷新电路,不像动态随机存储器那样,每隔一段时间就要刷新一次数据。但是他集成度比较低,不适合做容量大的内存,一般是用在处理器的缓存里面。像S3C2440的arm9处理器里面就有4K的SRAM用来做cpu启动时用的。
SDRAM:同步动态随机存储器,像电脑的内存就是用的这种RAM叫DDR
SDRAM。其集成度非常高,因为是动态的,所以必须有刷新电路,每隔一段时间必须得刷新数据。其存储单元不是按线性排列的,是分页的。一般的嵌入式产品里面的内存都是用的SDRAM。
DRAM:动态随机存储器,SDRAM只是其中的一种吧,没用过,不怎么清楚。
ROM:只读存储器的总称。
PROM:可编程只读存储器,只能写一次,写错了就得报废,现在用得很少了,好像那些成本比较低的OPT单片机里面用的就是这种存储器吧。
EPRM:没见过,不知道什么东西。网上也找不到相关的东西。是EPROM吧?
EPROM:可擦除可编程存储器,这东西也比较古老了,是EEPROM的前身,在芯片的上面有个窗口,通过紫外线的照射来擦除数据。非常之麻烦。
EEPROM:电可擦除可编程只读存储器,比之EPROM就先进点了,可以用电来擦除里面对数据,也是现在用得比较多的存储器,比如24CXX系列的EEPROM。
NANDFLASH和NORFLASH都是现在用得比较多的非易失性闪存。NOR采用的并行接口,其特点读取的速度比之NAND快乐很多倍,其程序可以直接在NOR里面运行。但是它的擦除速度比较慢,集成度低,成本高的。现在的NOR的容量一般在2M左右,一般是用在代码量小的嵌入式产品方面。还有就是在ARM9的开发板上可以看见。
而NAND呢,采用的是串行的接口,CPU从里面读取数据的速度很慢,所以一般用NAND做闪存的话就必须把NAND里面的数据先读到内存里面,然后CPU才能够执行。就跟电脑的硬盘样的。但是它的集成度很高,我的ARM9的开发板上面一块256M的NAND还没有一块2M的NOR的一半大,所以成本很低。还有就是它的擦除速度也的NOR要快。要不然的话那就真的悲剧了,假如擦除一块2M的NOR要一分钟,如果NAND的擦除速度比NOR还要慢,那擦除一块256M的NAND不是要几个小时。NAND一般是用在那些要跑大型的操作系统的嵌入式产品上面,比如LINUX啊,WINCE啊。NOR可是可以跑,可以把LINUX操作系统剪裁到2M以内,一个产品难道只去跑系统吗?用户的应用程序呢!其实很多时候,一个嵌入式产品里面,操作系统占的存储空间只是一小部分,大部分都是给用户跑应用程序的。就像电脑,硬盘都是几百G,可是WINDOWNS操作系统所占的空间也不过几G而已。
norflash,nandflash,EEPROM都是些非易失性存储器,它们都是基于悬浮栅晶体管结构,但具体实现工艺上有差异。
EEPROM:(Electrically
Erasable Programmable Read-Only
Memory),我把它译作电擦电写只读存储器,也有书本译作“电可擦可编程只读存储器”。特点是可掉电存储数据,缺点是存储速度较慢,且早期的EEPROM需高压操作,现在的EEPROM一般片内集成电压泵,读写速度小于250纳秒,使用很方便。
FLASH:一般译为“闪存”,你可以理解为是EEPROM的一种,但存储速度较快,制作工艺优良,U盘的核心元件就是它。NandFlash一般比较大,而NorFlash都比较小,并且NorFlash比较贵,并且NorFlash写的速度比较慢,但读的速度比较快
,而NandFlash读的速度比较慢,写的速度比较快.nandflash用于存储,而norflash除了存储数据功能外,还可以直接在上面运行程序。
至于dataflash则是一个抽象概念,可以由norflash
nandflash EEPROM构成。
原版地址链接:http://panqiujuan.blog.163.com/blog/static/928523742012730105058634/