查看單個文章
舊 2004-07-09, 09:30 PM   #2 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

淺談單面與雙面記憶體的區別
 雖說如今SD記憶體早已被裝機者們淘汰,可是對於不少無緣DDR的老主機板的用戶來說,這SD記憶體可是昇級的難覓之寶,往往加一根小小的記憶體就可以提高不少老電腦的效能,做更多的事情。

  但是偏偏好事多磨,記憶體的混插往往不是那麼太平的,常常會出些這樣那樣的問題,究其原因,有很多中,其中之一便是這單面和雙面記憶體混插造成。那什麼是單面和雙面記憶體呢?它們有些什麼樣的特性與區別呢?下面咱們就細細道來。


「勝現」單面記憶體

http://www.myhard.com/imagesnew/hardware/0318/wujing030318050.jpg

「超勝」雙面記憶體

http://www.myhard.com/imagesnew/hardware/0318/wujing030318051.jpg


何謂記憶體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顆)放在一面上(至少從理論上是完全可能)。


http://www.myhard.com/imagesnew/hardware/0318/wujing030318052.jpg

 有些記憶體條單面就是一個物理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。

http://www.myhard.com/imagesnew/hardware/0318/wujing030318053.jpg

  事實上很多類似的大容量記憶體不能為一些舊型號主機板支持的主要原因就是晶片組對記憶體晶片的邏輯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即雙面十六片結構。

  對照SDRAM記憶體工業標準來看,現在通用的168線SDRAM的電路結構應該是單面八片的形式,而背面應該完全留給晶片級昇級使用。我們可以簡單的理解為雙面的就是在一根64MB記憶體條的基礎上增加了8個晶片,實現'記憶體條昇級'的結果。所以說, KingMax PC150 1.0版本和1.2版本的主要區別在於單面和雙面封裝的不同,而準確的講,單面封裝的1.0 版本則為SDRAM的標準產品。雖然兩種結構下的記憶體條容量是相同的,但理論上講,無論是擴充性、穩定性還是相容性,單面結構都比雙面結構稍勝一籌。


http://www.myhard.com/imagesnew/hardware/0318/wujing030318054.jpg

MPGA83S-68KX3

  其實說了半天,也不是說單面記憶體就一定比雙面記憶體好,或者一定要在兩者之間區分伯仲。單、雙面記憶體它們的本身沒有好壞,區別也很小,只不過看哪種封裝被主機板晶片組支持的更好罷了。不可否認的一點是,同等容量的記憶體,單面比雙面的整合度要高,生產日期要靠後,所以工作起來就更穩定。

  但是昇級記憶體的用戶請注意,一定要盡量保證昇級前後,記憶體單、雙面的統一性,這樣可以最大程度的保證你系統的穩定。同時,對於廣大想要對老主機板昇級的用戶來說,分清楚自己主機板所支持的範圍是最重要的,當然嘍,有些問題我們也可以通過昇級新的主機板bios達到支持的目的,但是這樣做的可操作性就不是很強了,要因人而異,因板而異了。
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次