剪不斷理還亂!DDR1-3和GDDR1-5全解析
前面介紹的是關(guān)于歷代內(nèi)存的技術(shù)原理,可以說是比較微觀的東西,反映在宏觀上,就是常見的內(nèi)存顆粒及內(nèi)存條了,這都是些看得見摸得著的東西,但有些概念還是不容易理解,這里一一進(jìn)行說明:
● 內(nèi)存位寬——SDR/DDR1/2/3單條內(nèi)存都是64bit
內(nèi)存模組的設(shè)計取決于內(nèi)存控制器(集成在北橋或者CPU內(nèi)部),理論上位寬可以無限提升,但受制因素較多:高位寬將會讓芯片組變得十分復(fù)雜,對主板布線提出嚴(yán)格要求,內(nèi)存PCB更是絲毫馬虎不得,內(nèi)存顆粒及芯片設(shè)計也必須作相應(yīng)的調(diào)整??芍^是牽一發(fā)而動全身,所以多年來業(yè)界都是墨守成規(guī),維持64bit的設(shè)計不變。
相比之下,顯卡作為一個整體就沒有那么多的顧忌,只需重新設(shè)計GPU內(nèi)部的顯存控制器,然后PCB按照位寬要求布線,焊更多的顯存顆粒上去就行了,雖然成本也很高但實現(xiàn)512bit并沒有太大難度。
● 多通道內(nèi)存——雙通道/三通道
既然實現(xiàn)高位寬內(nèi)存條太難,那么就退而求其次,讓兩條內(nèi)存并行傳輸數(shù)據(jù),同樣可以讓位寬翻倍。目前流行的雙通道技術(shù)就是如此,北橋或者CPU內(nèi)部整合了兩個獨立的64bit內(nèi)存控制器,同時傳輸數(shù)據(jù)等效位寬就相當(dāng)于128bit。
Intel Nehalem核心CPU直接整合三通道內(nèi)存控制器,位寬高達(dá)192bit。但由于CPU、主板、內(nèi)存方面成本都增加不少,因此在主流Lynnfield核心CPU上面又回歸了雙通道設(shè)計。事實上服務(wù)器芯片組已經(jīng)能夠支持四通道內(nèi)存,對服務(wù)器來說成本方面不是問題,只是對穩(wěn)定性和容錯性要求很高。
● 內(nèi)存顆粒位寬:4/8/16/32bit
理論上,完全可以制造出一顆位寬為64bit的芯片來滿足一條內(nèi)存使用,但這種設(shè)計對技術(shù)要求很高,良品率很低導(dǎo)致成本無法控制,應(yīng)用范圍很窄。
所以內(nèi)存芯片的位寬一般都很小,臺式機內(nèi)存顆粒的位寬最高僅16bit,常見的則是4/8bit。這樣為了組成64bit內(nèi)存的需要,至少需要4顆16bit的芯片、8顆8bit的芯片或者16顆4bit的芯片。
而顯卡對位寬要求很高,容量反而退居其次,所以顯存顆粒的位寬普遍比內(nèi)存顆粒大(這就是顯存和內(nèi)存主要區(qū)別之一),比如GDDR3/4/5顆粒都是32bit,4顆就能滿足低端卡128bit的需要,8顆可以滿足高端卡256bit的需要;而低端GDDR2顆粒為16bit,需要8顆才能組成低端卡128bit的需要。
● 內(nèi)存芯片的邏輯Bank
在芯片的內(nèi)部,內(nèi)存的數(shù)據(jù)是以bit為單位寫入一張大的矩陣中,每個單元稱為CELL陣列,只要指定一個行一個列,就可以準(zhǔn)確地定位到某個CELL,這就是內(nèi)存芯片尋址的基本原理。這個陣列我們就稱為內(nèi)存芯片的BANK,也稱之為邏輯BANK(Logical BANK)。
不可能只做一個全容量的邏輯Bank,因為單一的邏輯Bank將會造成非常嚴(yán)重的尋址沖突,大幅降低內(nèi)存效率。所以大容量內(nèi)存顆粒都是由多個邏輯Bank疊加而成的。簡單來說,我們可以把一個Bank看作是一片平面的矩陣紙,而內(nèi)存顆粒是由多片這樣的紙疊起來的。
一個Bank的位寬就是內(nèi)存顆粒的位寬,內(nèi)存控制器一次只允許對一個Bank進(jìn)行操作,由于邏輯Bank的地址線是公用的,所以在讀寫時需要加一個邏輯Bank的編號,這個動作被稱為片選。
● 內(nèi)存條的物理Bank
內(nèi)存控制器的位寬必須與內(nèi)存條的位寬相等,這樣才能在一個時鐘周期內(nèi)傳輸所有數(shù)據(jù),這個位寬就被成為一個物理Bank(通常是64bit),每條內(nèi)存至少包含一個Bank,多數(shù)情況下?lián)碛卸€物理Bank。
一個物理Bank不會造成帶寬浪費,理論上是最合理的配置,但為了實現(xiàn)大容量內(nèi)存,單條內(nèi)存多物理Bank也是允許的,但內(nèi)存控制器所能允許的最大Bank數(shù)存在上限,常見的是雙物理Bank設(shè)計,只有特殊內(nèi)存或者服務(wù)器內(nèi)存才會使用四Bank以上的設(shè)計,因為這種內(nèi)存兼容性不好,“挑”芯片組。
事實上顯卡上也存在雙物理Bank設(shè)計,目的就是為了實現(xiàn)超大顯存容量,比如1GB的9800GT,正反兩面共有16顆16M×32bit的GDDR3顯存,總位寬達(dá)512bit,實際上顯存控制器只支持256bit,這樣就是雙物理Bank。
關(guān)注我們
