来源:
单拿出一条内存,我们可以很快的确定出内存容量的大小。如果内存总容量确定了,那么要确定该条内存是是1个bank还是2个bank呢?起决定性因素的就是该内存条使用了何种内存颗粒。这里说的“何种”并非指现代、三星或美光等内存颗粒品牌,而是指颗粒的组织或者说结构。
我们先来了解一下颗粒的组织和结构类型。我们在内存颗粒上经常可以看到32mx8bit、16mx8bit等字样,32m和16m称为depth(深度),8bit是颗粒的位宽(宽度),有时也会省略写成32mx8、16mx8的形式。两者相乘得到颗粒的容量,比如32mx8bit:256mbit,该颗粒容量就是32mb的。对于256mbit的内存颗粒,它可采用的结构有64mx4bit、32mx8bit、16mxl6bit、8mx32bit几种,在计算bank数量时只需注意乘号后面的位宽。
以sdram举例,现在sdram系统内存接口位宽是64bit的,每个bank的位宽也是64bit。如用256mbit(32mb)的颗粒做256mb内存条,需要8个颗粒,颗粒位宽相加得到总位宽。首先排除使用64mx4bit颗粒的可能性,因为4bitx8=32bit,不能构成所需的64bit的接口位宽。8颗32mx8bit、16mxl6bit和8mx32bit的颗粒能提供的总位宽分别是64bit、128bit和256bit,因为每个bank的位宽是64bit,所以它们3者依次要做成1、2、4个bank。主板dimm槽只能有2个bank,所以8mx32bit颗粒不能制作256mb内存条。同样可计算出128mbit颗粒制作256mb内存的bank数,颗粒数改成16即可
由此可以得出计算bank数的公式:颗粒位宽x颗粒数/64bit=bank数。