内存模块容量参数 "1 rank, 8 banks"是什么意思?
答案:2 悬赏:0 手机版
解决时间 2021-02-15 18:38
- 提问者网友:抽煙菂渘情少年
- 2021-02-14 22:47
лл
最佳答案
- 五星知识达人网友:迟山
- 2021-02-14 23:21
内存的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,这是因为一个物理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,所以出问题再所难免。
再来说说物理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,这是因为一个物理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,所以出问题再所难免。
全部回答
- 1楼网友:患得患失的劫
- 2021-02-15 00:58
模块容量 512 MB (1 rank, 8 banks)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯