回到开始的关于内存芯片选型的谈论,下面以具体例子进行讲解。

例子1:如果你的嵌入式系统设计须要256MByte的内存(把稳这里是Byte不是bit),掌握处理器芯片内存接口数据是8位的,Rank选择旗子暗记有两个CS0#/CS1#。这种运用应该选什么样的内存芯片呢?

剖析: 由于处理器真个数据位是8位,内存芯片的数据位应避免大过处理器真个数据位。以是选择的内存芯片是8位或4位。
如果要选择4位的内存芯片:
由于有两根Rank选择旗子暗记,可以支持最大2个Rank。处理器真个数据位是8位,而内存芯片也是4位,便是说每个Rank可支持2个芯片(处理器真个数据位/内存芯片数据位=2),两个Rank可以支持4个芯片。每个芯片容量是256MB x 8/4 = 512Mb,也便是说该当选512Mb/4位(32Mx4x4banks)的内存芯片。
也可以选择1个Rank,这样也就可以用统共2个内存芯片,每个芯片容量是256MB x 8/2 = 1Gb。也便是说该当选1Gb/4位(64Mx4x4banks)的内存芯片
如果要选择8位的内存芯片:
由于有两根Rank选择旗子暗记,可以支持最大2个Rank。处理器真个数据位是8位,而内存芯片也是8位,便是说每个Rank只能支持1个芯片(处理器真个数据位/内存芯片数据位=1),两个Rank可以支持2个芯片。每个芯片容量是256MB x 8/2 = 1Gb,也便是说该当选1Gb/8位(32Mx8x4banks)的内存芯片
当然也可以用1个Rank,也只能用一个内存芯片,其容量较大2Gb/8,不知到能不能找到这样的芯片。
例子2: 最近也给很多朋友分享过一个实际的DDR2/800的内存条设计事理图,其框图如下。从该框图可以看出:
1.该内存条有两个rank分别连接到CS0# 和CS1#两个rank选择旗子暗记。
2.每个rank有8个内存芯片连接到内存数据总线。
3.每个内存芯片是512M/8bit,其存储容量是4Gbit。
4.该内存条的设计的内存容量是多少?
4Gbit X 8(8 芯片/rank) X 2 (rank) = 64 Gbit,也便是8GB
内存芯片的选择除了打算其容量,数据位数等参数外,还的看其它的一些特性哀求,比如掌握处理器端支持什么内存技能(DDR,DDR2, DDR3?),内存芯片也要与之匹配。还有比如电路板空间的大小。用上面的例子1来说,如果电路板上没空间放4颗内存芯片,只能放2颗,那么就只能选1Gb/4位或1Gb/8位的芯片了。







