編者按:目前CPU用的內(nèi)存正在從DDR2向DDR3過渡,而GPU用的顯存則是以GDDR2/3為主、跳過GDDR4、直奔GDDR5而去;蛟S很多朋友一時(shí)還難以接受GDDR5那夸張的頻率、不明白GDDR相比DDR發(fā)展速度為何如此“超前”、甚至搞不清楚GDDR1/2/3/4/5和DDR1/2/3之間“說不清道不明”的關(guān)系。
如果您是一位求知欲很強(qiáng)的電腦愛好者,那么本文非常適合您,筆者特意搜集了大量官方技術(shù)文檔,為大家獻(xiàn)上內(nèi)存和顯存鮮為人知的奧秘……
近年來CPU(中央處理器)和GPU(圖形處理器)的發(fā)展速度之快讓人目不暇接,新產(chǎn)品的運(yùn)算能力成倍提升,此時(shí)就對(duì)內(nèi)存子系統(tǒng)提出了嚴(yán)峻的需求,因?yàn)镃PU/GPU運(yùn)算所需的數(shù)據(jù)和生成的數(shù)據(jù)都是來自于內(nèi)存/顯存,如果存儲(chǔ)速度跟不上,那么就會(huì)浪費(fèi)很多時(shí)間在數(shù)據(jù)等待上面,從而影響CPU/GPU的性能發(fā)揮。
為了讓內(nèi)存/顯存不至于造成瓶頸,芯片廠商都在想方設(shè)法的提高帶寬:AMD和Intel相繼將內(nèi)存控制器整合在了CPU內(nèi)部,大大降低了延遲并提高存儲(chǔ)效率,Intel旗艦級(jí)CPU能夠支持三通道內(nèi)存,帶寬提升50%;ATI和NVIDIA也先后使用了512Bit的顯存控制器,總帶寬倍增。
是何原因?qū)е聵I(yè)界三大巨頭如此大費(fèi)周折呢?這是因?yàn)閮?nèi)存技術(shù)的發(fā)展速度,其實(shí)并不如大家想象中的那么快,受到很多技術(shù)難題和傳統(tǒng)因素的制約,本文就對(duì)內(nèi)存和顯存的發(fā)展歷程及相關(guān)技術(shù)進(jìn)行詳細(xì)分析。
為讓評(píng)測(cè)文章更具參考價(jià)值,同時(shí)也讓廣大網(wǎng)友能夠看到自己最感興趣的內(nèi)容,泡泡網(wǎng)DIY評(píng)測(cè)室特意開設(shè)了“You Think.I do”板塊,您可以將最感興趣的內(nèi)容、甚至任何想法發(fā)送到郵箱“Think@PCPOP.COM”,或加QQ群40891155共同探討,我們會(huì)有針對(duì)性地挑選網(wǎng)友關(guān)注的熱點(diǎn)進(jìn)行評(píng)測(cè),一旦您的建議被采納,我們會(huì)為您送出精美禮物一份!
往日經(jīng)典文章回顧:
● 內(nèi)存的存取原理及難以逾越的頻障:
在半導(dǎo)體科技極為發(fā)達(dá)的臺(tái)灣省,內(nèi)存和顯存被統(tǒng)稱為記憶體(Memory),全名是動(dòng)態(tài)隨機(jī)存取記憶體(Dynamic Random Access Memory,DRAM);驹砭褪抢秒娙輧(nèi)存儲(chǔ)電荷的多寡來代表0和1,這就是一個(gè)二進(jìn)制位元(bit),內(nèi)存的最小單位。
DRAM的存儲(chǔ)單元結(jié)構(gòu)圖
DRAM的結(jié)構(gòu)可謂是簡(jiǎn)單高效,每一個(gè)bit只需要一個(gè)晶體管加一個(gè)電容。但是電容不可避免的存在漏電現(xiàn)象,如果電荷不足會(huì)導(dǎo)致數(shù)據(jù)出錯(cuò),因此電容必須被周期性的刷新(預(yù)充電),這也是DRAM的一大特點(diǎn)。而且電容的充放電需要一個(gè)過程,刷新頻率不可能無限提升(頻障),這就導(dǎo)致DRAM的頻率很容易達(dá)到上限,即便有先進(jìn)工藝的支持也收效甚微。
“上古”時(shí)代的FP/EDO內(nèi)存,由于半導(dǎo)體工藝的限制,頻率只有25MHz/50MHz,自SDR以后頻率從66MHz一路飆升至133MHz,終于遇到了難以逾越的障礙。此后所誕生的DDR1/2/3系列,它們存儲(chǔ)單元官方頻率(JEDEC制定)始終在100MHz-200MHz之間徘徊,非官方(超頻)頻率也頂多在250MHz左右,很難突破300MHz。事實(shí)上高頻內(nèi)存的出錯(cuò)率很高、穩(wěn)定性也得不到保證,除了超頻跑簡(jiǎn)單測(cè)試外并無實(shí)際應(yīng)用價(jià)值。
既然存儲(chǔ)單元的頻率(簡(jiǎn)稱內(nèi)核頻率,也就是電容的刷新頻率)不能無限提升,那么就只有在I/O(輸入輸出)方面做文章,通過改進(jìn)I/O單元,這就誕生了DDR1/2/3、GDDR1/2/3/4/5等形形色色的內(nèi)存種類,首先來詳細(xì)介紹下DDR1/2/3之間的關(guān)系及特色。
通常大家所說的DDR-400、DDR2-800、DDR3-1600等,其實(shí)并非是內(nèi)存的真正頻率,而是業(yè)界約定俗成的等效頻率,這些DDR1/2/3內(nèi)存相當(dāng)于老牌SDR內(nèi)存運(yùn)行在400MHz、800MHz、1600MHz時(shí)的帶寬,因此頻率看上去很夸張,其實(shí)真正的內(nèi)核頻率都只有200MHz而已!
內(nèi)存有三種不同的頻率指標(biāo),它們分別是核心頻率、時(shí)鐘頻率和有效數(shù)據(jù)傳輸頻率。核心頻率即為內(nèi)存Cell陣列(Memory Cell Array,即內(nèi)部電容)的刷新頻率,它是內(nèi)存的真實(shí)運(yùn)行頻率;時(shí)鐘頻率即I/O Buffer(輸入/輸出緩沖)的傳輸頻率;而有效數(shù)據(jù)傳輸頻率就是指數(shù)據(jù)傳送的頻率(即等效頻率)。
● SDR和DDR1/2/3全系列頻率對(duì)照表:
常見DDR內(nèi)存頻率對(duì)照表
通過上表就能非常直觀的看出,近年來內(nèi)存的頻率雖然在成倍增長(zhǎng),可實(shí)際上真正存儲(chǔ)單元的頻率一直在133MHz-200MHz之間徘徊,這是因?yàn)殡娙莸乃⑿骂l率受制于制造工藝而很難取得突破。而每一代DDR的推出,都能夠以較低的存儲(chǔ)單元頻率,實(shí)現(xiàn)更大的帶寬,并且為將來頻率和帶寬的提升留下了一定的空間。
● SDR和DDR1/2/3存儲(chǔ)原理示意圖:
雖然存儲(chǔ)單元的頻率一直都沒變,但內(nèi)存顆粒的I/O頻率卻一直在增長(zhǎng),再加上DDR是雙倍數(shù)據(jù)傳輸,因此內(nèi)存的數(shù)據(jù)傳輸率可以達(dá)到核心頻率的8倍之多!通過下面的示意圖就能略知一二:
那么,內(nèi)存IO頻率為什么能達(dá)到數(shù)倍于核心頻率呢?
相信很多人都知道,DDR1/2/3內(nèi)存最關(guān)鍵的技術(shù)就是分別采用了2/4/8bit數(shù)據(jù)預(yù)取技術(shù)(Prefetch),由此得以將帶寬翻倍,與此同時(shí)I/O控制器也必須做相應(yīng)的改進(jìn)。
● DDR1/2/3數(shù)據(jù)預(yù)取技術(shù)原理:
預(yù)取,顧名思義就是預(yù)先/提前存取數(shù)據(jù),也就是說在I/O控制器發(fā)出請(qǐng)求之前,存儲(chǔ)單元已經(jīng)事先準(zhǔn)備好了2/4/8bit數(shù)據(jù)。簡(jiǎn)單來說這就是把并行傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)流,我們可以把它認(rèn)為是存儲(chǔ)單元內(nèi)部的Raid/多通道技術(shù),可以說是以電容矩陣為單位的。
內(nèi)存數(shù)據(jù)預(yù)取技術(shù)示意圖:并行轉(zhuǎn)串行
這種存儲(chǔ)陣列內(nèi)部的實(shí)際位寬較大,但是數(shù)據(jù)輸出位寬卻比較小的設(shè)計(jì),就是所謂的數(shù)據(jù)預(yù)取技術(shù),它可以讓內(nèi)存的數(shù)據(jù)傳輸頻率倍增。試想如果我們把一條細(xì)水管安裝在粗水管之上,那么水流的噴射速度就會(huì)翻幾倍。
明白了數(shù)據(jù)預(yù)取技術(shù)的原理之后,再來看看DDR1/2/3內(nèi)存的定義,以及三種頻率之間的關(guān)系,就豁然開朗了:
● SDRAM(Synchronous DRAM):同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器
之所以被稱為“同步”,因?yàn)镾DR內(nèi)存的存儲(chǔ)單元頻率、I/O頻率及數(shù)據(jù)傳輸率都是相同的,比如經(jīng)典的PC133,三種頻率都是133MHz。
SDR在一個(gè)時(shí)鐘周期內(nèi)只能讀/寫一次,只在時(shí)鐘上升期讀/寫數(shù)據(jù),當(dāng)同時(shí)需要讀取和寫入時(shí),就得等待其中一個(gè)動(dòng)作完成之后才能繼續(xù)進(jìn)行下一個(gè)動(dòng)作。
● DDR(Double Date Rate SDRAM):雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器
雙倍是指在一個(gè)時(shí)鐘周期內(nèi)傳輸兩次數(shù)據(jù),在時(shí)鐘的上升期和下降期各傳輸一次數(shù)據(jù)(通過差分時(shí)鐘技術(shù)實(shí)現(xiàn)),在存儲(chǔ)陣列頻率不變的情況下,數(shù)據(jù)傳輸率達(dá)到了SDR的兩倍,此時(shí)就需要I/O從存儲(chǔ)陣列中預(yù)取2bit數(shù)據(jù),因此I/O的工作頻率是存儲(chǔ)陣列頻率的兩倍。
DQ頻率和I/O頻率是相同的,因?yàn)镈Q在時(shí)鐘上升和下降研能傳輸兩次數(shù)據(jù),也是兩倍于存儲(chǔ)陣列的頻率。
● DDR2(DDR 2 SDRAM):第二代雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器
DDR2在DDR1的基礎(chǔ)上,數(shù)據(jù)預(yù)取位數(shù)從2bit擴(kuò)充至4bit,此時(shí)上下行同時(shí)傳輸數(shù)據(jù)(雙倍)已經(jīng)滿足不了4bit預(yù)取的要求,因此I/O控制器頻率必須加倍。
至此,在存儲(chǔ)單元頻率保持133-200MHz不變的情況下,DDR2的實(shí)際頻率達(dá)到了266-400MHz,而(等效)數(shù)據(jù)傳輸率達(dá)到了533-800MHz。
● DDR3(DDR 3 SDRAM):第三代雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器
DDR3就更容易理解了,數(shù)據(jù)預(yù)取位數(shù)再次翻倍到8bit,同理I/O控制器頻率也加倍。此時(shí),在存儲(chǔ)單元頻率保持133-200MHz不變的情況下,DDR3的實(shí)際頻率達(dá)到了533-800MHz,而(等效)數(shù)據(jù)傳輸率高達(dá)1066-1600MHz。
綜上可以看出,DDR1/2/3的發(fā)展是圍繞著數(shù)據(jù)預(yù)取而進(jìn)行的,同時(shí)也給I/O控制器造成了不小的壓力,雖然存儲(chǔ)單元的工作頻率保持不變,但I(xiàn)/O頻率以級(jí)數(shù)增長(zhǎng),我們可以看到DDR3的I/O頻率已逼近1GHz大關(guān),此時(shí)I/O頻率成為了新的瓶頸,如果繼續(xù)推出DDR4(注意不是GDDR4,兩者完全不是同一概念,后文會(huì)有詳細(xì)解釋)的話,將會(huì)受到很多未知因素的制約,必須等待更先進(jìn)的工藝或者新解決方案的出現(xiàn)才有可能延續(xù)DDR的生命。
前面介紹的是關(guān)于歷代內(nèi)存的技術(shù)原理,可以說是比較微觀的東西,反映在宏觀上,就是常見的內(nèi)存顆粒及內(nèi)存條了,這都是些看得見摸得著的東西,但有些概念還是不容易理解,這里一一進(jìn)行說明:
● 內(nèi)存位寬——SDR/DDR1/2/3單條內(nèi)存都是64bit
內(nèi)存模組的設(shè)計(jì)取決于內(nèi)存控制器(集成在北橋或者CPU內(nèi)部),理論上位寬可以無限提升,但受制因素較多:高位寬將會(huì)讓芯片組變得十分復(fù)雜,對(duì)主板布線提出嚴(yán)格要求,內(nèi)存PCB更是絲毫馬虎不得,內(nèi)存顆粒及芯片設(shè)計(jì)也必須作相應(yīng)的調(diào)整?芍^是牽一發(fā)而動(dòng)全身,所以多年來業(yè)界都是墨守成規(guī),維持64bit的設(shè)計(jì)不變。
相比之下,顯卡作為一個(gè)整體就沒有那么多的顧忌,只需重新設(shè)計(jì)GPU內(nèi)部的顯存控制器,然后PCB按照位寬要求布線,焊更多的顯存顆粒上去就行了,雖然成本也很高但實(shí)現(xiàn)512bit并沒有太大難度。
● 多通道內(nèi)存——雙通道/三通道
既然實(shí)現(xiàn)高位寬內(nèi)存條太難,那么就退而求其次,讓兩條內(nèi)存并行傳輸數(shù)據(jù),同樣可以讓位寬翻倍。目前流行的雙通道技術(shù)就是如此,北橋或者CPU內(nèi)部整合了兩個(gè)獨(dú)立的64bit內(nèi)存控制器,同時(shí)傳輸數(shù)據(jù)等效位寬就相當(dāng)于128bit。
Intel Nehalem核心CPU直接整合三通道內(nèi)存控制器,位寬高達(dá)192bit。但由于CPU、主板、內(nèi)存方面成本都增加不少,因此在主流Lynnfield核心CPU上面又回歸了雙通道設(shè)計(jì)。事實(shí)上服務(wù)器芯片組已經(jīng)能夠支持四通道內(nèi)存,對(duì)服務(wù)器來說成本方面不是問題,只是對(duì)穩(wěn)定性和容錯(cuò)性要求很高。
● 內(nèi)存顆粒位寬:4/8/16/32bit
理論上,完全可以制造出一顆位寬為64bit的芯片來滿足一條內(nèi)存使用,但這種設(shè)計(jì)對(duì)技術(shù)要求很高,良品率很低導(dǎo)致成本無法控制,應(yīng)用范圍很窄。
所以內(nèi)存芯片的位寬一般都很小,臺(tái)式機(jī)內(nèi)存顆粒的位寬最高僅16bit,常見的則是4/8bit。這樣為了組成64bit內(nèi)存的需要,至少需要4顆16bit的芯片、8顆8bit的芯片或者16顆4bit的芯片。
而顯卡對(duì)位寬要求很高,容量反而退居其次,所以顯存顆粒的位寬普遍比內(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為單位寫入一張大的矩陣中,每個(gè)單元稱為CELL陣列,只要指定一個(gè)行一個(gè)列,就可以準(zhǔn)確地定位到某個(gè)CELL,這就是內(nèi)存芯片尋址的基本原理。這個(gè)陣列我們就稱為內(nèi)存芯片的BANK,也稱之為邏輯BANK(Logical BANK)。
不可能只做一個(gè)全容量的邏輯Bank,因?yàn)閱我坏倪壿婤ank將會(huì)造成非常嚴(yán)重的尋址沖突,大幅降低內(nèi)存效率。所以大容量?jī)?nèi)存顆粒都是由多個(gè)邏輯Bank疊加而成的。簡(jiǎn)單來說,我們可以把一個(gè)Bank看作是一片平面的矩陣紙,而內(nèi)存顆粒是由多片這樣的紙疊起來的。
一個(gè)Bank的位寬就是內(nèi)存顆粒的位寬,內(nèi)存控制器一次只允許對(duì)一個(gè)Bank進(jìn)行操作,由于邏輯Bank的地址線是公用的,所以在讀寫時(shí)需要加一個(gè)邏輯Bank的編號(hào),這個(gè)動(dòng)作被稱為片選。
● 內(nèi)存條的物理Bank
內(nèi)存控制器的位寬必須與內(nèi)存條的位寬相等,這樣才能在一個(gè)時(shí)鐘周期內(nèi)傳輸所有數(shù)據(jù),這個(gè)位寬就被成為一個(gè)物理Bank(通常是64bit),每條內(nèi)存至少包含一個(gè)Bank,多數(shù)情況下?lián)碛卸䝼(gè)物理Bank。
一個(gè)物理Bank不會(huì)造成帶寬浪費(fèi),理論上是最合理的配置,但為了實(shí)現(xiàn)大容量?jī)?nèi)存,單條內(nèi)存多物理Bank也是允許的,但內(nèi)存控制器所能允許的最大Bank數(shù)存在上限,常見的是雙物理Bank設(shè)計(jì),只有特殊內(nèi)存或者服務(wù)器內(nèi)存才會(huì)使用四Bank以上的設(shè)計(jì),因?yàn)檫@種內(nèi)存兼容性不好,“挑”芯片組。
事實(shí)上顯卡上也存在雙物理Bank設(shè)計(jì),目的就是為了實(shí)現(xiàn)超大顯存容量,比如1GB的9800GT,正反兩面共有16顆16M×32bit的GDDR3顯存,總位寬達(dá)512bit,實(shí)際上顯存控制器只支持256bit,這樣就是雙物理Bank。
早在SDRAM時(shí)代,顯卡上用的“顯存顆粒”與內(nèi)存條上的“內(nèi)存顆!笔峭耆嗤。在那個(gè)時(shí)候,GPU本身的運(yùn)算能力有限,對(duì)數(shù)據(jù)帶寬的要求自然也不高,所以高頻的SDRAM顆粒就可以滿足要求。
某TNT2顯卡,使用的是PC166的SDR內(nèi)存顆粒
● 內(nèi)存滿足不了顯卡的需求,顯存應(yīng)運(yùn)而生
本是同根生的狀況一直持續(xù)到SDR和DDR交接的時(shí)代,其實(shí)最早用在顯卡上的DDR顆粒與用在內(nèi)存上的DDR顆粒仍然是一樣的。后來由于GPU特殊的需要,顯存顆粒與內(nèi)存顆粒開始分道揚(yáng)鑣,這其中包括了幾方面的因素:
1. GPU需要比CPU更高的帶寬。GPU不像CPU那樣有大容量二三級(jí)緩存,GPU與顯存之間的數(shù)據(jù)交換遠(yuǎn)比CPU頻繁,而且大多都是突發(fā)性的數(shù)據(jù)流,因此GPU比CPU更加渴望得到更高的顯存帶寬支持。
位寬×頻率=帶寬,因此提高帶寬的方法就是增加位寬和提高頻率,但GPU對(duì)于位寬和頻率的需求還有其它的因素。
2.顯卡需要高位寬的顯存。顯卡PCB空間是有限的,在有限的空間內(nèi)如何合理的安排顯存顆粒,無論高中低端顯卡都面臨這個(gè)問題。從布線、成本、性能等多種角度來看,顯存都需要達(dá)到更高的位寬。
最早的顯存是單顆16bit的芯片,后來升級(jí)到32bit,將來甚至還會(huì)有更高的規(guī)格出現(xiàn)。而內(nèi)存則沒有那么多要求,多年來內(nèi)存條都是64bit,所以單顆內(nèi)存顆粒沒必要設(shè)計(jì)成高位寬,只要提高容量就行了,所以位寬一直維持在4/8bit。
3.顯卡能讓顯存達(dá)到更高的頻率。顯存顆粒與GPU配套使用時(shí),一般都經(jīng)過專門的設(shè)計(jì)和優(yōu)化,而不像內(nèi)存那樣有太多顧忌。GPU的顯存控制器比CPU或北橋內(nèi)存控制器性能優(yōu)異,而且顯卡PCB可以隨意的進(jìn)行優(yōu)化,因此顯存一般都能達(dá)到更高的頻率。而內(nèi)存受到內(nèi)存PCB、主板走線、北橋CPU得諸多因素的限制很難沖擊高頻率
由此算來,顯存與內(nèi)存“分家”既是意料之外,又是情理之中的事情了。為了更好地滿足顯卡GPU的特殊要求,一些廠商(如三星等)推出了專門為圖形系統(tǒng)設(shè)計(jì)的高速DDR顯存,稱為“Graphics Double Data Rate DRAM”,也就是我們現(xiàn)在常見的GDDR。
● GDDR——顯存和內(nèi)存正式分家
GDDR作為第一代專用的顯存芯片,其實(shí)在技術(shù)方面與DDR沒有任何區(qū)別,同樣采用了2bit預(yù)取技術(shù),理論頻率GDDR并不比DDR高多少。不過后期改進(jìn)工藝的GDDR有了優(yōu)秀PCB的顯卡支持之后,GDDR顯存最高沖刺至900MHz,而DDR內(nèi)存只能達(dá)到600MHz左右,顯存和內(nèi)存的差距從此逐漸拉開。
-
TSOP封裝的GDDR 16bit:
8M×16Bit 4.0ns TSOP II封裝的GDDR,單顆16MB,理論頻率500MHz
當(dāng)年9550、FX5700等128Bit中端卡需要搭配8顆才能組成128Bit
TSOP封裝的GDDR顆粒,外觀規(guī)格特性都與DDR內(nèi)存顆粒沒有什么區(qū)別,所以在很多人看來“GDDR”與“DDR”是可以“劃等號(hào)”的。其實(shí)兩者還是有些差別:
-
GDDR采用4K循環(huán)32ms的刷新周期,而DDR采用8K循環(huán)64ms的刷新周期;
-
GDDR為了追求頻率在延遲方面放的更寬一些,畢竟GPU對(duì)延遲不太敏感;
-
GDDR顆粒的容量小、位寬大,一般是8×16Bit(16MB)的規(guī)格,而DDR顆粒的容量大、位寬小,雖然也有16Bit的顆粒,但最常見的還是8Bit和4Bit,單顆容量32MB或64MB。
為了實(shí)現(xiàn)更大的位寬,并進(jìn)一步提升GDDR的性能,后期很多廠商改用了電氣性能更好的MBGA封裝,當(dāng)然也有內(nèi)存顆粒使用MBGA封裝,但規(guī)格已有了較大差異,主要是顆粒位寬不同。
-
MBGA封裝的GDDR 32bit:
4M×32Bit 2.2ns MBGA封裝的GDDR,單顆16MB,理論頻率900MHz
8顆組成128MB 256Bit規(guī)格,是GDDR1最后的輝煌
MBGA封裝GDDR的單顆位寬首次達(dá)到了32Bit,從此就標(biāo)志著GDDR與DDR正式分道揚(yáng)鑣,32Bit的規(guī)格被GDDR2/3/4/5一直沿用至今。
GDDR顯存的這兩種封裝:MBGA與TSOP構(gòu)成的高低配,曾一度一統(tǒng)顯卡市場(chǎng)。雖然GDDR已經(jīng)退出歷史舞臺(tái),但32Bit主攻中高端、16Bit主攻低端的局面,時(shí)至今日依然得到了延續(xù)。
● GDDR2第一版:短命的早產(chǎn)兒 高壓高發(fā)熱
GDDR2源于DDR2技術(shù),也就是采用了4Bit預(yù)取,相比DDR1代可以將頻率翻倍。雖然技術(shù)原理相同,但GDDR2要比DDR2早了將近兩年時(shí)間,首次支持DDR2內(nèi)存的915P主板于2004年中發(fā)布,而首次搭載GDDR2顯存的FX5800Ultra于2003年初發(fā)布,但早產(chǎn)兒往往是短命的。
NVIDIA在設(shè)計(jì)NV30芯片時(shí)依然保持128Bit顯存位寬,為了提高帶寬必須使用高頻顯存,700MHz的GDDR已經(jīng)無法滿足需求了,于是冒險(xiǎn)嘗試GDDR2。第一代GDDR2受制造工藝限制,電壓規(guī)格還是和DDR/GDDR一樣的2.5V,雖然勉強(qiáng)將頻率提升至1GHz左右,但功耗發(fā)熱出奇的大。
4M×32Bit 2.0ns MBGA 144Ball封裝的GDDR2,單顆16MB,理論頻率1000MHz
GDDR2第一版只有2.2ns和2.0ns兩種速度
GDDR2第一版只在FX5800/Ultra和FX5600Ultra這三款顯卡上出現(xiàn)過(也包括對(duì)應(yīng)的專業(yè)卡及個(gè)別非公版顯卡),ATI也有極少數(shù)9800Pro使用了GDDR2。高電壓、高發(fā)熱、高功耗、高成本給人的印象非常差。隨著FX5900改用GDDR及256Bit,GDDR2很快被人遺忘。
FX5800Ultra需要為顯存專門安裝厚重的散熱片
GDDR2失敗的主要原因是NVIDIA GeForce FX系列架構(gòu)和性能的問題,之后即便改用了256Bit高頻GDDR(此時(shí)GDDR的頻率已被提升至850-900MHz,直逼GDDR2),F(xiàn)X5950Ultra依然不是9800XT的對(duì)手。當(dāng)然GDDR2自身規(guī)格的不完善也造成了它無法入住中低端顯卡,被時(shí)代所遺棄。
GDDR2雖然壞毛病一大堆,但它也擁有一些新的特性,比如首次使用片內(nèi)終結(jié)電阻,PCB設(shè)計(jì)比GDDR更加簡(jiǎn)潔,這個(gè)特性被后來的gDDR2和GDDR3繼承。
● gDDR2第二版:統(tǒng)一低端顯卡 永遠(yuǎn)的配角
由于第一代GDDR2的失敗,高端顯卡的顯存是直接從GDDR跳至GDDR3的,但GDDR2并未消亡,而是開始轉(zhuǎn)型。幾大DRAM大廠有針對(duì)性的對(duì)GDDR2的規(guī)格和特性做了更改(說白了就是DDR2的顯存版),由此gDDR2第二版正式登上顯卡舞臺(tái),時(shí)至今日依然活躍在低端顯卡之上。
gDDR2第二版相對(duì)于第一版的改進(jìn)主要有:
-
工作電壓從2.5V降至1.8V,功耗發(fā)熱大降;
-
制造工藝有所進(jìn)步,功耗發(fā)熱進(jìn)一步下降,成本降低,同時(shí)良率和容量有所提升;
-
顆粒位寬從32Bit降至16Bit,只適合低端顯卡使用;
-
封裝形式從144Ball MBGA改為84Ball FBGA,外觀上來看從正方形變成長(zhǎng)方形或者長(zhǎng)條形;
各大廠商均有g(shù)DDR2顆粒
由于電壓的下降,第二代gDDR2的頻率要比第一代GDDR2低,主要以2.5ns(800MHz)和2.2ns(900MHz)的規(guī)格為主,當(dāng)然也有2.8ns(700MHz)的型號(hào)。直到后期制造工藝上去之后,第二代gDDR2才以1.8V電壓突破了1000MHz,最高可達(dá)1200MHz,趕超了第一代高壓GDDR2的記錄。
采用gDDR2顯存的經(jīng)典顯卡有:7300GT、7600GS、X1600Pro、8500GT……一大堆低端顯卡。
注意三星官方網(wǎng)站對(duì)于顯存的分類
相信很多朋友也注意到了,本頁gDDR2的第一個(gè)字母為小寫,幾大DRAM廠商在其官方網(wǎng)站和PDF中就都是這么寫的,以示區(qū)分。我們可以這么認(rèn)為:大寫G表示顯卡專用,32bit定位高端的版本;而小寫g表示為顯卡優(yōu)化,16bit定位低端的版本,本質(zhì)上與內(nèi)存顆粒并無區(qū)別。
事實(shí)上,GDDR3和gDDR3之間也是這種關(guān)系,稍后我們會(huì)做詳細(xì)介紹。
GDDR源于DDR,GDDR2源于DDR2,而GDDR3在頻率方面的表現(xiàn)又與DDR3比較相似,于是很多人認(rèn)為GDDR3就是顯存版的DDR3,這可是個(gè)天大的誤區(qū)。
● GDDR3:一代王者GDDR3源于DDR2技術(shù)
無論GDDR還是GDDR2,由于在技術(shù)方面與DDR/DDR2并無太大差別,因此最終在頻率方面GDDR并不比DDR高太多。在經(jīng)歷了GDDR2的失敗之后,兩大圖形巨頭NVIDIA和ATI對(duì)JEDEC組織慢如蝸牛般的標(biāo)準(zhǔn)制訂流程感到越來越失望,認(rèn)為他們制定的顯存不能適應(yīng)GPU快節(jié)奏的產(chǎn)品更新?lián)Q代周期,于是NVIDIA和ATI的工作人員積極參與到了JEDEC組織當(dāng)中,以加速顯存標(biāo)準(zhǔn)的起草及制定。
雙方一致認(rèn)為,顯存與內(nèi)存在數(shù)據(jù)存儲(chǔ)的應(yīng)用方面完全不同,在內(nèi)存核心頻率(電容刷新頻率)無法提升的情況下,單純提高I/O頻率來獲得高帶寬很不現(xiàn)實(shí)。因此,必須要有一種針對(duì)高速點(diǎn)對(duì)點(diǎn)環(huán)境而重新定義的I/O接口。于是GDDR3誕生了,這是第一款真正完全為GPU設(shè)計(jì)的存儲(chǔ)器。
GDDR3和GDDR2/DDR2一樣,都是4Bit預(yù)取架構(gòu),GDDR3主要針對(duì)GDDR2高功耗高發(fā)熱的缺點(diǎn)進(jìn)行改進(jìn),并提升傳輸效率來緩解高延遲的負(fù)面影響。
-
點(diǎn)對(duì)點(diǎn)DQS,讀寫無需等待
GDDR2只有一條數(shù)據(jù)選擇脈沖(DQS),是單一雙向的,而GDDR3則擁有讀與寫兩條獨(dú)立的DQS,而且是點(diǎn)對(duì)點(diǎn)設(shè)計(jì)。這樣做的好處在于,在讀取之后如果馬上進(jìn)行寫入時(shí),不必再等DQS的方向轉(zhuǎn)變,由此實(shí)現(xiàn)讀寫操作的快速切換。
相比GDDR2/DDR2,GDDR3的讀寫切換動(dòng)作可以少一個(gè)時(shí)鐘周期,如果需要對(duì)某一個(gè)連續(xù)的區(qū)塊同時(shí)讀寫數(shù)據(jù)時(shí),GDDR3的速度就要比GDDR2快一倍。
由于存儲(chǔ)單元自身的特性,內(nèi)存顆粒的邏輯Bank是無法同時(shí)讀寫數(shù)據(jù)的,并不存在“全雙工”一說,但GDDR3的這項(xiàng)改進(jìn)讓順序讀寫成為可能。GPU本身緩存很小,與顯存之間的數(shù)據(jù)交換極其頻繁,讀寫操作穿插進(jìn)行,因此GDDR3點(diǎn)對(duì)點(diǎn)設(shè)計(jì)的DQS可以讓顯存存儲(chǔ)效率大增。但對(duì)于CPU來說,讀寫切換并不如GPU那么頻繁,而且CPU擁有大容量的二三級(jí)緩存,所以GDDR3這種設(shè)計(jì)并不能極大的提升內(nèi)存帶寬,也沒有引入到下一代DDR3當(dāng)中。
-
改進(jìn)I/O接口,簡(jiǎn)化數(shù)據(jù)處理,控制功耗
同時(shí)GDDR3也對(duì)I/O控制電路和終結(jié)電阻進(jìn)行了修改,它不再沿用GDDR2的“推式(Push Pull)”接收器,而將其改為虛擬開極邏輯方式(Pseudo Open Drain Logic),并且通過將所有的三相數(shù)據(jù)信號(hào)轉(zhuǎn)移到本位電路上,來簡(jiǎn)化數(shù)據(jù)處理,將DC電流壓至最小,只有當(dāng)邏輯LOW移至總線上時(shí)才會(huì)消費(fèi)電力,從而很好的控制了功耗和發(fā)熱。
GDDR3的頻率能達(dá)到現(xiàn)在這么高,其實(shí)并沒有什么訣竅,憑借的就是不斷改進(jìn)的工藝制程,來暴力拉升頻率。資歷稍老點(diǎn)的玩家應(yīng)該知道,GDDR3于2004年初次登臺(tái)亮相時(shí),6600GT的顯存頻率僅為1GHz,并不比GDDR2高,5年過去了,GDDR3從1GHz一路攀升至2GHz甚至2.5GHz,生命力得到了延續(xù)。
明白了GDDR3的原理技術(shù)后,再來看看實(shí)物。GDDR3和GDDR1類似,也有兩種封裝形式:
● 144Ball MBGA封裝,為了向下兼容GDDR和GDDR2
最初的GDDR3采用了144Ball MBGA封裝,這與GDDR和GDDR2第一版完全相同,外觀也是正方形,三者的電氣性能相似,支持GDDR3的GPU也可使用GDDR顯存,PCB和電路只需做少量調(diào)整。
三星2.0ns 8M×32Bit GDDR3顆粒
144Ball封裝的GDDR3只有8M×32Bit一種規(guī)格,所以8顆顯存組成256MB 256Bit、或者4顆顯存組成128MB 128Bit是當(dāng)時(shí)的主流。5700Ultra就首次使用了GDDR3取代了GDDR2。
144Ball封裝的GDDR3主要有2.0ns(1000MHz)和1.6ns(1250MHz)兩種速度,1.4ns良率不高產(chǎn)量很小,最高頻率止步于1400MHz。曾被7800GTX/GT、6800GS、6600GT、X850/X800/X700等顯卡大量采用。由于144Ball封裝及PCB電路限制了其頻率的提升,很快GDDR3就改用了電氣性能更好的136Ball FBGA封裝。
● 136Ball FBGA封裝,頻率容量節(jié)節(jié)攀升
為了提高電氣性能和環(huán)保水平,從2005年開始,GDDR3開始采用全新的136Ball FBGA封裝,并統(tǒng)一使用無鉛封裝工藝。新封裝使得顯卡PCB必須重新設(shè)計(jì),但也為GDDR3的騰飛鋪平了道路。
三星0.8ns GDDR3顯存 16M×32Bit規(guī)格
136Ball封裝GDDR3的優(yōu)勢(shì)如下:
-
規(guī)格不再局限于8M×32Bit一種,16M×32Bit成為主流,目前32M×32Bit已大量采用;
-
伴隨著制造工藝的進(jìn)步,額定電壓從2.0V進(jìn)一步降至1.8V,但一些高頻顆?蛇m當(dāng)加壓;
-
速度從1.4ns起跳,經(jīng)過1.2ns、1.1ns、1.0ns一路發(fā)展至0.8ns、0.7ns,最快速度可突破2500MHz,但這是以犧牲延遲為代價(jià)的,好在GPU對(duì)延遲不太敏感;
當(dāng)GDDR3的頻率首次達(dá)到2000MHz時(shí),很多人都認(rèn)為離極限不遠(yuǎn)了,于是未雨綢繆的抓緊制定GDDR4規(guī)范,但沒想到在DRAM廠商的努力及新工藝的支持下,GDDR3的生命得到了延續(xù),0.8ns 0.7ns的型號(hào)相繼量產(chǎn),而且容量更大的32M×32Bit顆粒也成為主流,基本上能夠滿足高中低端所有顯卡的需要。
當(dāng)前速度最快0.77ns GDDR3顯存顆粒,理論頻率可達(dá)2600MHz
當(dāng)年2.2ns GDDR最高可達(dá)900MHz,核心頻率和I/O頻率止步于450MHz。經(jīng)過5年時(shí)間的發(fā)展,GDDR3憑借新工藝終于在核心頻率和I/O頻率方面取得突破,核心頻率可達(dá)600MHz以上,I/O頻率超過1200MHz,此時(shí)過高的I/O頻率成為了新的瓶頸。
GDDR3采用了DDR2的4bit預(yù)取技術(shù),所以采用DDR3 8bit預(yù)取技術(shù)的顯存只能按順序命名為GDDR4。GDDR4是在GDDR3的基礎(chǔ)上發(fā)展而來的,它繼承了GDDR3的兩大技術(shù)特性,但內(nèi)核改用DDR3的8bit預(yù)取技術(shù),并加入了一些新的技術(shù)來提升頻率。
● GDDR4的技術(shù)特性:
-
使用DDR3的8bit預(yù)取技術(shù),以較低的核心頻率達(dá)到更高帶寬,但延遲增加;
-
采用數(shù)據(jù)總線轉(zhuǎn)位技術(shù)(DBI,Data Bus Inversion,下文做詳細(xì)介紹),提高數(shù)據(jù)精度,降低功耗;
-
地址線只有GDDR3的一半,多余線用于電源和接地,有利于提升頻率,但導(dǎo)致延遲增加;
-
采用多重同步碼(Multi-Preamble)技術(shù),解決了GDDR3存在的爆發(fā)限制(Burst LimitATIon),從連續(xù)地址讀取少量數(shù)據(jù)時(shí)的性能大幅提升;
-
電壓從1.8V降至1.5V;
-
同頻功耗下降75%,2400MHz的GDDR4功耗只有2000MHz GDDR3的一半;
-
采用136Ball FBGA封裝,單顆32Bit,向下兼容GDDR3;
GDDR4的確更好超,但性能提升有限
由于采用了8bit預(yù)取技術(shù),因此在相同頻率下GDDR4的核心頻率(即電容刷新頻率)只有GDDR3的一半,理論上來講GDDR4最高頻率可達(dá)GDDR3的兩倍。但值得注意的是,雖然核心頻率通過8bit預(yù)取技術(shù)減半,但GDDR4與GDDR3的I/O頻率是完全相同的,因此GDDR4頻率提升的瓶頸在于I/O頻率而不是核心頻率。
由于制造工藝和技術(shù)水平的限制,雖然三星官方宣稱早已生產(chǎn)出3GHz以上的GDDR4,但實(shí)際出貨的GDDR4只有2GHz-2.5GHz,此后改進(jìn)工藝的GDDR3也追平了這一頻率。在相同頻率下,GDDR4比起GDDR3雖然功耗發(fā)熱低,但延遲大性能稍弱,再加上成本高產(chǎn)量小,GDDR4遭受冷落并不意外。
● 導(dǎo)致GDDR4失敗的非技術(shù)方面原因
GDDR3是NVIDIA和ATI參與JEDEC組織后共同制定的顯存標(biāo)準(zhǔn),而GDDR4在標(biāo)準(zhǔn)制定過程中雙方產(chǎn)生了較大的分歧。NVIDIA較為保守,認(rèn)為應(yīng)該保持DDR2 4bit預(yù)取技術(shù)不變,繼續(xù)改進(jìn)I/O控制器來提升頻率;而ATI則比較激進(jìn),準(zhǔn)備直接使用DDR3 8bit預(yù)取技術(shù)。
雙方爭(zhēng)執(zhí)的結(jié)果就是在JEDEC組織中德高望重的ATI獲勝(據(jù)稱ATI有位高層在JEDEC身居要職),而NVIDIA則明確表示不支持GDDR4。因此GDDR4其實(shí)就是ATI一手策劃的,但得不到NVIDIA支持的話,GDDR4立馬就失去了6成以上的市場(chǎng),由此導(dǎo)致DRAM廠不敢貿(mào)然投產(chǎn)。
最終只有三星一家生產(chǎn)了少量的GDDR4顯存,其他家都在觀望。當(dāng)然其他DRAM廠商都沒閑著,它們把精力都投在了深挖GDDR3的潛力當(dāng)中,于是我們看到了GDDR3的頻率節(jié)節(jié)攀升,GDDR4在沒有成本優(yōu)勢(shì)的情況下,也沒有頻率優(yōu)勢(shì),恰好當(dāng)時(shí)的幾代A卡更沒有性能優(yōu)勢(shì),GDDR4自然只有死路一條。
只有ATI生產(chǎn)過搭載GDDR4的顯卡,數(shù)量雖然不多但橫跨了三代產(chǎn)品:X1950XTX、HD2600XT和HD3870(也包括對(duì)應(yīng)的專業(yè)卡)——與當(dāng)年NVIDIA使用GDDR2的顯卡數(shù)量相等。NVIDIA在遭遇滑鐵盧后果斷放棄了GDDR2,而ATI對(duì)于GDDR4則是難以割舍,三年時(shí)間三代產(chǎn)品都有使用,但一直都是非主流。
GDDR4的失敗并不是技術(shù)原因,和當(dāng)年的GDDR2相比它要成熟很多,沒推起來的原因主要是對(duì)手太強(qiáng):ATI的對(duì)手NVIDIA很強(qiáng)大,另外GDDR4的對(duì)手GDDR3生命力太頑強(qiáng)了。
即便使用了8bit預(yù)取技術(shù),可GDDR4還是沒有與GDDR3拉開頻率差距,因?yàn)槠款i在I/O控制器上面而不是內(nèi)核,而GDDR5就是用來解決這一瓶頸的。
● GDDR5:恐怖的頻率是如何達(dá)成的
和GDDR4一樣,GDDR5采用了DDR3的8bit預(yù)取技術(shù),核心頻率顯然不是瓶頸,如何提升I/O頻率才是當(dāng)務(wù)之急。但GDDR5并沒有讓I/O頻率翻倍,而是使用了兩條并行的DQ總線,從而實(shí)現(xiàn)雙倍的接口帶寬。
GDDR5各項(xiàng)總線工作頻率示意圖
雙DQ總線的結(jié)果就是,GDDR5的針腳數(shù)從GDDR3/4的136Ball大幅增至170Ball,相應(yīng)的GPU顯存控制器也需要重新設(shè)計(jì)。GDDR5顯存擁有多達(dá)16個(gè)物理Bank,這些Bank被分為四組,雙DQ總線交叉控制四組Bank,達(dá)到了實(shí)時(shí)讀寫操作,一舉將數(shù)據(jù)傳輸率提升至4GHz以上!
以往GDDR1/2/3/4和DDR1/2/3的數(shù)據(jù)總線都是DDR技術(shù)(通過差分時(shí)鐘在上升沿和下降沿各傳輸一次數(shù)據(jù)),官方標(biāo)稱的頻率X2就是數(shù)據(jù)傳輸率,也就是通常我們所說的等效頻率。而GDDR5則不同,它有兩條數(shù)據(jù)總線,相當(dāng)于Rambus的QDR技術(shù),所以官方標(biāo)稱頻率X4才是數(shù)據(jù)傳輸率。比如HD4870官方顯存頻率是900MHz,而大家習(xí)慣稱之為3600MHz。
● 失敗乃成功之母,冒險(xiǎn)使用GDDR5助RV770挑戰(zhàn)GTX200
GDDR4的失敗并沒有阻擋ATI前進(jìn)的腳步,在意識(shí)到GDDR4頻率提升的瓶頸之后,GDDR5草案的制定就被提上日程,ATI和NVIDIA技術(shù)人員重新聚首,開展第二次合作共商大計(jì)。GDDR5吸取了前輩們的諸多優(yōu)點(diǎn),可謂是取其精華棄其糟粕,在I/O改進(jìn)方面雙方也不再有太多矛盾。
技術(shù)方面的問題不難解決,最難的是時(shí)間和進(jìn)度。ATI在R600上面冒險(xiǎn)使用512Bit顯存控制器來提升顯存帶寬,結(jié)果輸?shù)靡粩⊥康兀谑荝V670只好回歸256Bit,導(dǎo)致性能原地踏步。而GDDR4相比GDDR3沒有頻率優(yōu)勢(shì),因此ATI迫切的需要GDDR5迅速投產(chǎn)以滿足新一代GPU的需要,RV770只有256Bit,急需高頻顯存的支持。
對(duì)手NVIDIA對(duì)于GDDR5當(dāng)然很感興趣,但卻一點(diǎn)都不著急,保守的NVIDIA決定堅(jiān)守GDDR3,GTX200核心使用了512Bit顯存控制器來提升帶寬。比起R600的環(huán)形總線,NVIDIA從256Bit到384Bit再到512Bit一步一個(gè)腳印走出來的交叉總線顯然更加成熟。
以256Bit對(duì)抗512Bit,ATI只能將籌碼全部押在GDDR5身上,于是在GDDR5標(biāo)準(zhǔn)尚未完全確立之前,ATI已經(jīng)在緊鑼密鼓的測(cè)試性能,并督促DRAM廠投產(chǎn)?梢哉fGDDR5和GDDR2/4一樣也是個(gè)早產(chǎn)兒,但失敗乃成功之母,有了完善的技術(shù)規(guī)格和制造工藝的支持,GDDR5一出世便令人刮目相看。
憑借GDDR5翻倍的數(shù)據(jù)傳輸率,HD4870以256Bit將448Bit的GTX260挑落馬下,迫使NVIDIA通過降價(jià)、提升規(guī)格、改進(jìn)工藝等諸多手段來反擊。128Bit的HD4770性能也完勝256Bit的9600GT并直逼9800GT。
GDDR5在GDDR3/4優(yōu)秀特性的基礎(chǔ)上,還有諸多改進(jìn)和新特性,下面就對(duì)它們進(jìn)行詳細(xì)分析。
-
數(shù)據(jù)和地址總線轉(zhuǎn)位技術(shù):信號(hào)質(zhì)量高、功率消耗少
在1Byte數(shù)據(jù)中的8個(gè)值中,如果超過一半的數(shù)值是0,那么GDDR5就會(huì)自動(dòng)執(zhí)行轉(zhuǎn)位傳輸,把0變成1、1變成0,通過1個(gè)附加的DBI(數(shù)據(jù)總線轉(zhuǎn)位值)來判定數(shù)據(jù)流是正位還是反位。GDDR5的這項(xiàng)技術(shù)是從GDDR4繼承發(fā)展而來的。
DRAM在傳輸數(shù)據(jù)時(shí),只有0會(huì)消耗電能,減少0的傳輸數(shù)量,既能保證信號(hào)質(zhì)量,也能減少內(nèi)部終結(jié)電阻和外部終結(jié)電路的功率消耗。GDDR5的地址總線也使用了類似的技術(shù),通過額外的ABI通道來轉(zhuǎn)位數(shù)據(jù)流,從而較少信號(hào)噪聲,并降低功耗。
-
智能的可編程I/O控制接口:簡(jiǎn)化PCB設(shè)計(jì)和成本
GDDR5對(duì)I/O控制器做了很多改進(jìn),加入了全新的自動(dòng)校準(zhǔn)引擎,保證GDDR5顯存顆粒更好的適應(yīng)GPU顯存控制器的需求,確保數(shù)據(jù)傳輸穩(wěn)定可靠。
自動(dòng)校準(zhǔn)引擎可以監(jiān)控電壓和溫度變化,通過校驗(yàn)數(shù)據(jù)輸出驅(qū)動(dòng)器導(dǎo)通電阻與ODT終結(jié)電阻值來作出補(bǔ)償,數(shù)據(jù)、地址、指令終結(jié)電阻都可以被軟件或驅(qū)動(dòng)控制。
GDDR5的針腳更多,但布線更簡(jiǎn)潔
此外GDDR5還能支持時(shí)間延遲和信號(hào)強(qiáng)度調(diào)整,靈活的協(xié)調(diào)數(shù)據(jù)同步,以往通過“蛇形走線”平衡延遲的方法徹底成為歷史,GDDR5沒有這種顧慮,因此能極大的簡(jiǎn)化PCB布線和成本,并有利于沖擊更高頻率。
-
數(shù)據(jù)遮蓋技術(shù):減輕數(shù)據(jù)總線壓力
GDDR5的Burst Length(對(duì)相鄰存儲(chǔ)單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)闹芷跀?shù))是8bit,也就是說GDDR5顆粒一次至少要傳輸256bit數(shù)據(jù),但很多時(shí)候并不是所有的數(shù)據(jù)都需要被改寫,導(dǎo)致無效的數(shù)據(jù)傳輸。
為此,GDDR5使用了一項(xiàng)數(shù)據(jù)遮蓋技術(shù),通過地址線傳輸保護(hù)信息,所有被保護(hù)的數(shù)據(jù)在傳輸過程中就不會(huì)被改寫,只有暴露的數(shù)據(jù)才會(huì)被寫入新的數(shù)據(jù)。如此以來,GDDR5的數(shù)據(jù)線壓力減輕不少,功耗發(fā)熱也得到進(jìn)一步控制。
-
誤差補(bǔ)償技術(shù):提高傳輸效率,避免災(zāi)難性錯(cuò)誤
為了保證數(shù)據(jù)在高速傳輸過程中的有效性,GDDR5新增一項(xiàng)錯(cuò)誤偵測(cè)與修正技術(shù)。GDDR5使用了成熟的CRC(循環(huán)冗余校驗(yàn)),通過DQ和DBI總線,實(shí)時(shí)檢查錯(cuò)誤,第一時(shí)間重新發(fā)送數(shù)據(jù)。
這項(xiàng)技術(shù)對(duì)于高頻率傳輸數(shù)據(jù)尤為重要,它能有效的減少數(shù)據(jù)傳輸錯(cuò)誤導(dǎo)致系統(tǒng)崩潰的概率,大幅減少了由超頻或高溫導(dǎo)致的一系列問題,而且能夠一定程度上提升數(shù)據(jù)傳輸效率。
-
折疊模式:32bit顆粒當(dāng)作16bit用
GDDR5作為高端顯卡專用的顯卡,只有32bit的顆粒。由于GDDR5擁有兩條并行的數(shù)據(jù)總線,這就使得GDDR5的工作模式變得更加靈活,它既可以工作在32bit模式下也可以工作在16bit模式下。這樣一個(gè)32bit顯存控制器就可以控制兩顆GDDR5顯存,顯存容量可以輕松翻倍。
其實(shí),GDDR3/4都可以通過這種方式擴(kuò)充顯存容量,但原理則完全不同。此前必須GPU的顯存控制器在設(shè)計(jì)時(shí)支持雙Bank模式才能支持更多的顯存顆粒。而現(xiàn)在,8顆GDDR5顯存總計(jì)256bit可以直接被128bit的GPU使用,從而簡(jiǎn)化了顯存控制器設(shè)計(jì),HD4770就是很好的例子。
之前我們分析過,TSOP封裝的GDDR1還有g(shù)DDR2顯存,其實(shí)在技術(shù)上與DDR1/2內(nèi)存沒有本質(zhì)區(qū)別,高位寬(16bit)的內(nèi)存顆?梢灾苯赢(dāng)作顯存使用。隨著DDR3顆粒大量投產(chǎn),成本接近DDR2,于是在DDR3內(nèi)存取代DDR2的同時(shí),也將順便取代老舊的gDDR2。
● gDDR3:把內(nèi)存顆粒改裝成顯存用
以目前的情況來看,DDR3比gDDR2頻率高很多,但成本比GDDR3要低,所以gDDR2被取代是板上釘釘?shù)氖。AMD率先將DDR3使用在了顯卡上,隨后得到了業(yè)界的一致認(rèn)可。
為了和DDR3內(nèi)存顆粒區(qū)分,DRAM廠將其稱為Graphics DDR3 SDRAM,簡(jiǎn)寫為gDDR3,和DDR3內(nèi)存顆粒一樣都是8bit預(yù)取技術(shù),單顆16bit,定位中低端顯卡;而傳統(tǒng)的GDDR3則是Graphics GDDR3 SDRAM的簡(jiǎn)寫,它和DDR2內(nèi)存一樣采用了4bit預(yù)取技術(shù),單顆32bit,定位中高端顯卡。
可以看出,在高端GDDR5將會(huì)取代GDDR3,而低端gDDR3將會(huì)取代gDDR2,中端則會(huì)出現(xiàn)三代共存的局面。雖然gDDR3單顆位寬只有GDDR3的一半,但存儲(chǔ)密度卻是GDDR3的兩倍,而且在相同頻率下(比如2000MHz),gDDR3的核心頻率是GDDR3的一半,因此功耗發(fā)熱要低很多。對(duì)于位寬不高的中低端顯卡來說,gDDR3大容量、低成本、低功耗發(fā)熱的特性簡(jiǎn)直相當(dāng)完美!
上圖就是現(xiàn)代官方網(wǎng)站列出的gDDR3和GDDR3兩種顯存的規(guī)格參數(shù)表,注意它們的全稱,是否有"G",真的是差之毫厘謬以千里。
gDDR3源于DDR3,技術(shù)特性上沒有區(qū)別,主要在封裝上面。gDDR3作為對(duì)顯卡優(yōu)化的版本,單顆16bit FBGA 96Ball封裝;而DDR3多為單顆4/8bit,封裝是78/82Ball。也有少數(shù)DDR3使用了16bit FBGA 96Ball封裝,由于位寬太大僅用于特殊場(chǎng)合。
在前文的內(nèi)存部分,關(guān)于內(nèi)存顆粒的位寬、通道、Bank等做了一些介紹,這些技術(shù)參數(shù)對(duì)于顯存同樣適用,但顯存也有自己的一套規(guī)格定義,下面就逐一介紹:
● 規(guī)格:16M×32Bit是什么意思?
當(dāng)您瀏覽網(wǎng)站或者查看顯卡規(guī)格時(shí),往往都會(huì)看到類似“某某顯卡使用了4顆16M×32Bit的GDDR3顯存”這樣的文字,這其中16M×32Bit就是該顯存顆粒的主要規(guī)格,是國(guó)際統(tǒng)一的命名標(biāo)準(zhǔn),可以到存儲(chǔ)廠商官方網(wǎng)站上查到。
16M×32Bit中,16M表示顯存存儲(chǔ)單元的容量為16Mbit,32Bit是單顆顯存的數(shù)據(jù)位寬,這種標(biāo)稱不容易理解,需要經(jīng)過換算才能得到符合我們使用習(xí)慣的規(guī)格。
● 容量:?jiǎn)晤w顯存容量=存儲(chǔ)單元容量×數(shù)據(jù)位寬/8
以最常見的16M×32bit GDDR3顯存為例,16×32/8=64MB,一顆顯存就是64MB的容量,那么這塊顯卡用了4顆顯存就組成了256MB。
很多人可能會(huì)納悶上面的公式中為何要除以8,因?yàn)楣俜揭?guī)格中的16M的單位是Megabit(兆位)而不是MegaByte(兆字節(jié)),它兩之間的換算需要除以8。
● 速度:顯存理論頻率=1000/時(shí)鐘周期×2
大家常說某某顯卡采用了1.4ns顆粒,另一個(gè)顯卡用了更快的1.2ns顆粒,超頻更猛等等……這個(gè)1.2ns就是顯存的時(shí)鐘周期,同樣的我們需要換算成更容易理解的數(shù)字。
套用以上公式,我們來算算主流規(guī)格顯存的理論頻率是多少:
0.8ns顆粒=1000/0.8×2=2500MHz=2.50GHz
為什么要乘以2,因?yàn)镈DR系列存儲(chǔ)顆粒屬于雙倍傳輸,在工作頻率和數(shù)據(jù)位寬相同的情況下,顯存帶寬是SDRAM的2倍,因此大家習(xí)慣于在基礎(chǔ)頻率上乘2,超高的頻率確實(shí)比較好看。
● 位寬:顯存位寬=單顆顯存數(shù)據(jù)位寬×顯存數(shù)量
這個(gè)不難理解,比如顯卡使用了4顆16M×32bit GDDR3顯存,那么位寬就是32bit×4=128bit。需要注意的是,并非所有情況下這個(gè)公式都成立,除了顯存數(shù)量之外,GPU顯存控制器的位寬決定了顯卡位寬上限。
低端顯卡核心擁有128Bit顯存控制器,因此4顆GDDR3顯存就能滿足位寬需求,即便PCB上集成了8顆顯存,顯卡位寬依然是128bit。如果是中端顯卡的話,8顆顯存正好是256Bit,與核心相吻合。
● 帶寬:顯存帶寬=顯存位寬×顯存工作頻率/8
單純看顯存位寬意義并不大,最終影響顯卡性能的其實(shí)是帶寬。我們可以把帶寬比作是馬路的車行流量,顯然馬路越寬(顯存位寬),車速越高(顯存頻率),最終的帶寬就越高。
以GTX260為例,顯存頻率2GHz,位寬448bit,計(jì)算所得帶寬就是112GB/s。除以8的原因還是因?yàn)閎it和Byte之間的換算。
帶寬是顯存速度的最終衡量,有些顯卡的顯存頻率高,但是位寬低,最典型的就是使用GDDR5顯存的HD4870,位寬256bit但頻率高達(dá)3600MHz,最終計(jì)算得帶寬就是115GB/s,和GTX260相當(dāng)。
● SDR+DDR1/2/3和GDDR1/2/3/4/5全系列規(guī)格參數(shù)匯總:
● 顯存引領(lǐng)DRAM發(fā)展,未來內(nèi)存將以顯存為藍(lán)本開發(fā)
縱觀近年來內(nèi)存與顯存的發(fā)展,就會(huì)發(fā)現(xiàn)顯存的發(fā)展速度已經(jīng)遠(yuǎn)遠(yuǎn)超越了內(nèi)存,顯存帶寬幾乎達(dá)到了內(nèi)存帶寬的10倍之多,而且這個(gè)差距還在不斷的加大。目前三通道DDR3已經(jīng)足夠桌面CPU用好一陣子了,而GPU對(duì)顯存帶寬的渴求似乎是個(gè)永遠(yuǎn)都填不滿的無底洞。
正因?yàn)槿绱,顯存逐漸脫離了內(nèi)存的發(fā)展軌跡,在經(jīng)過幾次并不成功的嘗試之后,從內(nèi)存的配角/附屬品,開始走向了反客為主的道路。GDDR2提前DDR2近兩年、GDDR4提前DDR3一年多,雖然都以失敗而告終,但卻為GDDR5的成功打下了堅(jiān)實(shí)的基礎(chǔ)。
在內(nèi)存領(lǐng)域,如今DDR3才剛剛站穩(wěn)腳跟,至少將統(tǒng)治PC兩至三年,但DDR4的標(biāo)準(zhǔn)已經(jīng)在積極制定當(dāng)中,而其技術(shù)規(guī)格將會(huì)以GDDR5為藍(lán)本——也就是說保持DDR3 8bit預(yù)取技術(shù)不變,改進(jìn)I/O控制器,個(gè)中原因相信認(rèn)真閱讀了本文的朋友們應(yīng)該知道吧。