- 主板不支持大容量內(nèi)存原因 推薦度:
- 相關(guān)推薦
主板不支持大容量內(nèi)存的原因
隨著內(nèi)存價格的下調(diào),不少網(wǎng)友都為自己的機器配置了高容量內(nèi)存,增大內(nèi)存容量不但可以提高讀寫速度,而且會適當?shù)奶岣呦到y(tǒng)性能;但是,單條大容量內(nèi)存在一些主板上(時間比較長的主板)不是無法識別,就是識別錯誤(容量識別錯誤)。今天百分網(wǎng)小編為大家整理的主板不支持大容量內(nèi)存的原因,歡迎大家閱讀瀏覽!
一.內(nèi)存芯片的邏輯BANK
我們知道主板上使用的32MB/64MB/128MB的內(nèi)存條都是由若干內(nèi)存芯片焊接在4層或6層電路板上組成的,因此首先我們必須對內(nèi)存芯片的內(nèi)部結(jié)構(gòu)有個清楚的認識,見下圖:
在芯片的內(nèi)部,內(nèi)存的數(shù)據(jù)是以位(bit)為單位寫入一張大的矩陣中,每個單元我們稱為CELL,只要指定一個行(Row),再指定一個列(Column),就可以準確地定位到某個CELL,這就是內(nèi)存芯片尋址的基本原理。這個陣列我們就稱為內(nèi)存芯片的BANK,也稱之為邏輯BANK(Logical BANK)。由于工藝上的原因,這個陣列不可能做得太大,所以一般內(nèi)存芯片中都是將內(nèi)存容量分成幾個陣列來制造,也就是說存在內(nèi)存芯片中存在多個邏輯BANK,隨著芯片容量的不斷增加,邏輯BANK數(shù)量也在不斷增加,目前從32MB到1GB的芯片基本都是4個,只有早期的16Mbit和32Mbit的芯片采用的還是2個邏輯BANK的設計,譬如三星的兩種16MB芯片:K4S161622D (512K x 16Bit x 2 BANK)和K4S160822DT(1M x 8Bit x 2 BANK)。芯片組本身設計時在一個時鐘周期內(nèi)只允許對一個邏輯BANK進行操作(實際上芯片的位寬就是邏輯BANK的位寬),而不是芯片組對內(nèi)存芯片內(nèi)所有邏輯BANK同時操作。邏輯BANK的地址線是通用的,只要再有一個邏輯BANK編號加以區(qū)別就可以了(BANK0到BANK3)。但是這個芯片的位寬決定了一次能從它那里讀出多少數(shù)據(jù),并不是內(nèi)存芯片里所有單元的數(shù)據(jù)一次全部能夠讀出,下圖就是一個容量為32MB(256Mbit)內(nèi)存芯片內(nèi)部邏輯BANK結(jié)構(gòu)示意圖,從中你可以更清楚邏輯BANK的結(jié)構(gòu)。
圖中可以看出,DQ數(shù)據(jù)輸入/輸出線只有8根而不是32根,可以發(fā)現(xiàn)4個BANK是分時工作的,任一時刻只可能有一個BANK的數(shù)據(jù)被存取,0-3是它們的編號。每個邏輯BANK有8M個單元格(CELL),一些廠商(比如現(xiàn)代/三星)就把每個邏輯BANK的單元格數(shù)稱為數(shù)據(jù)深度(Data Depth),每個單元由8bit組成,那么一個邏輯BANK的總?cè)萘烤褪?4Mbit(8M×8bit),4個邏輯BANK就是256Mbit,因此這顆芯片的總?cè)萘烤褪?56Mbit(32MB)。
內(nèi)存芯片的容量是一般以bit為單位的。比如說32Mbit的芯片,就是說它的容量是32Mb(b=bit=位),注意位(bit)與字節(jié)(Byte)區(qū)別,這個芯片換算成字節(jié)就是4MB(B=Byte=字節(jié)=8個bit),一般內(nèi)存芯片廠家在芯片上是標明容量的,我們可以芯片上的標識知道,這個芯片有幾個邏輯BANK,每個邏輯bank的位寬是多少,每個邏輯BANK內(nèi)有多少單元格(CELL),比如目前目前64MB和128MB內(nèi)存條常用的64Mbit的芯片就有如下三種結(jié)構(gòu)形式:
、16 Meg x 4 (4 Meg x 4 x 4 banks) [16M╳4]
、8 Meg x 8 (2 Meg x 8 x 4 banks) [8M╳8]
、4 Meg x 16 (1 Meg x 16 x 4 banks) [4M╳16]
表示方法是:每個邏輯BANK的單元格數(shù)×邏輯BANK數(shù)量×每個單元格的位數(shù)(芯片的位寬)。芯片邏輯BANK位寬目前的工藝水平只能最多做到16位,因此大家看到幾乎所有的芯片邏輯BANK位寬只可能4/8/16三者之一。以前16Mbit的芯片基本采用的單個芯片兩個邏輯BANK,但是到了64Mbit基本就都是4個邏輯BANK設計了,今后隨著生產(chǎn)工藝水平的提高估計單個芯片8個甚至16個邏輯BANK的出現(xiàn)也不是沒有可能.
二.內(nèi)存條的物理BANK
通常主板上的每個內(nèi)存插槽分為兩段,這個大家從VIA主板BIOS設置中的BANK 0/1 DRAM Timing選項很容易推理得到,實際上也就是兩個BANK,不過這里的BANK概念與我們前面分析芯片內(nèi)部結(jié)構(gòu)時提到的BANK可不一樣。簡單地說這個BANK就是內(nèi)存和主板上的北橋芯片之間用來交換數(shù)據(jù)的通道,目前以SDRAM系統(tǒng)為例,CPU與內(nèi)存之間(就是CPU到DIMM槽)的接口位寬是64bit,也就意味著CPU一次會向內(nèi)存發(fā)送或從內(nèi)存讀取64bit的數(shù)據(jù),那么這一個64bit的數(shù)據(jù)集合就是一個內(nèi)存條BANK,很多廠家的產(chǎn)品說明里稱之為物理BANK(Physical BANK),目前絕大多數(shù)的芯片組都只能支持一根內(nèi)存包含兩個物理BANK,但是針對某個具體的條子,很多人想當然,認為每個DIMM插槽使用內(nèi)存條的面數(shù)來區(qū)分占用幾個BANK通道,單面的(16M,64M)只占用一個物理BANK,而雙面的(32M,128M)則需占用兩個物理BANK。實際上物理BANK與面數(shù)是無關(guān)的,PCB電路可以設計成雙面和單面,也可把全部芯片(16顆)放在一面上(至少從理論上是完全可能)。有些內(nèi)存條單面就是一個物理BANK,但有些雙面才是一個物理BANK,所以不能一概而論。前一陣鬧得沸沸揚揚的大度256MB內(nèi)存條就是一個典型的例子,雖然是雙面并多達16枚芯片,但仍然是單個物理BANK的。要準確知道內(nèi)存條實際物理BANK數(shù)量,我們只要要將單個芯片的邏輯BANK數(shù)量和位寬以及內(nèi)存條上芯片個數(shù)搞清楚。各個芯片位寬之和為64就是單物理BANK,如果是128就是雙物理BANK。目前的芯片組最多支持2個物理BANK。所以內(nèi)存廠家生產(chǎn)的內(nèi)存條都不可能超過2個物理BANK。
CPU一次只能對一個物理BANK進行訪問和操作(因為一個物理BANK是64bit的位寬),那么內(nèi)存條要保證一個周期內(nèi)向數(shù)據(jù)總線提供或接收64bit的數(shù)據(jù),而這些數(shù)據(jù)都是分別存儲在內(nèi)存條的的芯片中。那么內(nèi)存條中有多個內(nèi)存芯片,這64位數(shù)據(jù)到底是有一個芯片提供還是由所有芯片每個提供一部分呢?我們還是以上面的那顆256Mbit的芯片為例,根據(jù)芯片組的工作原理,目前還沒有那家芯片生產(chǎn)廠家做出位寬16位以上的芯片,所以現(xiàn)在的芯片組設計時都是要求內(nèi)存條上每個芯片均承擔提供數(shù)據(jù)的任務,也就是說內(nèi)存條上的每個芯片都要要對這64位數(shù)據(jù)做貢獻,而那顆內(nèi)存芯片的位寬是8位,因此用這個芯片組成內(nèi)存條只需要8顆芯片即完成了64位數(shù)據(jù)并發(fā)任務,算下來,內(nèi)存條的容量就是32 MB (256Mbit)×8=256MB的容量,假如是內(nèi)存芯片的位寬是4位,那么需要的芯片數(shù)量必須是16顆,這時假如使用八顆位寬還是8位的64MB(512bit)芯片(單個芯片的總?cè)萘糠艘环?組裝,盡管內(nèi)存條上的總?cè)萘窟_到了256MB的要求,還是由于位寬不夠是不能正常工作。要能工作就必須采用16位位寬的64MB(512bit)芯片。
586以上電腦的數(shù)據(jù)總線寬度都是64bit,即每次讀取內(nèi)存為64bit,SDRAM內(nèi)存條的設計帶寬也是64bit,內(nèi)存條的帶寬為條上各個內(nèi)存芯片的帶寬之和,基本條件為帶寬之和應等于64bit或其倍數(shù)。假如出現(xiàn)了各個芯片位寬之和等于128。則分成兩個64位,當讀取一個64位部分時,另一個64位部分就不能讀取,通常很多廠家就分別將這兩部分放在內(nèi)存的兩面上。這就造成了許多人的錯覺:雙面是兩個BANK的,單面是一個BANK的。實際根本不能這樣認識,比如大度256MB內(nèi)存,盡管兩面16個芯片,但是由于內(nèi)存芯片的位寬是4位(32Mbit×4),所以必須要有4×16=64才能達到系統(tǒng)所要求的位寬。這時由于芯片大小的限制,不可能將16顆芯片都放在一面上,所以只能設計成雙面。對于64Mbit芯片 (4M*16) 來說,芯片帶寬16bit,8顆芯片帶寬=16*8=128bit(即兩個BANK),4顆芯片帶寬=16*4=64bit(即一個BANK)。兩個物理BANK的情況只有出現(xiàn)在位寬超出了64位的情況下(即位寬出現(xiàn)了富余),由于芯片組任一時刻只能處理一個64位,所以才分成兩個物理BANK。今后隨著新一代數(shù)據(jù)總線位寬的提高,也許CPU的胃口就不是一次只能64位數(shù)據(jù)了,可能是128位甚至更多。
另外我們常說的內(nèi)存交錯設置并不是指的物理BANK的交錯。也就是說不是內(nèi)存條雙面的交錯,而是指內(nèi)存芯片內(nèi)部邏輯BANK的交錯,如果芯片有4個BANK,那么就可以進行4路交錯,如果只有兩個BANK就只能是二路交錯。很多資料介紹的以內(nèi)存條的單面或雙面來決定交錯是錯誤的,實際上就是混淆了物理BANK和邏輯BANK的區(qū)別。
三.有關(guān)內(nèi)存BANK的幾個常見問題釋疑
我們透徹地了解了上面介紹的物理BANK和邏輯BANK的概念之后,就不難對目前有關(guān)動態(tài)內(nèi)存的幾個熱點問題做出解釋了。
1.大容量內(nèi)存不能為某些主板正確識別原因
系統(tǒng)在啟動時,主板的北橋芯片會偵測這些內(nèi)存條的參數(shù),如果果發(fā)現(xiàn)位寬不支持,則終止檢測,系統(tǒng)就掛了。因為位寬決定了一次CPU一次向內(nèi)存芯片傳遞的數(shù)據(jù)量,只能一次64位數(shù)據(jù)并發(fā)。接下來檢測BANK的單元格總數(shù),如果這個單元格的數(shù)量超出了芯片組所支持的上限,那么就按芯片組所能支持的最大限度進行操作,在確定了數(shù)據(jù)深度/位寬之后再結(jié)合邏輯BANK數(shù)量,計算出芯片的實際可用總?cè)萘。換句話說邏輯BANK中的一些行與列可能就用不上了,假如芯片組對邏輯BANK數(shù)量不支持,那么多出來的邏輯BANK也將不起作用,后者的情況比較少見,現(xiàn)在的芯片組基本全是支持4BANK的。VIA的KT133芯片組甚至明確表示支持8BANK。
我們說內(nèi)存識別出現(xiàn)問題,主要就是卡在芯片的這三個參數(shù)上,其中又以芯片的數(shù)據(jù)深度限制最為常見。事實上現(xiàn)在很多大容量內(nèi)存不能為一些舊型號主板支持的主要原因就是芯片組對內(nèi)存芯片的邏輯BANK數(shù)據(jù)深度有一定限制。我們知道芯片的容量主要由三個參數(shù)決定,也就是根據(jù)第一部分介紹的公式,首先是邏輯BANK的單元格數(shù)(數(shù)據(jù)深度),其次是邏輯BANK的位數(shù)。最后是邏輯BANK的個數(shù)。三者相乘得到芯片的容量,大家看到大度內(nèi)存256MB為什么不能在440BX上用,就是由于BX芯片組只支持內(nèi)存芯片的數(shù)據(jù)深度為4M,而不是8M,所以大度條子的內(nèi)存芯片在BX板上被識別成4×4×4=64Mbit(8MB),而不是本來的8×4×4=128Mbit(16MB),現(xiàn)在很多大容量的內(nèi)存沒有在BANK數(shù)和位寬上提高多少,基本都是增加芯片的數(shù)據(jù)深度,而這是需要芯片組支持的,象INTEL的LX/BX/810/815等都只能支持最大4M(INTEL想讓大家去選擇P4+850+RDRAM的組合啊!司馬昭之心,路人皆知!),而目前VIA系列的幾款芯片組支持芯片任意位寬(盡管目前大部分內(nèi)存芯片的位寬最高只有16位),單個邏輯BANK的容量(數(shù)據(jù)深度)最多支持32M的容量。從這點上大家也不難看出為什么現(xiàn)在VIA芯片組的主板這么火了。
2.內(nèi)存條購買標準的修正
大家都知道這么一個購買常識:購買內(nèi)存時盡量選用單面內(nèi)存。但是這個經(jīng)驗是來自這樣一個背景:許多不正規(guī)的小廠使用低容量芯片(比如已經(jīng)過時16Mbit)來制造目前使用的高容量內(nèi)存條,由于單個芯片容量小,為了達到較大的內(nèi)存條容量,必然要增加芯片數(shù)目,而且這些過時的芯片很可能是一些翻新貨,并且芯片之間電氣參數(shù)的一致性也很差。不過根據(jù)分析更準確地講購買原則應該:是選擇單物理BANK的內(nèi)存。以前由于大多數(shù)單面內(nèi)存都是單BANK內(nèi)存,所以大家一直就是這個說法,實際上通過前面的分析我們知道內(nèi)存條的面數(shù)與物理BANK數(shù)是無關(guān)的。單個物理BANK,內(nèi)存只要取一組64位數(shù)據(jù),而不需要再切換到另外一個BANK讀去另外一組64位數(shù)據(jù),切換的時間省去了,性能必然有提高。目前由于一個DIMM插槽最多支持兩個物理BANK,BIOS設置中是對同一個內(nèi)存插槽的兩個BANK同時進行速度調(diào)節(jié)的,比如BANK 0/1 DRAM Timing;BANK 2/3 DRAM Timing;BANK 4/5 DRAM Timing選項。,所以我們在選擇內(nèi)存的時候應該根據(jù)內(nèi)存條上芯片的編碼,確定內(nèi)存條是單BANK還是雙BANK,排除下面講到的DIMM插槽信號走線的影響,一根雙BANK的內(nèi)存條與兩根單BANK的內(nèi)存條在性能上是沒有多少差別的。能用一個插槽不要使用兩個插槽的說法是沒有依據(jù)的。總體上講3個DIMM插槽在總?cè)萘繚M足要求的情況下,使用BANK的數(shù)目愈少愈好。千萬不要出現(xiàn)使用大量低容量芯片組裝的條子占用3個DIMM全部6個BANK的情況。
3.DIMM插槽超頻性能不一致與內(nèi)存BANK無關(guān)
前面我們說了盡量減少DIMM插槽的使用,但是有時從保護已有投資考慮,以前購買的低容量內(nèi)存又不好丟棄,所以有時可能還會出現(xiàn)同時使用三個DIMM插槽的情況,但需要注意的是這時不一定同時使用全部6個BANK,很可能只使用了3個BANK。很多人發(fā)現(xiàn)這三個DIMM插槽所允許的最大速度是不同的(VIA主板BIOS允許分別對每個DIMM插槽進行速度調(diào)節(jié)),一般DIMM2最高,DIMM1其次,DIMM3最差。這與內(nèi)存條的BANK有無關(guān)系呢?根據(jù)前面分析,筆者認為無關(guān),這主要與內(nèi)存BANK控制信號在主板上的走線有關(guān),很多有4個DIMM插槽的BX主板,由于BX主板最大只能支持6個BANK,所以DIMM3與DIMM4的信號走線是共享的,因此導致DIMM2與DIMM3走線設計不一致而導致兩者的超頻性能相差極大。這也是一些內(nèi)存甚至無法用在DIMM3和DIMM4插槽上的主要原因。那么DIMM1為什么超頻性能還可以呢?主要是主板BIOS或北橋芯片檢測內(nèi)存時是按照BANK編號的順序進行的,他們要求第一條內(nèi)存必須插在DIMM1上,所以設計時對其進行了一些電路上的優(yōu)化。所有一切與內(nèi)存的物理和邏輯BANK的結(jié)構(gòu)和工作機理無關(guān)。
【主板不支持大容量內(nèi)存的原因】相關(guān)文章:
主板不支持大容量內(nèi)存原因10-25
為什么主板不支持大容量內(nèi)存06-23
Linux系統(tǒng)占內(nèi)存大的原因09-04
電腦主板損害的原因07-10
怎么查看主板最大支持多少g內(nèi)存09-14
內(nèi)存故障產(chǎn)生的原因09-17
電腦主板硬件知識:開機主板鳴叫原因08-19
內(nèi)存不能存為READ的原因08-06
內(nèi)存條損壞的原因06-18