這里首先要講一個概念:Rank,。內(nèi)存控制器host端往往有一定的數(shù)據(jù)位寬,比如現(xiàn)在常用的計算機系統(tǒng)處理器都是64位,,其中所集成的內(nèi)存控制其接口也是64位,。而內(nèi)存芯片的位寬通常為4位/8位/16位,要達到64位,,必須把多個內(nèi)存芯片組合在一起,。比如是8位內(nèi)存芯片,則必須要8個內(nèi)存芯片組合在一起才能跟host端64位接口匹配,。這樣的host端總線位寬相匹配的多個內(nèi)存芯片的組合就是一個Rank,。 回到開始的關(guān)于內(nèi)存芯片選型的討論,下面以具體例子進行講解,。
例子1:如果你的嵌入式系統(tǒng)設(shè)計需要256MByte的內(nèi)存(注意這里是Byte不是bit),,控制處理器芯片內(nèi)存接口數(shù)據(jù)是8位的,Rank選擇信號有兩個CS0#/CS1#,。這種應(yīng)用應(yīng)當選什么樣的內(nèi)存芯片呢,?
分析: 由于處理器端的數(shù)據(jù)位是8位,內(nèi)存芯片的數(shù)據(jù)位應(yīng)避免大過處理器端的數(shù)據(jù)位,。所以選擇的內(nèi)存芯片是8位或4位 如果要選擇4位的內(nèi)存芯片 由于有兩根Rank選擇信號,,可以支持最大2個Rank。處理器端的數(shù)據(jù)位是8位,,而內(nèi)存芯片也是4位,,就是說每個Rank可支持2個芯片(處理器端的數(shù)據(jù)位/內(nèi)存芯片數(shù)據(jù)位=2),兩個Rank可以支持4個芯片,。每個芯片容量是256MB x 8/4 = 512Mb,也就是說應(yīng)該選512Mb/4位(32Mx4x4banks)的內(nèi)存芯片 也可以選擇1個Rank,這樣也就可以用總共2個內(nèi)存芯片,,每個芯片容量是256MB x 8/2 = 1Gb,。也就是說應(yīng)該選1Gb/4位(64Mx4x4banks)的內(nèi)存芯片
如果要選擇8位的內(nèi)存芯片 由于有兩根Rank選擇信號,可以支持最大2個Rank,。處理器端的數(shù)據(jù)位是8位,,而內(nèi)存芯片也是8位,就是說每個Rank只能支持1個芯片(處理器端的數(shù)據(jù)位/內(nèi)存芯片數(shù)據(jù)位=1),,兩個Rank可以支持2個芯片,。每個芯片容量是256MB x 8/2 = 1Gb,也就是說應(yīng)該選1Gb/8位(32Mx8x4banks)的內(nèi)存芯片 當然也可以用1個Rank,也只能用一個內(nèi)存芯片,,其容量較大2Gb/8,,不知到能不能找到這樣的芯片
|