内存条单面和双面的有什么区别吗
什么是单面和双面内存?它们有些什么样的特性与区别呢?下面咱们就细细道来。
何谓内存bank
一般而言,各位注意了,是一般而言,单面内存每条拥有一组bank,而双面的内存则每条提供了两组的bank,之所以要强调一般而言我会在文中加以阐明。……什么?不知道bank为何物?好!那我就来解释一下bank先。 内存的bank其实分为两部分,逻辑bank和物理bank。
先来讲讲逻辑bank。芯片的内部,内存的数据是以位(bit)为单位写入一张大的矩阵中,每个单元格我们称为cell,只要指定一个行(row),再指定一个列(column),就可以准确地定位到某个cell,这就是内存芯片寻址的基本原理。这样的一个阵列我们就叫它内存的逻辑bank(logical bank)。
再来说说物理bank。通常主板上的每个内存插槽分为两段,这个大家从via主板bios设置中的bank 0/1 dram timing选项很容易推理得到,实际上也就是两个bank,不过这里的bank概念与我们前面分析芯片内部结构时提到的bank可不一样。
简单地说这个bank就是内存和主板上的北桥芯片之间用来交换数据的通道,目前以sdram系统为例,cpu与内存之间(就是cpu到dimm槽)的接口位宽是64bit,也就意味着cpu一次会向内存发送或从内存读取64bit的数据,那么这一个64bit的数据集合就是一个内存条bank,很多厂家的产品说明里称之为物理bank(physical bank)。
目前绝大多数的芯片组都只能支持一根内存包含两个物理bank,但是针对某个具体的条子,很多人想当然,认为每个dimm插槽使用内存条的面数来区分占用几个bank通道,单面的(16m,64m)只占用一个物理bank,而双面的(32m,128m)则需占用两个物理bank。实际上物理bank与面数是无关的,pcb电路可以设计成双面和单面,也可把全部芯片(16颗)放在一面上(至少从理论上是完全可能)。
有些内存条单面就是一个物理bank,但有些双面才是一个物理bank,所以不能一概而论。256mb内存条就是一个典型的例子,虽然是双面并多达16枚芯片,但仍然是单个物理bank的。要准确知道内存条实际物理bank数量,我们只要将单个芯片的逻辑bank数量和位宽以及内存条上芯片个数搞清楚。各个芯片位宽之和为64就是单物理bank,如果是128就是双物理bank。
cpu工作时与bank的关系
cpu工作时,每次只访问一个物理bank,这是因为一个物理bank的位宽是64bit。cpu访问的数据是存放在内存条的内存颗粒上的,现在的芯片组设计时都是要求内存条上每个芯片均承担提供数据的任务,即内存条上的每个颗粒都要负担这64bit数据的一部分。
这就要牵扯到我们上文所说得位宽的问题了,如果内存芯片的位宽是8位,那么用这个芯片组成内存条只需要8颗芯片即完成了64位数据并发任务,如果是4位,那么就需要16颗芯片才能达到64bit的要求。当内存条颗粒设计为位宽为8位,16颗内存颗粒的时候,内存条的位宽就变为6 x 16=128bit。所以就要设计为双bank。这是由于cpu一次只能处理64bit的数据所造成的。
以后随着技术的进步,128bit,256bit都是可以实现的。以上就是所谓的逻辑bank和物理bank。 虽然这些区别不是很大,但是却往往造成不小的问题,让人头痛。举一个较古老的例子:曾经有一款大度256m内存采用单面了设计,仅有一组物理bank。但是由于intel(intel440bx,i815)芯片组只能正确识别单物理bank最高容量为128m,这种情况造成大部分intel主板就无法完全使用大度256m内存的全部容量,只可以使用一半128m。
事实上很多类似的大容量内存不能为一些旧型号主板支持的主要原因就是芯片组对内存芯片的逻辑bank数据深度有一定限制。我们知道芯片的容量主要由三个参数决定,首先是逻辑bank的单元格数(数据深度),其次是逻辑bank的位数。最后是逻辑bank的个数。三者相乘得到芯片的容量。
大度内存256mb之所以不能在440bx上用,就是由于bx芯片组只支持内存芯片的数据深度为4m,而不是8m,所以大度条子的内存芯片在bx板上被识别成4×4×4=64mbit(8mb),而不是本来的8×4×4=128mbit(16mb),现在很多大容量的内存没有在bank数和位宽上提高多少,基本都是增加芯片的数据深度,而这是需要芯片组支持的,象intel的lx/bx/810/815等老主板都只能支持最大4m,所以出问题再所难免。
单、双面内存孰好孰坏
那这是不是意味着单面内存不好呢?答案是否定的,上述问题的罪魁祸首应该是intel芯片的sdram识别技术,via、ali、sis大部分芯片的主板就没有问题。不过现在内存厂商考虑兼容性的问题,已经不生产单面256m的产品了,所以用户一般不用考虑此环节。
另外如果在intel815芯片组的主板(如asus cusl2)上插三条现代双面128m的内存,系统就会自动把内存的时钟频率降到pc100来使用,而且使用过程中很不稳定,经常死机。出现这种情况是因为,intel815e芯片虽然有三个dimm槽,但最多同时支持4组bank运行在pc133状态下,如果超过四组就会自动降至pc100。所以上述问题如果换用三条单面128m的内存就迎刃而解。
我们再以kingmax为例。对比kingmax pc150 128m两个版本的产品(mpga83s-68kx3 单面128m和mpga83s-88kx3 双面128m),从外形上不难发现,凡1.0版的内存采用的都是16m×8,即单面八片结构的,而1.2版本的则是8mb×8即双面十六片结构。
mpga83s-68kx3
其实说了半天,也不是说单面内存就一定比双面内存好,或者一定要在两者之间区分伯仲。单、双面内存它们的本身没有好坏,区别也很小,只不过看哪种封装被主板芯片组支持的更好罢了。不可否认的一点是,同等容量的内存,单面比双面的集成度要高,生产日期要靠后,所以工作起来就更稳定。
但是升级内存的用户请注意,一定要尽量保证升级前后,内存单、双面的统一性,这样可以最大程度的保证你系统的稳定。同时,对于广大想要对老主板升级的用户来说,分清楚自己主板所支持的范围是最重要的,当然喽,有些问题我们也可以通过升级新的主板bios达到支持的目的,但是这样做的可操作性就不是很强了,要因人而异,因板而异了。