Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173860
  • 博文数量: 63
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 181
  • 用 户 组: 普通用户
  • 注册时间: 2016-02-25 15:50
文章分类
文章存档

2020年(1)

2016年(62)

我的朋友

分类: 嵌入式

2016-02-25 16:01:18

原文地址:http://blog.csdn.net/suiyuan19840208/article/details/7307316

静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。SRAM:静态随机存储器,就是它不需要刷新电路,不像动态随机存储器那样,每隔一段时间就要刷新一次数据。但是他集成度比较低,不适合做容量大的内存,一般是用在处理器的缓存里面。像S3C2440的ARM9处理器里面就有4K的SRAM用来做CPU启动时用的。SDRAM:同步动态随机存储器,像电脑的内存就是用的这种RAM叫DDR SDRAM。其集成度非常高,因为是动态的,所以必须有刷新电路,每隔一段时间必须得刷新数据。其存储单元不是按线性排列的,是分页的。一般的嵌入式产品里面的内存都是用的SDRAM。 Mini2440 使用了两片外接的32M bytes 总共64M bytes 的SDRAM 芯片。

        内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。

具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

        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而已。

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

        NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。Nand Flash 不具有地址线,它有专门的控制接口与CPU 相连,数据总线为8-bit,但这并不意味着Nand Flash 读写数据会很慢。大部分的优盘或者SD 卡等都是Nand Flash 制成的设备。

阅读(1115) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~