滄海桑田話存貯 內存/顯存發展編年史
前面介紹的是關于歷代內存的技術原理,可以說是比較微觀的東西,反映在宏觀上,就是常見的內存顆粒及內存條了,這都是些看得見摸得著的東西,但有些概念還是不容易理解,這里逐一進行說明:
● 內存位寬——SDR/DDR1/2/3單條內存都是64bit
內存模組的設計取決于內存控制器(集成在北橋或者CPU內部),理論上位寬可以無限提升,但受制因素較多:高位寬將會讓芯片組變得十分復雜,對主板布線提出嚴格要求,內存PCB更是絲毫馬虎不得,內存顆粒及芯片設計也必須作相應的調整。可謂是牽一發而動全身,所以多年來業界都是墨守成規,維持64bit的設計不變。
相比之下,顯卡作為一個整體就沒有那么多的顧忌,只需重新設計GPU內部的顯存控制器,然后PCB按照位寬要求布線,焊更多的顯存顆粒上去就行了,雖然成本也很高但實現512bit并沒有太大難度。
● 多通道內存——雙通道/三通道
既然實現高位寬內存條太難,那么就退而求其次,讓兩條內存并行傳輸數據,同樣可以讓位寬翻倍。目前流行的雙通道技術就是如此,北橋或者CPU內部整合了兩個獨立的64bit內存控制器,同時傳輸數據等效位寬就相當于128bit。
Intel Nehalem核心CPU直接整合三通道內存控制器,位寬高達192bit。但由于CPU、主板、內存方面成本都增加不少,因此在主流Lynnfield核心CPU上面又回歸了雙通道設計。事實上服務器芯片組已經能夠支持四通道內存,對服務器來說成本方面不是問題,只是對穩定性和容錯性要求很高。
● 內存顆粒位寬:4/8/16/32bit
理論上,完全可以制造出一顆位寬為64bit的芯片來滿足一條內存使用,但這種設計對技術要求很高,良品率很低導致成本無法控制,應用范圍很窄。
所以內存芯片的位寬一般都很小,臺式機內存顆粒的位寬最高僅16bit,常見的則是4/8bit。這樣為了組成64bit內存的需要,至少需要4顆16bit的芯片、8顆8bit的芯片或者16顆4bit的芯片。
而顯卡對位寬要求很高,容量反而退居其次,所以顯存顆粒的位寬普遍比內存顆粒大(這就是顯存和內存主要區別之一),比如GDDR3/4/5顆粒都是32bit,4顆就能滿足低端卡128bit的需要,8顆可以滿足高端卡256bit的需要;而低端GDDR2顆粒為16bit,需要8顆才能組成低端卡128bit的需要。
● 內存芯片的邏輯Bank
在芯片的內部,內存的數據是以bit為單位寫入一張大的矩陣中,每個單元稱為CELL陣列,只要指定一個行一個列,就可以準確地定位到某個CELL,這就是內存芯片尋址的基本原理。這個陣列我們就稱為內存芯片的BANK,也稱之為邏輯BANK(Logical BANK)。
不可能只做一個全容量的邏輯Bank,因為單一的邏輯Bank將會造成非常嚴重的尋址沖突,大幅降低內存效率。所以大容量內存顆粒都是由多個邏輯Bank疊加而成的。簡單來說,我們可以把一個Bank看作是一片平面的矩陣紙,而內存顆粒是由多片這樣的紙疊起來的。
一個Bank的位寬就是內存顆粒的位寬,內存控制器一次只允許對一個Bank進行操作,由于邏輯Bank的地址線是公用的,所以在讀寫時需要加一個邏輯Bank的編號,這個動作被稱為片選。
● 內存條的物理Bank
內存控制器的位寬必須與內存條的位寬相等,這樣才能在一個時鐘周期內傳輸所有數據,這個位寬就被成為一個物理Bank(通常是64bit),每條內存至少包含一個Bank,多數情況下擁有二個物理Bank。
一個物理Bank不會造成帶寬浪費,理論上是最合理的配置,但為了實現大容量內存,單條內存多物理Bank也是允許的,但內存控制器所能允許的最大Bank數存在上限,常見的是雙物理Bank設計,只有特殊內存或者服務器內存才會使用四Bank以上的設計,因為這種內存兼容性不好,“挑”芯片組。
事實上顯卡上也存在雙物理Bank設計,目的就是為了實現超大顯存容量,比如1GB的9800GT,正反兩面共有16顆16M×32bit的GDDR3顯存,總位寬達512bit,實際上顯存控制器只支持256bit,這樣就是雙物理Bank。
● 內存異步工作模式
包含多種意義,在廣義上凡是內存工作頻率與CPU的外頻不一致時都可以稱為內存異步工作模式。首先,最早的內存異步工作模式出現在早期的主板芯片組中,可以使內存工作在比CPU外頻高33MHz或者低33MHz的模式下(注意只是簡單相差33MHz),從而可以提高系統內存性能或者使老內存繼續發揮余熱。其次,在正常的工作模式(CPU不超頻)下,目前不少主板芯片組也支持內存異步工作模式,例如Intel 910GL芯片組,僅僅只支持533MHz FSB即133MHz的CPU外頻,但卻可以搭配工作頻率為133MHz的DDR 266、工作頻率為166MHz的DDR 333和工作頻率為200MHz的DDR 400正常工作(注意此時其CPU外頻133MHz與DDR 400的工作頻率200MHz已經相差66MHz了),只不過搭配不同的內存其性能有差異罷了。再次,在CPU超頻的情況下,為了不使內存拖CPU超頻能力的后腿,此時可以調低內存的工作頻率以便于超頻,例如AMD的Socket 939接口的Opteron 144非常容易超頻,不少產品的外頻都可以輕松超上300MHz,而此如果在內存同步的工作模式下,此時內存的等效頻率將高達DDR 600,這顯然是不可能的,為了順利超上300MHz外頻,我們可以在超頻前在主板BIOS中把內存設置為DDR 333或DDR 266,在超上300MHz外頻之后,前者也不過才DDR 500(某些優品內存可以達到),而后者更是只有DDR 400(完全是正常的標準頻率),由此可見,正確設置內存異步模式有助于超頻成功。
目前的主板芯片組幾乎都支持內存異步,英特爾公司從810系列之后都支持,而威盛公司則從693芯片組以后全部都提供了此功能。
關注我們



