SDRAM的总结

Memory Controller(Linux+mini2440)

http://kinglaw05.blog.163.com/blog/static/59683314201012611148949/

简单明了,很好理解

 

存储器容量、位宽、地址线根数及其数据线根数几者之间关系

http://hi.baidu.com/wei%D0%C5%D1%F6/blog/item/de817c00de2aec7b3912bbad.html

如何计算SDRAM的大小

 

另外找到了一段说的比较清晰。因为我对两片16位32MB的SDRAM连接(串联?)成了32位的64MB的SDRAM(我觉得是32位32MB的)这一表述有困惑,看了下面的,很有帮助。

 

 

SDRAM的分配:jade板子上采用的是HY57V561620芯片,4banks*4M*16bit32MB。由于此sdram芯片是16位的,而z228芯片有32位的吞吐量,因此要是sdram跑起来,则必须是sdram也能设成32位的吞吐量。在这里我们采用把2sdram拼接的方法,即串联起来。一片sdram13根地址线,其中行,列地址线采用复用方法:行13*9根。所以我们真正的地址线总共有13+922根,即4M.再加上有bank0bank12位寻址共4bank,所以就有了16M的容量了。又因为此sdram16位寻址的,所以最后总共有32MB的大小了。

 

    接下来就是把2sdram扩展成32位的数据吞吐量。采用的是串联法,即地址线还是24根(32MB),数据位增加到32位。这样扩展后的sdram就变成了4banks*4M*32bit64MB的容量了。

 

    为什么串联以后位数增加了一倍,容量也增加了一倍呢?其实这是我们在表达方式上的不同而已。一片sdram的大小为4*4M*16bit,由于其默认下就是16位的,所以他与16位的CPU连接时,其容量大小就只有16M*16bit(注意:这是在16位下面,如果在8位机下面,还是32M的)。所以当他需要在32位机下面工作时,当然就需要32bit方式了,这时,就需要用2sdram串联起来,组成32位的了,这时候其大小还是16M*32bit。与16位机下一样,容量还是16M,只不过吞吐量不同。只不过在网上很多地方写的都是64MB,其实道理是一样的,我把16M*32bit花成MB还不是等于64MB啊。

 

 

可以这样理解 ,换算成MB的时候,我们是相对于8位机的容量,而不是相对SDRAM内部的一个存储单元(如果是16位的,则每个存储单元能存16bit的数据。)计算的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值