2014-03-19 35 views
0

我正在分析Beagleboard xM上的POP mDDR的X-Loader设置。 BB xM中的mDDR POP内存量为512MB(根据手册)。 更准确地说,美光的变种:CS0上的256MB + CS1上的256MB =总共512MB。 总线宽度为32位,可在X-Loader的SDRC_MCFG_p寄存器设置中验证。 使用的存储器类型是MT46H128M32L2KQ-5作为该组中提到:Beagleboard中使用的mDDR芯片xM

https://groups.google.com/forum/#!topic/beagleboard/vgrq2bOxXrE

读取存储器的数据表,具有最大容量的32位的构型16兆×32×4 = 64Meg x 32. 因此,64MB不是256MB,128 MB是可行的,但只有16位总线宽度,即使如此,我们仍然不在256MB。 上面提到的小组中的人说,内存是4Gb,但数据表说它是2Gb。

我的问题: 如何512MB通过使用上述类型的2个存储器芯片和32位总线宽度可以实现?

在此先感谢您的帮助。

马丁

回答

0

根据数据表MT46H128M32L2KQ-5具有下列配置:

MT46H128M32L2 – 16 Meg x 32 x 4 Banks x 2 

16兆×32×4家银行×2 = 4096梅格(比特,而不是字节)

4096梅格(bits)/ 8 = 512 MB(兆字节)

更多来自数据表:

The 2Gb Mobile low-power DDR SDRAM is a high-speed CMOS, dynamic 
random-access memory containing 2,147,483,648 bits. 

Each of the x32’s 536,870,912-bit banks is organized as 16,384 rows by 1024 
columns by 32 bits. (p. 8) 

所以,如果你的(它的数据表中给出)的位数乘以行数由列数,你会得到位的银行的规模。银行大小= 16384×1024×32 = 16兆×32 = 536870912(比特)。

接下来,需要通过存储体的数量在芯片乘以银行大小(比特):芯片尺寸= 536870912×4 = 2147483648(比特)。

为了获得导致字节,具有由8

芯片大小(字节)= 2147483648(比特)跌它/ 8 = 268435456

为了获得导致兆字节,你必须通过1024×1024

芯片尺寸=1024分之268435456/ 1024 = 256 MB(兆字节)到跌它

这是内部组织为2×256 MB芯片(它有两个芯片选择双LPDDR芯片:CS0#,CS1#)(在数据表中指定)。单芯片内部包含两个内存芯片,每个内存256MB。对于BB,这个单芯片必须配置为2个存储器,每个256MB以获得512MB。所以,你必须将CS0设置为256MB,将CS1设置为256MB。

+0

感谢您的回答。 – martin

+0

32是总线宽度。 16兆是=使用的行大小*列大小。要知道它是如何以MB为单位构建的,我需要知道有多少位用于行和列,将它们与数据引脚(32)和存储区编号相乘,并将其除以8。这是正确的吗? – martin

+0

是的。此外,还必须将结果乘以2,因为芯片内部有两个存储芯片(双LPDDR,2芯片封装,请参见图9)。查看更新的答案。 – alexander