主板不支持單條大容量內(nèi)存的原因分析
主板不支持單條大容量內(nèi)存的原因分析
隨著內(nèi)存價(jià)格的下調(diào),不少網(wǎng)友都為自己的機(jī)器配置了高容量內(nèi)存,增大內(nèi)存容量不但可以提高讀寫速度,而且會適當(dāng)?shù)奶岣呦到y(tǒng)性能;但是,單條大容量內(nèi)存在一些主板上(時(shí)間比較長的主板)不是無法識別,就是識別錯(cuò)誤(容量識別錯(cuò)誤)。具體是什么原因造成的呢?下面學(xué)習(xí)啦小編就為大家介紹一下具體的原因分析吧,歡迎大家參考和學(xué)習(xí)。
一.內(nèi)存芯片的邏輯BANK
我們知道主板上使用的32MB/64MB/128MB的內(nèi)存條都是由若干內(nèi)存芯片焊接在4層或6層電路板上組成的,因此首先我們必須對內(nèi)存芯片的內(nèi)部結(jié)構(gòu)有個(gè)清楚的認(rèn)識,見下圖:
在芯片的內(nèi)部,內(nèi)存的數(shù)據(jù)是以位(bit)為單位寫入一張大的矩陣中,每個(gè)單元我們稱為CELL,只要指定一個(gè)行(Row),再指定一個(gè)列(Column),就可以準(zhǔn)確地定位到某個(gè)CELL,這就是內(nèi)存芯片尋址的基本原理。這個(gè)陣列我們就稱為內(nèi)存芯片的BANK,也稱之為邏輯BANK(Logical BANK)。
由于工藝上的原因,這個(gè)陣列不可能做得太大,所以一般內(nèi)存芯片中都是將內(nèi)存容量分成幾個(gè)陣列來制造,也就是說存在內(nèi)存芯片中存在多個(gè)邏輯BANK,隨著芯片容量的不斷增加,邏輯BANK數(shù)量也在不斷增加,目前從32MB到1GB的芯片基本都是4個(gè),只有早期的16Mbit和32Mbit的芯片采用的還是2個(gè)邏輯BANK的設(shè)計(jì),譬如三星的兩種16MB芯片:K4S161622D (512K x 16Bit x 2 BANK)和K4S160822DT(1M x 8Bit x 2 BANK)。芯片組本身設(shè)計(jì)時(shí)在一個(gè)時(shí)鐘周期內(nèi)只允許對一個(gè)邏輯BANK進(jìn)行操作(實(shí)際上芯片的位寬就是邏輯BANK的位寬),而不是芯片組對內(nèi)存芯片內(nèi)所有邏輯BANK同時(shí)操作。
邏輯BANK的地址線是通用的,只要再有一個(gè)邏輯BANK編號加以區(qū)別就可以了(BANK0到BANK3)。但是這個(gè)芯片的位寬決定了一次能從它那里讀出多少數(shù)據(jù),并不是內(nèi)存芯片里所有單元的數(shù)據(jù)一次全部能夠讀出,下圖就是一個(gè)容量為32MB(256Mbit)內(nèi)存芯片內(nèi)部邏輯BANK結(jié)構(gòu)示意圖,從中你可以更清楚邏輯BANK的結(jié)構(gòu)。
圖中可以看出,DQ數(shù)據(jù)輸入/輸出線只有8根而不是32根,可以發(fā)現(xiàn)4個(gè)BANK是分時(shí)工作的,任一時(shí)刻只可能有一個(gè)BANK的數(shù)據(jù)被存取,0-3是它們的編號。每個(gè)邏輯BANK有8M個(gè)單元格(CELL),一些廠商(比如現(xiàn)代/三星)就把每個(gè)邏輯BANK的單元格數(shù)稱為數(shù)據(jù)深度(Data Depth),每個(gè)單元由8bit組成,那么一個(gè)邏輯BANK的總?cè)萘烤褪?4Mbit(8M×8bit),4個(gè)邏輯BANK就是256Mbit,因此這顆芯片的總?cè)萘烤褪?56Mbit(32MB)。
內(nèi)存芯片的容量是一般以bit為單位的。比如說32Mbit的芯片,就是說它的容量是32Mb(b=bit=位),注意位(bit)與字節(jié)(Byte)區(qū)別,這個(gè)芯片換算成字節(jié)就是4MB(B=Byte=字節(jié)=8個(gè)bit),一般內(nèi)存芯片廠家在芯片上是標(biāo)明容量的,我們可以芯片上的標(biāo)識知道,這個(gè)芯片有幾個(gè)邏輯BANK,每個(gè)邏輯bank的位寬是多少,每個(gè)邏輯BANK內(nèi)有多少單元格(CELL),比如目前目前64MB和128MB內(nèi)存條常用的64Mbit的芯片就有如下三種結(jié)構(gòu)形式:
?、?6 Meg x 4 (4 Meg x 4 x 4 banks) [16M╳4]
?、? Meg x 8 (2 Meg x 8 x 4 banks) [8M╳8]
?、? Meg x 16 (1 Meg x 16 x 4 banks) [4M╳16]
表示方法是:每個(gè)邏輯BANK的單元格數(shù)×邏輯BANK數(shù)量×每個(gè)單元格的位數(shù)(芯片的位寬)。芯片邏輯BANK位寬目前的工藝水平只能最多做到16位,因此大家看到幾乎所有的芯片邏輯BANK位寬只可能4/8/16三者之一。以前16Mbit的芯片基本采用的單個(gè)芯片兩個(gè)邏輯BANK,但是到了64Mbit基本就都是4個(gè)邏輯BANK設(shè)計(jì)了,今后隨著生產(chǎn)工藝水平的提高估計(jì)單個(gè)芯片8個(gè)甚至16個(gè)邏輯BANK的出現(xiàn)也不是沒有可能.
二.內(nèi)存條的物理BANK
通常主板上的每個(gè)內(nèi)存插槽分為兩段,這個(gè)大家從VIA主板BIOS設(shè)置中的BANK 0/1 DRAM Timing選項(xiàng)很容易推理得到,實(shí)際上也就是兩個(gè)BANK,不過這里的BANK概念與我們前面分析芯片內(nèi)部結(jié)構(gòu)時(shí)提到的BANK可不一樣。簡單地說這個(gè)BANK就是內(nèi)存和主板上的北橋芯片之間用來交換數(shù)據(jù)的通道。
目前以SDRAM系統(tǒng)為例,CPU與內(nèi)存之間(就是CPU到DIMM槽)的接口位寬是64bit,也就意味著CPU一次會向內(nèi)存發(fā)送或從內(nèi)存讀取64bit的數(shù)據(jù),那么這一個(gè)64bit的數(shù)據(jù)集合就是一個(gè)內(nèi)存條BANK,很多廠家的產(chǎn)品說明里稱之為物理BANK(Physical BANK),目前絕大多數(shù)的芯片組都只能支持一根內(nèi)存包含兩個(gè)物理BANK,但是針對某個(gè)具體的條子,很多人想當(dāng)然,認(rèn)為每個(gè)DIMM插槽使用內(nèi)存條的面數(shù)來區(qū)分占用幾個(gè)BANK通道,單面的(16M,64M)只占用一個(gè)物理BANK,而雙面的(32M,128M)則需占用兩個(gè)物理BANK。
實(shí)際上物理BANK與面數(shù)是無關(guān)的,PCB電路可以設(shè)計(jì)成雙面和單面,也可把全部芯片(16顆)放在一面上(至少從理論上是完全可能)。有些內(nèi)存條單面就是一個(gè)物理BANK,但有些雙面才是一個(gè)物理BANK,所以不能一概而論。前一陣鬧得沸沸揚(yáng)揚(yáng)的大度256MB內(nèi)存條就是一個(gè)典型的例子,雖然是雙面并多達(dá)16枚芯片,但仍然是單個(gè)物理BANK的。
要準(zhǔn)確知道內(nèi)存條實(shí)際物理BANK數(shù)量,我們只要要將單個(gè)芯片的邏輯BANK數(shù)量和位寬以及內(nèi)存條上芯片個(gè)數(shù)搞清楚。各個(gè)芯片位寬之和為64就是單物理BANK,如果是128就是雙物理BANK。目前的芯片組最多支持2個(gè)物理BANK。所以內(nèi)存廠家生產(chǎn)的內(nèi)存條都不可能超過2個(gè)物理BANK。