存储器之DRAM

来源:互联网 发布:dojo中js方法跳转页面 编辑:程序博客网 时间:2024/06/03 06:23


1S.DRAM是什么?上网百度百科一下:DRAM(Dynamic Random Access Memory),即动态随机存取存储器最为常见的系统内存。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以 必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 (关机就会丢失数据)。关键字,存储。也就是存放数据。

2.SDRAM的特点。

大小:一共两块SDRAM并列,地址线有12条,还有BA0和BA1两个BANK选择端,这两个选择端把bank划分为四部分。而这12条地址线的A0-A12作为行地址,A0-A8作为列地址。这是由引脚RAS和CAS决定的。所以实际组成的地址线就有=2(BANK)+12(行地址)+8(列地址)=22条。

然后就看看数据宽度啦,像上面是两块SDRAM并联,数据宽度达到了32位,那么SDRAM总大小达到:2^22*16bits=64MB大小。说到这里就是说明啦两块SDRAM有64M内存,接下来的问题就是寻址问题。如果对于SDRAM本身来说,就比较好说,首先依靠BA0和BA1两个BANK选择端找到SDRAM对应的BANK区,然后依靠行地址和列地址找到该去里面的一个内存单元,就OK啦。可是接到ARM上的话,也差不多,本质是一样,主要就是理解好一个基地址是多少问题。首先我的开发板SDRAM的BA0接到处理器的ADDR24,BA1接到处理器的ADDR25。而SDRAM片选段nGCS6引脚,即接到了存储控制器BANK6那个区域啦。那么基地址就是0x3000  0000  ,由于64MB,那么就到0x33ff  ffff。

 但是这里注意,由于数据线32位,那么对于SDRAM来说一个但愿还能内存就有32位数据,可是ARM的每一个单元是8位,即一字节,四字节才是一个字。所以这个具得讨论一下,ARM和SDRAM的对齐问题。也就是说SDRAM的一个单元顶处理器四个单元,这样咋办呢,办法就是ARM传给SDRAM的地址要是4的倍数,就可以,所以。。。。(待续)

原创粉丝点击