www.138139.cn

返回总目录 上一页 目录页 下一页

关于内存Bank的探讨


   关于内存Bank的探讨
目前很多人对内存Bank(电脑系统与内存之间数据总线的基本工作单位)都有一种误解,认为单面内存就是单Bank,双面内存就是双Bank的。其





实这种观念是不对的,内存的Bank(指物理Bank)数和内存颗粒的面无关,它们之间有什么联系呢?要讲清这个问题,就要提到内存的逻辑Bank





,下面就给大家介绍一下物理Bank和逻辑Bank的概念。在介绍之前,我们先简单看一下现在市场上的主流DRAM内存产品.





现在市场上流行的内存主要有3种:SDRAM、DDR SDRAM及Rambus。其中Rambus内存的控制器和前两者不同,且内部Bank和前两者也不同,将在后





面单独介绍。先主要介绍SDRAM和DDR SDRAM的Bank问题,因为SDRAM就内核、Bank结构而言,和DDR SDRAM没有什么区别,这里作为一个整体来





讲。





逻辑Bank及其结构
内存芯片存储数据的基本单位是bit(位),而进行寻址的基本单位则是Byte(字节),一个Byte就等于8bit。大家知道,在平面坐标系中,要确定





一个点就要先找到它的横坐标和纵坐标。而在内存中数据的定位也很相似,内存中的数据结构就是一个大的数据阵列,为了便于理解,我们把





它假想成一个大的表格,前面我们提到的平面坐标系中的点,在这里我们可以理解为经过定位后的单元格,当然在一个单元格中不是只有1bit





的数据,而是由多个bit组成一个组放在单元格内,这里一个单元格我们可以称作一个组,这个单元格的位数也就是内存逻辑Bank的位宽。在进





行数据读取时,先进行行的选定,再进行列的选定,最后再从这个单元格中读取出所需要的数据。而这由许许多多的单元格组成的大表我们就





可以理解成逻辑Bank,当然因为制造工艺及数据寻址的原因,不可能让这个表格无限大,一般内存芯片中都是将内存容量分成几个阵列来制造





,即多逻辑Bank。随着内存芯片容量的不断增加,逻辑Bank数量也在不断增加,早期的16Mbit之类的芯片采用的还是两个逻辑Bank的设计,现





阶段常见内存芯片的Bank一般为4个(不包括Rambus),这点大家可通过内存条的编码进行识别。内存芯片设计时在一个时钟周期内只允许对一个





逻辑Bank进行操作(实际上内





存芯片的位宽就是逻辑Bank的位宽),而不能对所有逻辑Bank同时操作。所以逻辑Bank的地址线是通用的,只要再有一个逻辑Bank编号加以区别





就可以了。内存芯片的位宽决定了一次能从它那里读出多少数据,并不是内存芯片里所有单元的数据能够一次全部读出。为了加深大家对逻辑





Bank的理解,我们来看看一个单芯片的逻辑Bank示意图





这里不用过于注意结构细节,只需要看看4个内存阵列。从图中可以很清楚地看到这个芯片是一个Bank数为4的芯片,其列和行分别为4096和





2048,而逻辑位宽是4bit,将这三者相乘就是这个逻辑Bank的容量,这里是4096×2048×4 bit =32Mb。再乘以Bank的数量,则芯片的容量就可





以算出来了,这里很显然是4个Bank,那么芯片的容量就是128Mb了。用虚线框起来的就是一个完整的逻辑Bank。可见一个Bank由内存阵列、传





感放大器、一个行解码器、一个列解码器组成。





物理Bank
了解了逻辑Bank后,接下来我们简单看看物理Bank,物理Bank的含义就是指内存和主板北桥芯片之间传递数据的通道,自586以后的CPU数据总





线均为64bit位宽,而CPU一次只能对一个物理Bank进行访问,所以一般情况下我们就把64bit作为一个物理Bank(Physical Bank),在前面我们





已经讲过了逻辑Bank,所以在这里我给大家讲一下如何自己算出物理Bank,大家就会非常好理解了。由于CPU一次只能打开一个物理Bank,在单





芯片上也只能打开一个逻辑Bank,这样我们就知道逻辑Bank的位宽也就是单芯片的位宽了,OK,明眼人就会看出来,我们把芯片的数据宽度和





芯片的数量相乘再除以64就得到了内存条的物理Bank数了,即内存的Bank数=数据宽度×芯片数量/64。现在大家初步明白了内存的物理Bank和





内存的面数无关了吧?后面我还会举例说明。在大概了解了SDRAM和DDR内存的物理Bank及逻辑Bank之后,下面我们来简单了解一下Rambus的





Bank情况。





Rambus的Bank
为了讲解方便,下面以PC800 Rambus为例。Rambus不再采用SDRAM和DDR内存的并联技术,而是采用了更先进的串联技术。就现阶段而言,PC800





Rambus使用400MHz的16位总线,在一个时钟周期内可以在上升沿和下降沿同时传输数据,实际操作频率为400MHz×2=800MHz,理论带宽为16bit





×2×400MHz/8=1.6GB/s,再配合850主板芯片的双通道模式,可以达到3.2GB/s的数据带宽。这也是大家熟知的高带宽,而它最重要的优势在于





其逻辑Bank上,就现阶段的主流 Rambus来说,其逻辑Bank数高达32个,拥有更多的Bank数则意味着具有较少的Bank冲突,寻址流更加短暂随意





。另外还可以提高寻址命中率和降低潜伏周期。当然,更多的Bank也使Rambus的制作模具制造更复杂,也就增加了成本。于是RAMBUS随后又推





出了4i 架构的DRDRAM──在每个颗粒芯片上只有4个Bank。虽然这样做会增加Bank的冲突,但RAMBUS表明:4i 架构的DRDRAM的性能不会改变多





少,而且价格会更低廉。





物理Bank方面,虽然在一些文章中也讲到Rambus内存的物理Bank,但实际上在RIMM模块中已经没有真正意义上的物理Bank了。在RIMM中我们其





实应该这样说:RIMM插槽是单通道还是双通道。下面来看看如何根据内存条的编码识别内存的Bank数。





从内存编码识别Bank
SDRAM和DDR SDRAM的内核是一样的,我们放到一起举一个例子,其他的大家可以举一反三。这里以HYNIX内存的编号为例,其他品牌的内存均类





似。





HY 5a b cde fg h i j k lm-no 





其中HY代表现代的产品;5a表示芯片类型(57表示SDRAM,5D表示DDR SDRAM);b代表工作电压(空白表示5V,V表示3.3V,U表示2.5V);cd和e分





别代表数据深度和数据宽度(如16×4表示数据深度为16Mbit、数据宽度为4bit);fg代表芯片输出的数据位宽(数据位宽=数据宽度×芯片数量)





;h代表内存芯片内部由几个Bank组成(1、2、3分别代表2个、4个和8个Bank)。后面的编号因和本文内容无关,这里不作介绍。





根据前面介绍的计算方法,我们能够很快地知道内存芯片的容量,也就是用数据深度和数据宽度相乘,如果再乘以内存芯片的数量,就可以得





到整条内存的容量。即:内存芯片的容量(MB)=数据深度×数据宽度/8,内存条容量(MB)=内存芯片容量×芯片数量。





实例讲解
下面我们举一个实例来进行说明。一些品牌内存在BX、815(E)类主板上不能很好地工作,或者只能被识别出一半的容量,如前段时间市场上的





大度256MB双面内存,在BX、815(E)类主板上只能被认作128MB,这是什么原因呢?





大度256MB双面内存为32×4格式,16个芯片,4×16=64bit,这正好是一个物理Bank,所以是双面内存单Bank(另有大度256MB内存16×16格式,





8个芯片,16×8=128bit,128/64=2,所以是单面内存双Bank),也就是说该种内存虽然是双面的,但只有一个物理Bank,而BX主板只能对单物





理Bank进行128MB的支持;而815(E)主板上虽然支持单Bank 的256MB内存,但在4bit数据宽度的情况下,其对应的数据深度只能达到16Mbit,所





以只能认出128MB来。这里815(E)和BX芯片组略有不同.





其实这种问题主要发生在BX、815系列及VIA早期的主板上,现在最新的主板对Bank的支持已经非常不错了,大家不用太担心。主板厂商也考虑





到了主板北桥对Bank的限制,所以出现了共享Bank的概念,这样就会有更多的内存搭配方案,且可以插上更多的内存。





在新购内存条时,其实不用过多注意内存的Bank问题。如果要为老机升级加内存,则要注意一下主板所支持的物理Bank的最大数量,尽量不要





把DIMM槽全部插满,特别是在Intel的主板上。以后内存的容量会越来越大,但主要是针对数据深度作文章,而一般主流主板对数据深度的支持





没有什么问题,大家选购时不用担心。

址163164.cn 微信1631640 QQ3149886

返回总目录 上一页 目录页 下一页