|
目前CPU用的內(nèi)存正在從DDR3向DDR4過渡,而GPU用的顯存則是以GDDR2/3為主、跳過GDDR4、直奔GDDR5而去。或許很多朋友一時還難以接受GDDR5那夸張的頻率、不明白GDDR相比DDR發(fā)展速度為何如此'超前'、甚至搞不清楚GDDR1/2/3/4/5和DDR1/2/3之間'說不清道不明'的關(guān)系。 如果您是一位求知欲很強的電腦愛好者,那么本文非常適合您,筆者特意搜集了大量官方技術(shù)文檔,為大家獻上內(nèi)存和顯存鮮為人知的奧秘…… 近年來CPU(中央處理器)和GPU(圖形處理器)的發(fā)展速度之快讓人目不暇接,新產(chǎn)品的運算能力成倍提升,此時就對內(nèi)存子系統(tǒng)提出了嚴峻的需求,因為CPU/GPU運算所需的數(shù)據(jù)和生成的數(shù)據(jù)都是來自于內(nèi)存/顯存,如果存儲速度跟不上,那么就會浪費很多時間在數(shù)據(jù)等待上面,從而影響CPU/GPU的性能發(fā)揮。 為了讓內(nèi)存/顯存不至于造成瓶頸,芯片廠商都在想方設(shè)法的提高帶寬:AMD和Intel相繼將內(nèi)存控制器整合在了CPU內(nèi)部,大大降低了延遲并提高存儲效率,Intel旗艦級CPU能夠支持三通道內(nèi)存,帶寬提升50%; 和 也先后使用了512Bit的顯存控制器,總帶寬倍增。 是何原因?qū)е聵I(yè)界三大巨頭如此大費周折呢?這是因為內(nèi)存技術(shù)的發(fā)展速度,其實并不如大家想象中的那么快,受到很多技術(shù)難題和傳統(tǒng)因素的制約,本文就對內(nèi)存和顯存的發(fā)展歷程及相關(guān)技術(shù)進行詳細分析。 ● 內(nèi)存的存取原理及難以逾越的頻障: 在半導體科技極為發(fā)達的臺灣省,內(nèi)存和顯存被統(tǒng)稱為記憶體(Memory),全名是動態(tài)隨機存取記憶體(Dynamic Random Access Memory,DRAM)?;驹砭褪抢秒娙輧?nèi)存儲電荷的多寡來代表0和1,這就是一個二進制位元(bit),內(nèi)存的最小單位。 DRAM的存儲單元結(jié)構(gòu)圖 DRAM的結(jié)構(gòu)可謂是簡單高效,每一個bit只需要一個晶體管加一個電容。但是電容不可避免的存在漏電現(xiàn)象,如果電荷不足會導致數(shù)據(jù)出錯,因此電容必須被周期性的刷新(預充電),這也是DRAM的一大特點。而且電容的充放電需要一個過程,刷新頻率不可能無限提升(頻障),這就導致DRAM的頻率很容易達到上限,即便有先進工藝的支持也收效甚微。 '上古'時代的FP/EDO內(nèi)存,由于半導體工藝的限制,頻率只有25MHz/50MHz,自SDR以后頻率從66MHz一路飆升至133MHz,終于遇到了難以逾越的障礙。此后所誕生的DDR1/2/3系列,它們存儲單元官方頻率(JEDEC制定)始終在100MHz-200MHz之間徘徊,非官方(超頻)頻率也頂多在250MHz左右,很難突破300MHz。事實上高頻內(nèi)存的出錯率很高、穩(wěn)定性也得不到保證,除了超頻跑簡單測試外并無實際應用價值。 既然存儲單元的頻率(簡稱內(nèi)核頻率,也就是電容的刷新頻率)不能無限提升,那么就只有在I/O(輸入輸出)方面做文章,通過改進I/O單元,這就誕生了DDR1/2/3、GDDR1/2/3/4/5等形形色色的內(nèi)存種類,首先來詳細介紹下DDR1/2/3之間的關(guān)系及特色。 通常大家所說的DDR-400、DDR2-800、DDR3-1600等,其實并非是內(nèi)存的真正頻率,而是業(yè)界約定俗成的等效頻率,這些DDR1/2/3內(nèi)存相當于老牌SDR內(nèi)存運行在400MHz、800MHz、1600MHz時的帶寬,因此頻率看上去很夸張,其實真正的內(nèi)核頻率都只有200MHz而已! 內(nèi)存有三種不同的頻率指標,它們分別是核心頻率、時鐘頻率和有效數(shù)據(jù)傳輸頻率。核心頻率即為內(nèi)存Cell陣列(Memory Cell Array,即內(nèi)部電容)的刷新頻率,它是內(nèi)存的真實運行頻率;時鐘頻率即I/O Buffer(輸入/輸出緩沖)的傳輸頻率;而有效數(shù)據(jù)傳輸頻率就是指數(shù)據(jù)傳送的頻率(即等效頻率)。 ● SDR和DDR1/2/3全系列頻率對照表: 常見DDR內(nèi)存頻率對照表 通過上表就能非常直觀的看出,近年來內(nèi)存的頻率雖然在成倍增長,可實際上真正存儲單元的頻率一直在133MHz-200MHz之間徘徊,這是因為電容的刷新頻率受制于制造工藝而很難取得突破。而每一代DDR的推出,都能夠以較低的存儲單元頻率,實現(xiàn)更大的帶寬,并且為將來頻率和帶寬的提升留下了一定的空間。 ● SDR和DDR1/2/3存儲原理示意圖: 雖然存儲單元的頻率一直都沒變,但內(nèi)存顆粒的I/O頻率卻一直在增長,再加上DDR是雙倍數(shù)據(jù)傳輸,因此內(nèi)存的數(shù)據(jù)傳輸率可以達到核心頻率的8倍之多!通過下面的示意圖就能略知一二: 那么,內(nèi)存IO頻率為什么能達到數(shù)倍于核心頻率呢? 相信很多人都知道,DDR1/2/3內(nèi)存最關(guān)鍵的技術(shù)就是分別采用了2/4/8bit數(shù)據(jù)預取技術(shù)(Prefetch),由此得以將帶寬翻倍,與此同時I/O控制器也必須做相應的改進。 ● DDR1/2/3數(shù)據(jù)預取技術(shù)原理: 預取,顧名思義就是預先/提前存取數(shù)據(jù),也就是說在I/O控制器發(fā)出請求之前,存儲單元已經(jīng)事先準備好了2/4/8bit數(shù)據(jù)。簡單來說這就是把并行傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)流,我們可以把它認為是存儲單元內(nèi)部的Raid/多通道技術(shù),可以說是以電容矩陣為單位的。 內(nèi)存數(shù)據(jù)預取技術(shù)示意圖:并行轉(zhuǎn)串行 這種存儲陣列內(nèi)部的實際位寬較大,但是數(shù)據(jù)輸出位寬卻比較小的設(shè)計,就是所謂的數(shù)據(jù)預取技術(shù),它可以讓內(nèi)存的數(shù)據(jù)傳輸頻率倍增。試想如果我們把一條細水管安裝在粗水管之上,那么水流的噴射速度就會翻幾倍。 明白了數(shù)據(jù)預取技術(shù)的原理之后,再來看看DDR1/2/3內(nèi)存的定義,以及三種頻率之間的關(guān)系,就豁然開朗了: ● SDRAM(Synchronous DRAM):同步動態(tài)隨機存儲器 之所以被稱為'同步',因為SDR內(nèi)存的存儲單元頻率、I/O頻率及數(shù)據(jù)傳輸率都是相同的,比如經(jīng)典的PC133,三種頻率都是133MHz。 SDR在一個時鐘周期內(nèi)只能讀/寫一次,只在時鐘上升期讀/寫數(shù)據(jù),當同時需要讀取和寫入時,就得等待其中一個動作完成之后才能繼續(xù)進行下一個動作。 ● DDR(Double Date Rate SDRAM):雙倍速率同步動態(tài)隨機存儲器 雙倍是指在一個時鐘周期內(nèi)傳輸兩次數(shù)據(jù),在時鐘的上升期和下降期各傳輸一次數(shù)據(jù)(通過差分時鐘技術(shù)實現(xiàn)),在存儲陣列頻率不變的情況下,數(shù)據(jù)傳輸率達到了SDR的兩倍,此時就需要I/O從存儲陣列中預取2bit數(shù)據(jù),因此I/O的工作頻率是存儲陣列頻率的兩倍。???? DQ頻率和I/O頻率是相同的,因為DQ在時鐘上升和下降研能傳輸兩次數(shù)據(jù),也是兩倍于存儲陣列的頻率。??? ● DDR2(DDR 2 SDRAM):第二代雙倍速率同步動態(tài)隨機存儲器 DDR2在DDR1的基礎(chǔ)上,數(shù)據(jù)預取位數(shù)從2bit擴充至4bit,此時上下行同時傳輸數(shù)據(jù)(雙倍)已經(jīng)滿足不了4bit預取的要求,因此I/O控制器頻率必須加倍。 至此,在存儲單元頻率保持133-200MHz不變的情況下,DDR2的實際頻率達到了266-400MHz,而(等效)數(shù)據(jù)傳輸率達到了533-800MHz。 ● DDR3(DDR 3 SDRAM):第三代雙倍速率同步動態(tài)隨機存儲器 DDR3就更容易理解了,數(shù)據(jù)預取位數(shù)再次翻倍到8bit,同理I/O控制器頻率也加倍。此時,在存儲單元頻率保持133-200MHz不變的情況下,DDR3的實際頻率達到了533-800MHz,而(等效)數(shù)據(jù)傳輸率高達1066-1600MHz。 綜上可以看出,DDR1/2/3的發(fā)展是圍繞著數(shù)據(jù)預取而進行的,同時也給I/O控制器造成了不小的壓力,雖然存儲單元的工作頻率保持不變,但I/O頻率以級數(shù)增長,我們可以看到DDR3的I/O頻率已逼近1GHz大關(guān),此時I/O頻率成為了新的瓶頸,如果繼續(xù)推出DDR4(注意不是GDDR4,兩者完全不是同一概念,后文會有詳細解釋)的話,將會受到很多未知因素的制約,必須等待更先進的工藝或者新解決方案的出現(xiàn)才有可能延續(xù)DDR的生命。 前面介紹的是關(guān)于歷代內(nèi)存的技術(shù)原理,可以說是比較微觀的東西,反映在宏觀上,就是常見的內(nèi)存顆粒及內(nèi)存條了,這都是些看得見摸得著的東西,但有些概念還是不容易理解,這里一一進行說明: ● 內(nèi)存位寬——SDR/DDR1/2/3單條內(nèi)存都是64bit 內(nèi)存模組的設(shè)計取決于內(nèi)存控制器(集成在北橋或者CPU內(nèi)部),理論上位寬可以無限提升,但受制因素較多:高位寬將會讓芯片組變得十分復雜,對主板布線提出嚴格要求,內(nèi)存PCB更是絲毫馬虎不得,內(nèi)存顆粒及芯片設(shè)計也必須作相應的調(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ù)等效位寬就相當于128bit。 Intel Nehalem核心CPU直接整合三通道內(nèi)存控制器,位寬高達192bit。但由于CPU、主板、內(nèi)存方面成本都增加不少,因此在主流Lynnfield核心CPU上面又回歸了雙通道設(shè)計。事實上服務器芯片組已經(jīng)能夠支持四通道內(nèi)存,對服務器來說成本方面不是問題,只是對穩(wěn)定性和容錯性要求很高。 ● 內(nèi)存顆粒位寬:4/8/16/32bit 理論上,完全可以制造出一顆位寬為64bit的芯片來滿足一條內(nèi)存使用,但這種設(shè)計對技術(shù)要求很高,良品率很低導致成本無法控制,應用范圍很窄。 所以內(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陣列,只要指定一個行一個列,就可以準確地定位到某個CELL,這就是內(nèi)存芯片尋址的基本原理。這個陣列我們就稱為內(nèi)存芯片的BANK,也稱之為邏輯BANK(Logical BANK)。 不可能只做一個全容量的邏輯Bank,因為單一的邏輯Bank將會造成非常嚴重的尋址沖突,大幅降低內(nèi)存效率。所以大容量內(nèi)存顆粒都是由多個邏輯Bank疊加而成的。簡單來說,我們可以把一個Bank看作是一片平面的矩陣紙,而內(nèi)存顆粒是由多片這樣的紙疊起來的。 一個Bank的位寬就是內(nèi)存顆粒的位寬,內(nèi)存控制器一次只允許對一個Bank進行操作,由于邏輯Bank的地址線是公用的,所以在讀寫時需要加一個邏輯Bank的編號,這個動作被稱為片選。 補充內(nèi)容: 內(nèi)存Bank的探討 目前很多人對內(nèi)存Bank(電腦系統(tǒng)與內(nèi)存之間數(shù)據(jù)總線的基本工作單位)都有一種誤解,認為單面內(nèi)存就是單Bank,雙面內(nèi)存就是雙Bank的。其實這種觀念是不對的,內(nèi)存的Bank(指物理Bank)數(shù)和內(nèi)存顆粒的面無關(guān),它們之間有什么聯(lián)系呢? 要講清這個問題,就要提到內(nèi)存的邏輯Bank,下面就給大家介紹一下物理Bank和邏輯Bank的概念。在介紹之前,我們先簡單看一下現(xiàn)在市場上的DRAM內(nèi)存產(chǎn)品.現(xiàn)在市場上的內(nèi)存主要有:SDRAM、DDR SDRAM及Rambus。其中Rambus內(nèi)存的控制器和前兩者不同,且內(nèi)部Bank和前兩者也不同,將在后面單獨介紹。先主要介紹SDRAM和DDR SDRAM的Bank問題,因為SDRAM就內(nèi)核、Bank結(jié)構(gòu)而言,和DDR SDRAM沒有什么區(qū)別,這里作為一個整體來講。邏輯Bank及其結(jié)構(gòu)內(nèi)存芯片存儲數(shù)據(jù)的基本單位是bit(位),而進行尋址的基本單位則是Byte(字節(jié)),一個Byte就等于8bit。大家知道,在平面坐標系中,要確定一個點就要先找到它的橫坐標和縱坐標。而在內(nèi)存中數(shù)據(jù)的定位也很相似,內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)就是一個大的數(shù)據(jù)陣列,為了便于理解,我們把它假想成一個大的表格,前面我們提到的平面坐標系中的點,在這里我們可以理解為經(jīng)過定位后的單元格,當然在一個單元格中不是只有1bit的數(shù)據(jù),而是由多個bit組成一個組放在單元格內(nèi),這里一個單元格我們可以稱作一個組,這個單元格的位數(shù)也就是內(nèi)存邏輯Bank的位寬。在進行數(shù)據(jù)讀取時,先進行行的選定,再進行列的選定,最后再從這個單元格中讀取出所需要的數(shù)據(jù)。而這由許許多多的單元格組成的大表我們就可以理解成邏輯Bank,當然因為制造工藝及數(shù)據(jù)尋址的原因,不可能讓這個表格無限大,一般內(nèi)存芯片中都是將內(nèi)存容量分成幾個陣列來制造,即多邏輯Bank。隨著內(nèi)存芯片容量的不斷增加,邏輯Bank數(shù)量也在不斷增加,早期的16Mbit之類的芯片采用的還是兩個邏輯Bank的設(shè)計,現(xiàn)階段常見內(nèi)存芯片的Bank一般為4個(不包括Rambus),這點大家可通過內(nèi)存條的編碼進行識別。內(nèi)存芯片設(shè)計時在一個時鐘周期內(nèi)只允許對一個邏輯Bank進行操作(實際上內(nèi)存芯片的位寬就是邏輯Bank的位寬),而不能對所有邏輯Bank同時操作。所以邏輯Bank的地址線是通用的,只要再有一個邏輯Bank編號加以區(qū)別就可以了。內(nèi)存芯片的位寬決定了一次能從它那里讀出多少數(shù)據(jù),并不是內(nèi)存芯片里所有單元的數(shù)據(jù)能夠一次全部讀出。為了加深大家對邏輯Bank的理解,我們來看看一個單芯片的邏輯Bank示意圖這里不用過于注意結(jié)構(gòu)細節(jié),只需要看看4個內(nèi)存陣列。從圖中可以很清楚地看到這個芯片是一個Bank數(shù)為4的芯片,其列和行分別為4096和2048,而邏輯位寬是4bit,將這三者相乘就是這個邏輯Bank的容量,這里是4096×2048×4 bit =32Mb。再乘以Bank的數(shù)量,則芯片的容量就可以算出來了,這里很顯然是4個Bank,那么芯片的容量就是128Mb了。用虛線框起來的就是一個完整的邏輯Bank??梢娨粋€Bank由內(nèi)存陣列、傳感放大器、一個行解碼器、一個列解碼器組成。 接下來我們簡單看看物理Bank,物理Bank的含義就是指內(nèi)存和主板北橋芯片之間傳遞數(shù)據(jù)的通道,自586以后的CPU數(shù)據(jù)總線均為64bit位寬,而CPU一次只能對一個物理Bank進行訪問,所以一般情況下我們就把64bit作為一個物理Bank(Physical Bank),在前面我們已經(jīng)講過了邏輯Bank,所以在這里我給大家講一下如何自己算出物理Bank,大家就會非常好理解了。由于CPU一次只能打開一個物理Bank,在單芯片上也只能打開一個邏輯Bank,這樣我們就知道邏輯Bank的位寬也就是單芯片的位寬了,我們把芯片的數(shù)據(jù)寬度和芯片的數(shù)量相乘再除以64就得到了內(nèi)存條的物理Bank數(shù)了,即內(nèi)存的Bank數(shù)=數(shù)據(jù)寬度×芯片數(shù)量/64?,F(xiàn)在大家初步明白了內(nèi)存的物理Bank和內(nèi)存的面數(shù)無關(guān)了吧?后面我還會舉例說明。在大概了解了SDRAM和DDR內(nèi)存的物理Bank及邏輯Bank之后。 下面我們來簡單了解一下Rambus的Bank情況。Rambus的Bank為了講解方便,下面以PC800 Rambus為例。Rambus不再采用SDRAM和DDR內(nèi)存的并聯(lián)技術(shù),而是采用了更先進的串聯(lián)技術(shù)。就現(xiàn)階段而言,PC800 Rambus使用400MHz的16位總線,在一個時鐘周期內(nèi)可以在上升沿和下降沿同時傳輸數(shù)據(jù),實際操作頻率為400MHz×2=800MHz,理論帶寬為16bit×2×400MHz/8=1.6GB/s,再配合850主板芯片的雙通道模式,可以達到3.2GB/s的數(shù)據(jù)帶寬。這也是大家熟知的高帶寬,而它最重要的優(yōu)勢在于其邏輯Bank上,就現(xiàn)階段的主流 Rambus來說,其邏輯Bank數(shù)高達32個,擁有更多的Bank數(shù)則意味著具有較少的Bank沖突,尋址流更加短暫隨意。另外還可以提高尋址命中率和降低潛伏周期。當然,更多的Bank也使Rambus的制作模具制造更復雜,也就增加了成本。于是RAMBUS隨后又推出了4i 架構(gòu)的DRDRAM──在每個顆粒芯片上只有4個Bank。 一.內(nèi)存芯片的邏輯BANK 在芯片的內(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的設(shè)計,譬如三星的兩種16MB芯片:K4S161622D(512K x 16Bit x 2 BANK)和K4S160822DT(1Mx 8Bit x 2 BANK)。芯片組本身設(shè)計時在一個時鐘周期內(nèi)只允許對一個邏輯BANK進行操作(實際上芯片的位寬就是邏輯BANK的位寬),而不是芯片組對內(nèi)存芯片內(nèi)所有邏輯BANK同時操作。邏輯BANK的地址線是通用的,只要再有一個邏輯BANK編號加以區(qū)別就可以了(BANK0到BANK3)。但是這個芯片的位寬決定了一次能從它那里讀出多少數(shù)據(jù),并不是內(nèi)存芯片里所有單元的數(shù)據(jù)一次全部能夠讀出 每個邏輯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設(shè)計了 二.內(nèi)存條的物理BANK 通常主板上的每個內(nèi)存插槽分為兩段,這個大家從VIA主板BIOS設(shè)置中的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電路可以設(shè)計成雙面和單面,也可把全部芯片(16顆)放在一面上(至少從理論上是完全可能)。有些內(nèi)存條單面就是一個物理BANK,但有些雙面才是一個物理BANK,所以不能一概而論。256MB內(nèi)存條就是一個典型的例子,雖然是雙面并多達16枚芯片,但仍然是單個物理BANK的。要準確知道內(nèi)存條實際物理BANK數(shù)量,我們只要將單個芯片的邏輯BANK數(shù)量和位寬以及內(nèi)存條上芯片個數(shù)搞清楚。各個芯片位寬之和為64就是單物理BANK,如果是128就是雙物理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)在的芯片組設(shè)計時都是要求內(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(512Mbit)芯片(單個芯片的總?cè)萘糠艘环┙M裝,盡管內(nèi)存條上的總?cè)萘窟_到了256MB的要求,還是由于位寬不夠是不能正常工作。要能工作就必須采用16位位寬的64MB(512Mbit)芯片。 586以上電腦的數(shù)據(jù)總線寬度都是64bit,即每次讀取內(nèi)存為64bit,SDRAM內(nèi)存條的設(shè)計帶寬也是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顆芯片都放在一面上,所以只能設(shè)計成雙面。對于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)存交錯設(shè)置并不是指的物理BANK的交錯。也就是說不是內(nèi)存條雙面的交錯,而是指內(nèi)存芯片內(nèi)部邏輯BANK的交錯,如果芯片有4個BANK,那么就可以進行4路交錯,如果只有兩個BANK就只能是二路交錯。很多資料介紹的以內(nèi)存條的單面或雙面來決定交錯是錯誤的,實際上就是混淆了物理BANK和邏輯BANK的區(qū)別。 .邏輯Bank 邏輯Bank的英文全稱為Logical Bank,簡稱L-Bank。如果將物理Bank說成是內(nèi)存顆粒陣列的話,那么邏輯Bank可以看做是數(shù)據(jù)存儲陣列。不過與物理Bank不同,SDRAM與DDR內(nèi)存的邏輯Bank并不完全一樣,所以我將分開來簡單介紹一下?! 『唵蔚卣f,SDRAM的內(nèi)部是一個存儲陣列(圖1),因為如果是管道式存儲,就很難做到隨機訪問了。陣列就如同表格一樣,將數(shù)據(jù)'填'進去。因此邏輯Bank我們可以看成是一張邏輯二維表,在此表中內(nèi)存的數(shù)據(jù)是以位(bit)為單位寫入一個大的矩陣中,每個單元我們稱為CELL,只要指定一個行(Row),再指定一個列(Column),就可以準確地定位到某個CELL,里面每個單元都可以存儲數(shù)據(jù),而且每個單元的存儲空間相同——因為實際上與物理Bank每個單元具體存儲數(shù)據(jù)量相同。這個具體的單元存儲數(shù)據(jù)量即為邏輯Bank的位寬(實際上內(nèi)存的位寬就是邏輯Bank的位寬),一般有4bit、8bit和16bit等幾種。如果你認為不好理解的話,那么你可以用硬盤操作中的簇與扇區(qū)的關(guān)系來理解內(nèi)存中的存儲形式——扇區(qū)是硬盤中的最小存儲單元相當于內(nèi)存中的存儲體?、煻粋€簇則包含多個扇區(qū)相當于邏輯Bank中的存儲單元?、煍?shù)據(jù)的交換都是以一個簇為單位進行。由于工藝上的原因,這個陣列不可能做得太大,所以一般內(nèi)存芯片中都是將內(nèi)存容量分成幾個陣列來制造,也就是說內(nèi)存芯片中存在多個邏輯Bank,隨著芯片容量的不斷增加,邏輯Bank數(shù)量也在不斷增加。 主板芯片組本身時在一個時鐘周期內(nèi)只允許對一個邏輯Bank進行操作,而不是主板芯片組對內(nèi)存芯片內(nèi)所有邏輯Bank同時操作。邏輯Bank的地址線是通用的,只要再有一個邏輯Bank編號加以區(qū)別就可以了(Bank0到Bank3)。但是這個芯片的位寬決定了一次能從它那里讀出多少數(shù)據(jù),并不是內(nèi)存芯片里所有單元的數(shù)據(jù)能夠一次全部讀出。 對于DDR內(nèi)存,邏輯Bank的作用、原理與在SDRAM中是一樣的,區(qū)別主要是在邏輯Bank容量、規(guī)格之上。從上面大家已經(jīng)知道,SDRAM中邏輯Bank存儲單元的容量與芯片位寬相同,但DDR中并不是這樣。DDR的邏輯存儲單元的容量是芯片位寬的一倍:即'芯片位寬×2=存儲單元容量',同時DDR中的真正行、列地址數(shù)量也與同規(guī)格SDRAM不一樣了。這主要是由于DDR的工作原理所決定的。DDR這種內(nèi)部存儲單元容量的設(shè)計,就是常說的兩位預?。?-bit Prefetch),也稱為2-n Prefetch(n代表芯片位寬)。注:目前品牌內(nèi)存大都在包裝和說明書中標明邏輯Bank,對于兼容條,你可以根據(jù)內(nèi)存顆粒上的編號標志進行計算。至于物理Bank,大家可以根據(jù)以上介紹的原理計算出來,在這里我就不多說了。另外我們常說的內(nèi)存交錯設(shè)置并不是指的物理Bank的交錯,也就是說不是內(nèi)存條雙面的交錯,而是指內(nèi)存芯片內(nèi)部邏輯Bank的交錯。如果芯片有4個Bank,那么就可以進行4路交錯,如果只有兩個Bank就只能是2路交錯。很多資料介紹的以內(nèi)存條的單面或雙面來決定交錯是錯誤的,實際上就是混淆了物理Bank和邏輯Bank的區(qū)別。 物理Bank 傳統(tǒng)內(nèi)存系統(tǒng)為了保證CPU的正常工作,必須一次傳輸完CPU在一個傳輸周期內(nèi)所需要的數(shù)據(jù)。而CPU在一個傳輸周期能接收的數(shù)據(jù)容量就是CPU數(shù)據(jù)總線的位寬,單位是bit(位)。內(nèi)存與CPU之間的數(shù)據(jù)交換通過主板上的北橋進行,內(nèi)存總線的數(shù)據(jù)位寬等同于CPU數(shù)據(jù)總線的位寬,這個位寬就稱之為物理Bank(Physical Bank,簡稱P-Bank)的位寬。以目前主流的DDR系統(tǒng)為例,CPU與內(nèi)存之間的接口位寬是64bit,也就意味著CPU在一個周期內(nèi)會向內(nèi)存發(fā)送或從內(nèi)存讀取64bit的數(shù)據(jù),那么這一個64bit的數(shù)據(jù)集合就是一個內(nèi)存條Bank。目前絕大多數(shù)的芯片組都只能支持一條內(nèi)存包含兩個物理Bank。不過以前有不少朋友都認為,內(nèi)存的物理Bank是由面數(shù)決定的:即單面內(nèi)存條則包含一個物理Bank,雙面內(nèi)存則包含兩個。其實這個看法是錯誤的! 一條內(nèi)存條的物理Bank是由所采用的內(nèi)存顆粒的位寬決定的,各個芯片位寬之和為64bit就是單物理Bank;如果是128bit就是雙物理Bank。讀到這里,大家也應該知道,我們可以通過兩種方式來增加這種類型內(nèi)存的容量。第一種就是通過增加每一個獨立模塊的容量來增加Bank的容量,第二種方法就是增加Bank的數(shù)目。由于目前內(nèi)存顆粒位寬的限制,一個系統(tǒng)只有一個物理Bank已經(jīng)不能滿足容量的需要。所以,目前新一代芯片組可以支持多個物理Bank,最少的也能支持4個物理Bank。對于像Intel i845D這種支持4個Bank的芯片組來說,我們在選購內(nèi)存時就要考慮一下插槽數(shù)與內(nèi)存Bank 的分配問題了。因為如果選購雙Bank的內(nèi)存,這意味著在Intel i845D芯片組上我們最多只能使用兩條這樣的內(nèi)存,多了的話芯片組將無法識別。這里我建議大家最好根據(jù)自己的主板所提供的內(nèi)存插槽數(shù)目來選購內(nèi)存,如果主板只提供了兩個內(nèi)存插槽,那就不必為內(nèi)存是單Bank還是雙Bank而擔心了。而如果主板提供了4個內(nèi)存插槽(同一種規(guī)格),那么應該盡量購買單Bank或大容量雙Bank的內(nèi)存,以免給日后升級留下不必要的麻煩。注:SDRAM與DDR內(nèi)存的物理Bank是一樣的,不過在RDRAM內(nèi)存規(guī)格中,物理Bank被通道(Channel)取代。 ● 內(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)存或者服務器內(nèi)存才會使用四Bank以上的設(shè)計,因為這種內(nèi)存兼容性不好,'挑'芯片組。 事實上顯卡上也存在雙物理Bank設(shè)計,目的就是為了實現(xiàn)超大顯存容量,比如1GB的9800GT,正反兩面共有16顆16M×32bit的GDDR3顯存,總位寬達512bit,實際上顯存控制器只支持256bit,這樣就是雙物理Bank。 早在SDRAM時代,顯卡上用的'顯存顆粒'與內(nèi)存條上的'內(nèi)存顆粒'是完全相同的。在那個時候,GPU本身的運算能力有限,對數(shù)據(jù)帶寬的要求自然也不高,所以高頻的SDRAM顆粒就可以滿足要求。 某TNT2顯卡,使用的是PC166的SDR內(nèi)存顆粒 ● 內(nèi)存滿足不了顯卡的需求,顯存應運而生 本是同根生的狀況一直持續(xù)到SDR和DDR交接的時代,其實最早用在顯卡上的DDR顆粒與用在內(nèi)存上的DDR顆粒仍然是一樣的。后來由于GPU特殊的需要,顯存顆粒與內(nèi)存顆粒開始分道揚鑣,這其中包括了幾方面的因素: 1. GPU需要比CPU更高的帶寬。GPU不像CPU那樣有大容量二三級緩存,GPU與顯存之間的數(shù)據(jù)交換遠比CPU頻繁,而且大多都是突發(fā)性的數(shù)據(jù)流,因此GPU比CPU更加渴望得到更高的顯存帶寬支持。位寬×頻率=帶寬,因此提高帶寬的方法就是增加位寬和提高頻率,但GPU對于位寬和頻率的需求還有其它的因素。 2.顯卡需要高位寬的顯存。顯卡PCB空間是有限的,在有限的空間內(nèi)如何合理的安排顯存顆粒,無論高中低端顯卡都面臨這個問題。從布線、成本、性能等多種角度來看,顯存都需要達到更高的位寬。 最早的顯存是單顆16bit的芯片,后來升級到32bit,將來甚至還會有更高的規(guī)格出現(xiàn)。而內(nèi)存則沒有那么多要求,多年來內(nèi)存條都是64bit,所以單顆內(nèi)存顆粒沒必要設(shè)計成高位寬,只要提高容量就行了,所以(內(nèi)存芯片顆粒的)位寬一直維持在4/8bit。 3.顯卡能讓顯存達到更高的頻率。顯存顆粒與GPU配套使用時,一般都經(jīng)過專門的設(shè)計和優(yōu)化,而不像內(nèi)存那樣有太多顧忌。GPU的顯存控制器比CPU或北橋內(nèi)存控制器性能優(yōu)異,而且顯卡PCB可以隨意的進行優(yōu)化,因此顯存一般都能達到更高的頻率。而內(nèi)存受到內(nèi)存PCB、主板走線、北橋CPU得諸多因素的限制很難沖擊高頻率 由此算來,顯存與內(nèi)存'分家'既是意料之外,又是情理之中的事情了。為了更好地滿足顯卡GPU的特殊要求,一些廠商(如三星等)推出了專門為圖形系統(tǒng)設(shè)計的高速DDR顯存,稱為'Graphics Double Data Rate DRAM',也就是我們現(xiàn)在常見的GDDR。 GDDR——顯存和內(nèi)存正式分家 GDDR作為第一代專用的顯存芯片,其實在技術(shù)方面與DDR沒有任何區(qū)別,同樣采用了2bit預取技術(shù),理論頻率GDDR并不比DDR高多少。不過后期改進工藝的GDDR有了優(yōu)秀PCB的顯卡支持之后,GDDR顯存最高沖刺至900MHz,而DDR內(nèi)存只能達到600MHz左右,顯存和內(nèi)存的差距從此逐漸拉開。 · TSOP封裝的GDDR 16bit: 128M×16Bit 4.0ns TSOP II封裝的GDDR,單顆16MB,理論頻率500MHz當年9550、FX5700等128Bit中端卡需要搭配8顆才能組成128Bit TSOP封裝的GDDR顆粒,外觀規(guī)格特性都與DDR內(nèi)存顆粒沒有什么區(qū)別,所以在很多人看來'GDDR'與'DDR'是可以'劃等號'的。其實兩者還是有些差別: · GDDR采用4K循環(huán)32ms的刷新周期,而DDR采用8K循環(huán)64ms的刷新周期; · GDDR為了追求頻率在延遲方面放的更寬一些,畢竟GPU對延遲不太敏感; · GDDR顆粒的容量小、位寬大,一般是128Mbit×16Bit(16MB)的規(guī)格,而DDR顆粒的容量大、位寬小,雖然也有16Bit的顆粒,但最常見的還是8Bit和4Bit,單顆容量32MB或64MB。 為了實現(xiàn)更大的位寬,并進一步提升GDDR的性能,后期很多廠商改用了電氣性能更好的MBGA封裝,當然也有內(nèi)存顆粒使用MBGA封裝,但規(guī)格已有了較大差異,主要是顆粒位寬不同。 · MBGA封裝的GDDR 32bit: 128Mbit×32Bit 2.2ns MBGA封裝的GDDR,單顆16MB,理論頻率900MHz8顆組成128MB 256Bit規(guī)格,是GDDR1最后的輝煌 MBGA封裝GDDR的單顆位寬首次達到了32Bit,從此就標志著GDDR與DDR正式分道揚鑣,32Bit的規(guī)格被GDDR2/3/4/5一直沿用至今。 GDDR顯存的這兩種封裝:MBGA與TSOP構(gòu)成的高低配,曾一度一統(tǒng)顯卡市場。雖然GDDR已經(jīng)退出歷史舞臺,但32Bit主攻中高端、16Bit主攻低端的局面,時至今日依然得到了延續(xù)。 GDDR2第一版:短命的早產(chǎn)兒 高壓高發(fā)熱 GDDR2源于DDR2技術(shù),也就是采用了4Bit預取,相比DDR1代可以將頻率翻倍。雖然技術(shù)原理相同,但GDDR2要比DDR2早了將近兩年時間,首次支持DDR2內(nèi)存的915P主板于2004年中發(fā)布,而首次搭載GDDR2顯存的FX5800Ultra于2003年初發(fā)布,但早產(chǎn)兒往往是短命的。 在設(shè)計NV30芯片時依然保持128Bit顯存位寬,為了提高帶寬必須使用高頻顯存,700MHz的GDDR已經(jīng)無法滿足需求了,于是冒險嘗試GDDR2。第一代GDDR2受制造工藝限制,電壓規(guī)格還是和DDR/GDDR一樣的2.5V,雖然勉強將頻率提升至1GHz左右,但功耗發(fā)熱出奇的大。 128Mbit×32Bit 2.0ns MBGA 144Ball封裝的GDDR2,單顆16MB,理論頻率1000MHzGDDR2第一版只有2.2ns和2.0ns兩種速度 GDDR2第一版只在FX5800/Ultra和FX5600Ultra這三款顯卡上出現(xiàn)過(也包括對應的專業(yè)卡及個別非公版顯卡), 也有極少數(shù)9800Pro使用了GDDR2。高電壓、高發(fā)熱、高功耗、高成本給人的印象非常差。隨著FX5900改用GDDR及256Bit,GDDR2很快被人遺忘。
FX5800Ultra需要為顯存專門安裝厚重的散熱片 GDDR2失敗的主要原因是 GeForce FX系列架構(gòu)和性能的問題,之后即便改用了256Bit高頻GDDR(此時GDDR的頻率已被提升至850-900MHz,直逼GDDR2),F(xiàn)X5950Ultra依然不是9800XT的對手。當然GDDR2自身規(guī)格的不完善也造成了它無法入住中低端顯卡,被時代所遺棄。 GDDR2雖然壞毛病一大堆,但它也擁有一些新的特性,比如首次使用片內(nèi)終結(jié)電阻,PCB設(shè)計比GDDR更加簡潔,這個特性被后來的gDDR2和GDDR3繼承。 gDDR2第二版:統(tǒng)一低端顯卡 永遠的配角 由于第一代GDDR2的失敗,高端顯卡的顯存是直接從GDDR跳至GDDR3的,但GDDR2并未消亡,而是開始轉(zhuǎn)型。幾大DRAM大廠有針對性的對GDDR2的規(guī)格和特性做了更改(說白了就是DDR2的顯存版),由此gDDR2第二版正式登上顯卡舞臺,時至今日依然活躍在低端顯卡之上。 gDDR2第二版相對于第一版的改進主要有: · 工作電壓從2.5V降至1.8V,功耗發(fā)熱大降; · 制造工藝有所進步,功耗發(fā)熱進一步下降,成本降低,同時良率和容量有所提升; · 顆粒位寬從32Bit降至16Bit,只適合低端顯卡使用; · 封裝形式從144Ball MBGA改為84Ball FBGA,外觀上來看從正方形變成長方形或者長條形;
各大廠商均有g(shù)DDR2顆粒 由于電壓的下降,第二代gDDR2的頻率要比第一代GDDR2低,主要以2.5ns(800MHz)和2.2ns(900MHz)的規(guī)格為主,當然也有2.8ns(700MHz)的型號。直到后期制造工藝上去之后,第二代gDDR2才以1.8V電壓突破了1000MHz,最高可達1200MHz,趕超了第一代高壓GDDR2的記錄。 采用gDDR2顯存的經(jīng)典顯卡有:7300GT、7600GS、X1600Pro、8500GT……一大堆低端顯卡。
注意三星官方網(wǎng)站對于顯存的分類 相信很多朋友也注意到了,本頁gDDR2的第一個字母為小寫,幾大DRAM廠商在其官方網(wǎng)站和PDF中就都是這么寫的,以示區(qū)分。我們可以這么認為:大寫G表示顯卡專用,32bit定位高端的版本;而小寫g表示為顯卡優(yōu)化,16bit定位低端的版本,本質(zhì)上與內(nèi)存顆粒并無區(qū)別。 事實上,GDDR3和gDDR3之間也是這種關(guān)系,稍后我們會做詳細介紹。 GDDR源于DDR,GDDR2源于DDR2,而GDDR3在頻率方面的表現(xiàn)又與DDR3比較相似,于是很多人認為GDDR3就是顯存版的DDR3,這可是個天大的誤區(qū)。 ● GDDR3:一代王者GDDR3源于DDR2技術(shù) 無論GDDR還是GDDR2,由于在技術(shù)方面與DDR/DDR2并無太大差別,因此最終在頻率方面GDDR并不比DDR高太多。在經(jīng)歷了GDDR2的失敗之后,兩大圖形巨頭 和 對JEDEC組織慢如蝸牛般的標準制訂流程感到越來越失望,認為他們制定的顯存不能適應GPU快節(jié)奏的產(chǎn)品更新?lián)Q代周期,于是 和 的工作人員積極參與到了JEDEC組織當中,以加速顯存標準的起草及制定。 雙方一致認為,顯存與內(nèi)存在數(shù)據(jù)存儲的應用方面完全不同,在內(nèi)存核心頻率(電容刷新頻率)無法提升的情況下,單純提高I/O頻率來獲得高帶寬很不現(xiàn)實。因此,必須要有一種針對高速點對點環(huán)境而重新定義的I/O接口。于是GDDR3誕生了,這是第一款真正完全為GPU設(shè)計的存儲器。
GDDR3和GDDR2/DDR2一樣,都是4Bit預取架構(gòu),GDDR3主要針對GDDR2高功耗高發(fā)熱的缺點進行改進,并提升傳輸效率來緩解高延遲的負面影響。 · 點對點DQS,讀寫無需等待 GDDR2只有一條數(shù)據(jù)選擇脈沖(DQS),是單一雙向的,而GDDR3則擁有讀與寫兩條獨立的DQS,而且是點對點設(shè)計。這樣做的好處在于,在讀取之后如果馬上進行寫入時,不必再等DQS的方向轉(zhuǎn)變,由此實現(xiàn)讀寫操作的快速切換。
相比GDDR2/DDR2,GDDR3的讀寫切換動作可以少一個時鐘周期,如果需要對某一個連續(xù)的區(qū)塊同時讀寫數(shù)據(jù)時,GDDR3的速度就要比GDDR2快一倍。 由于存儲單元自身的特性,內(nèi)存顆粒的邏輯Bank是無法同時讀寫數(shù)據(jù)的,并不存在'全雙工'一說,但GDDR3的這項改進讓順序讀寫成為可能。GPU本身緩存很小,與顯存之間的數(shù)據(jù)交換極其頻繁,讀寫操作穿插進行,因此GDDR3點對點設(shè)計的DQS可以讓顯存存儲效率大增。但對于CPU來說,讀寫切換并不如GPU那么頻繁,而且CPU擁有大容量的二三級緩存,所以GDDR3這種設(shè)計并不能極大的提升內(nèi)存帶寬,也沒有引入到下一代DDR3當中。 · 改進I/O接口,簡化數(shù)據(jù)處理,控制功耗
同時GDDR3也對I/O控制電路和終結(jié)電阻進行了修改,它不再沿用GDDR2的'推式(Push Pull)'接收器,而將其改為虛擬開極邏輯方式(Pseudo Open Drain Logic),并且通過將所有的三相數(shù)據(jù)信號轉(zhuǎn)移到本位電路上,來簡化數(shù)據(jù)處理,將DC電流壓至最小,只有當邏輯LOW移至總線上時才會消費電力,從而很好的控制了功耗和發(fā)熱。 GDDR3的頻率能達到現(xiàn)在這么高,其實并沒有什么訣竅,憑借的就是不斷改進的工藝制程,來暴力拉升頻率。資歷稍老點的玩家應該知道,GDDR3于2004年初次登臺亮相時,6600GT的顯存頻率僅為1GHz,并不比GDDR2高,5年過去了,GDDR3從1GHz一路攀升至2GHz甚至2.5GHz,生命力得到了延續(xù)。 明白了GDDR3的原理技術(shù)后,再來看看實物。GDDR3和GDDR1類似,也有兩種封裝形式: ● 144Ball MBGA封裝,為了向下兼容GDDR和GDDR2 最初的GDDR3采用了144Ball MBGA封裝,這與GDDR和GDDR2第一版完全相同,外觀也是正方形,三者的電氣性能相似,支持GDDR3的GPU也可使用GDDR顯存,PCB和電路只需做少量調(diào)整。
三星2.0ns 256M×32Bit GDDR3顆粒 144Ball封裝的GDDR3只有256M×32Bit一種規(guī)格,所以8顆顯存組成256MB 256Bit、或者4顆顯存組成128MB 128Bit是當時的主流。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è)計,但也為GDDR3的騰飛鋪平了道路。
三星0.8ns GDDR3顯存 512M×32Bit規(guī)格 136Ball封裝GDDR3的優(yōu)勢如下: · 規(guī)格不再局限于8M×32Bit一種,16M×32Bit成為主流,目前32M×32Bit已大量采用; · 伴隨著制造工藝的進步,額定電壓從2.0V進一步降至1.8V,但一些高頻顆??蛇m當加壓; · 速度從1.4ns起跳,經(jīng)過1.2ns、1.1ns、1.0ns一路發(fā)展至0.8ns、0.7ns,最快速度可突破2500MHz,但這是以犧牲延遲為代價的,好在GPU對延遲不太敏感; 當GDDR3的頻率首次達到2000MHz時,很多人都認為離極限不遠了,于是未雨綢繆的抓緊制定GDDR4規(guī)范,但沒想到在DRAM廠商的努力及新工藝的支持下,GDDR3的生命得到了延續(xù),0.8ns 0.7ns的型號相繼量產(chǎn),而且容量更大的32M×32Bit顆粒也成為主流,基本上能夠滿足高中低端所有顯卡的需要。
當前速度最快0.77ns GDDR3顯存顆粒,理論頻率可達2600MHz 當年2.2ns GDDR最高可達900MHz,核心頻率和I/O頻率止步于450MHz。經(jīng)過5年時間的發(fā)展,GDDR3憑借新工藝終于在核心頻率和I/O頻率方面取得突破,核心頻率可達600MHz以上,I/O頻率超過1200MHz,此時過高的I/O頻率成為了新的瓶頸。 GDDR3采用了DDR2的4bit預取技術(shù),所以采用DDR3 8bit預取技術(shù)的顯存只能按順序命名為GDDR4。GDDR4是在GDDR3的基礎(chǔ)上發(fā)展而來的,它繼承了GDDR3的兩大技術(shù)特性,但內(nèi)核改用DDR3的8bit預取技術(shù),并加入了一些新的技術(shù)來提升頻率。 ● GDDR4的技術(shù)特性: · 使用DDR3的8bit預取技術(shù),以較低的核心頻率達到更高帶寬,但延遲增加; · 采用數(shù)據(jù)總線轉(zhuǎn)位技術(shù)(DBI,Data Bus Inversion,下文做詳細介紹),提高數(shù)據(jù)精度,降低功耗; · 地址線只有GDDR3的一半,多余線用于電源和接地,有利于提升頻率,但導致延遲增加; · 采用多重同步碼(Multi-Preamble)技術(shù),解決了GDDR3存在的爆發(fā)限制(Burst Limit on),從連續(xù)地址讀取少量數(shù)據(jù)時的性能大幅提升; · 電壓從1.8V降至1.5V; · 同頻功耗下降75%,2400MHz的GDDR4功耗只有2000MHz GDDR3的一半; · 采用136Ball FBGA封裝,單顆32Bit,向下兼容GDDR3;
GDDR4的確更好超,但性能提升有限 由于采用了8bit預取技術(shù),因此在相同頻率下GDDR4的核心頻率(即電容刷新頻率)只有GDDR3的一半,理論上來講GDDR4最高頻率可達GDDR3的兩倍。但值得注意的是,雖然核心頻率通過8bit預取技術(shù)減半,但GDDR4與GDDR3的I/O頻率是完全相同的,因此GDDR4頻率提升的瓶頸在于I/O頻率而不是核心頻率。 由于制造工藝和技術(shù)水平的限制,雖然三星官方宣稱早已生產(chǎn)出3GHz以上的GDDR4,但實際出貨的GDDR4只有2GHz-2.5GHz,此后改進工藝的GDDR3也追平了這一頻率。在相同頻率下,GDDR4比起GDDR3雖然功耗發(fā)熱低,但延遲大性能稍弱,再加上成本高產(chǎn)量小,GDDR4遭受冷落并不意外。 ● 導致GDDR4失敗的非技術(shù)方面原因 GDDR3是 和 參與JEDEC組織后共同制定的顯存標準,而GDDR4在標準制定過程中雙方產(chǎn)生了較大的分歧。 較為保守,認為應該保持DDR2 4bit預取技術(shù)不變,繼續(xù)改進I/O控制器來提升頻率;而 則比較激進,準備直接使用DDR3 8bit預取技術(shù)。 雙方爭執(zhí)的結(jié)果就是在JEDEC組織中德高望重的 獲勝(據(jù)稱 有位高層在JEDEC身居要職),而 則明確表示不支持GDDR4。因此GDDR4其實就是 一手策劃的,但得不到 支持的話,GDDR4立馬就失去了6成以上的市場,由此導致DRAM廠不敢貿(mào)然投產(chǎn)。 最終只有三星一家生產(chǎn)了少量的GDDR4顯存,其他家都在觀望。當然其他DRAM廠商都沒閑著,它們把精力都投在了深挖GDDR3的潛力當中,于是我們看到了GDDR3的頻率節(jié)節(jié)攀升,GDDR4在沒有成本優(yōu)勢的情況下,也沒有頻率優(yōu)勢,恰好當時的幾代A卡更沒有性能優(yōu)勢,GDDR4自然只有死路一條。 只有 生產(chǎn)過搭載GDDR4的顯卡,數(shù)量雖然不多但橫跨了三代產(chǎn)品:X1950XTX、HD2600XT和HD3870(也包括對應的專業(yè)卡)——與當年 使用GDDR2的顯卡數(shù)量相等。NVIDIA 在遭遇滑鐵盧后果斷放棄了GDDR2,而 對于GDDR4則是難以割舍,三年時間三代產(chǎn)品都有使用,但一直都是非主流。 GDDR4的失敗并不是技術(shù)原因,和當年的GDDR2相比它要成熟很多,沒推起來的原因主要是對手太強: 的對手 很強大,另外GDDR4的對手GDDR3生命力太頑強了。 即便使用了8bit預取技術(shù),可GDDR4還是沒有與GDDR3拉開頻率差距,因為瓶頸在I/O控制器上面而不是內(nèi)核,而GDDR5就是用來解決這一瓶頸的。 ● GDDR5:恐怖的頻率是如何達成的 和GDDR4一樣,GDDR5采用了DDR3的8bit預取技術(shù),核心頻率顯然不是瓶頸,如何提升I/O頻率才是當務之急。但GDDR5并沒有讓I/O頻率翻倍,而是使用了兩條并行的DQ總線,從而實現(xiàn)雙倍的接口帶寬。
GDDR5各項總線工作頻率示意圖 雙DQ總線的結(jié)果就是,GDDR5的針腳數(shù)從GDDR3/4的136Ball大幅增至170Ball,相應的GPU顯存控制器也需要重新設(shè)計。GDDR5顯存擁有多達16個物理Bank,這些Bank被分為四組,雙DQ總線交叉控制四組Bank,達到了實時讀寫操作,一舉將數(shù)據(jù)傳輸率提升至4GHz以上!
以往GDDR1/2/3/4和DDR1/2/3的數(shù)據(jù)總線都是DDR技術(shù)(通過差分時鐘在上升沿和下降沿各傳輸一次數(shù)據(jù)),官方標稱的頻率X2就是數(shù)據(jù)傳輸率,也就是通常我們所說的等效頻率。而GDDR5則不同,它有兩條數(shù)據(jù)總線,相當于Rambus的QDR技術(shù),所以官方標稱頻率X4才是數(shù)據(jù)傳輸率。比如HD4870官方顯存頻率是900MHz,而大家習慣稱之為3600MHz。 ● 失敗乃成功之母,冒險使用GDDR5助RV770挑戰(zhàn)GTX200 GDDR4的失敗并沒有阻擋 前進的腳步,在意識到GDDR4頻率提升的瓶頸之后,GDDR5草案的制定就被提上日程, 和 技術(shù)人員重新聚首,開展第二次合作共商大計。GDDR5吸取了前輩們的諸多優(yōu)點,可謂是取其精華棄其糟粕,在I/O改進方面雙方也不再有太多矛盾。 技術(shù)方面的問題不難解決,最難的是時間和進度。 在R600上面冒險使用512Bit顯存控制器來提升顯存帶寬,結(jié)果輸?shù)靡粩⊥康兀谑荝V670只好回歸256Bit,導致性能原地踏步。而GDDR4相比GDDR3沒有頻率優(yōu)勢,因此 迫切的需要GDDR5迅速投產(chǎn)以滿足新一代GPU的需要,RV770只有256Bit,急需高頻顯存的支持。 對手 對于GDDR5當然很感興趣,但卻一點都不著急,保守的 決定堅守GDDR3,GTX200核心使用了512Bit顯存控制器來提升帶寬。比起R600的環(huán)形總線, 從256Bit到384Bit再到512Bit一步一個腳印走出來的交叉總線顯然更加成熟。 以256Bit對抗512Bit, 只能將籌碼全部押在GDDR5身上,于是在GDDR5標準尚未完全確立之前, 已經(jīng)在緊鑼密鼓的測試性能,并督促DRAM廠投產(chǎn)??梢哉fGDDR5和GDDR2/4一樣也是個早產(chǎn)兒,但失敗乃成功之母,有了完善的技術(shù)規(guī)格和制造工藝的支持,GDDR5一出世便令人刮目相看。 憑借GDDR5翻倍的數(shù)據(jù)傳輸率,HD4870以256Bit將448Bit的GTX260挑落馬下,迫使 通過降價、提升規(guī)格、改進工藝等諸多手段來反擊。128Bit的HD4770性能也完勝256Bit的9600GT并直逼9800GT。 SDR+DDR1/2/3和GDDR1/2/3/4/5全系列規(guī)格參數(shù)匯總:
● 顯存引領(lǐng)DRAM發(fā)展,未來內(nèi)存將以顯存為藍本開發(fā) 縱觀近年來內(nèi)存與顯存的發(fā)展,就會發(fā)現(xiàn)顯存的發(fā)展速度已經(jīng)遠遠超越了內(nèi)存,顯存帶寬幾乎達到了內(nèi)存帶寬的10倍之多,而且這個差距還在不斷的加大。目前三通道DDR3已經(jīng)足夠桌面CPU用好一陣子了,而GPU對顯存帶寬的渴求似乎是個永遠都填不滿的無底洞。
正因為如此,顯存逐漸脫離了內(nèi)存的發(fā)展軌跡,在經(jīng)過幾次并不成功的嘗試之后,從內(nèi)存的配角/附屬品,開始走向了反客為主的道路。GDDR2提前DDR2近兩年、GDDR4提前DDR3一年多,雖然都以失敗而告終,但卻為GDDR5的成功打下了堅實的基礎(chǔ)。 在內(nèi)存領(lǐng)域,如今DDR3才剛剛站穩(wěn)腳跟,至少將統(tǒng)治PC兩至三年,但DDR4的標準已經(jīng)在積極制定當中,而其技術(shù)規(guī)格將會以GDDR5為藍本——也就是說保持DDR3 8bit預取技術(shù)不變,改進I/O控制器,個中原因相信認真閱讀了本文的朋友們應該知道吧。 【3C168 中關(guān)村湖南】顯卡界近期新技術(shù)不斷,除了40nm普及、AMD的DirectX 11 Radeon HD 5000系列發(fā)布外,還有一個與顯卡性能息息相關(guān)的技術(shù)迅速普及,那就是GDDR5顯存顆粒。從第一款采用GDDR5顯存的Radeon HD 4770開始,GDDR5顯存就成為了AMD高端顯卡的標配,如今,AMD中端Radeon HD 5700/4700系列也開始采用GDDR5顯存,NVIDIA方面最新的GeForce GT 240也搭上了GDDR5顯存的快車!由此可見,GDDR5顯存時代將迅速來臨,用來取代服役已久的GDDR3顯存顆粒。 華碩作為全球為數(shù)不多同時兼AIC/AIB為一身的公司,對GDDR5顯存的支持自然不遺余力,走在業(yè)界的前列,如今GDDR5大軍全面來襲!包括:華碩EAH5870/2DIS/1GD5、華碩EAH5850/2DIS/1GD5、華碩EAH5770/2DIS/1GD5、華碩EAH5750/2DIS/1GD5、華碩EAH4750 F1/DI/512MD5、華碩ENGT240/DI/512MD5等多款產(chǎn)品。那么GDDR5顯存顆粒到底有什么優(yōu)勢,能夠取代稱霸顯存顆粒多年的GDDR3顯存顆粒,下面我們將會大家揭開謎團?
上面這張圖清楚的反應了帶寬與顯存頻率位寬之間的關(guān)系!假設(shè)有一批貨物(數(shù)據(jù))要從倉庫(顯存)運到工廠(GPU)處理,怎么樣才能更快的完成這件工作?我們有兩種方式:第一,在只有驢車運輸?shù)那闆r下,可行的方法拓寬工廠與倉庫之間的車道數(shù),這樣一次可以跑更多的驢車,也就是增加顯存位寬,第二種就是在道路不變下,把驢車換成汽車,這樣同樣可以更快的完成任務。 其實近幾年來,顯卡的發(fā)展一直都是兩種方式同步進行,顯卡從幾年前的64Bit已經(jīng)發(fā)展到了512Bit,顯存速度也從原來的500MHz發(fā)展到GDDR3顯存最高的2600MHz(GDDR5出現(xiàn)以前),但是增加顯存位寬這條路徑已經(jīng)出現(xiàn)了瓶頸,512Bit已經(jīng)是目前GPU位寬設(shè)計的極限,且不論失敗的Radeon HD 2900 XT,即使是看起來風光無限的GT200系列,由于顯存控制器占據(jù)了大量的晶體管,芯片設(shè)計太過復雜,導致GT200系列無論功耗還是發(fā)熱量都不盡人意, 因此NVIDIA已經(jīng)決定在GT300中采用384Bit位寬,而AMD早就在Radeon HD 3870就已經(jīng)恢復到了256Bit位寬,可見想增加帶寬,采用拓寬道路數(shù)已經(jīng)不太現(xiàn)實,那么就只有將驢車換成法拉利跑車了! 將驢車換成法拉利跑車需要幾步?答:三步! 最早的驢車可以視為GDDR顯存,最早的頻率為400MHz,到后期隨著工藝的發(fā)展到了900MHz,之后出現(xiàn)了GDDR2顯存顆粒,這應該算是第一步,盡管最初的GDDR2顯存由于工藝和電壓問題,并不成功。 第二步是GDDR3顯存顆粒,這也是近幾年顯卡采用最普遍的顯存顆粒,在這期間GDDR2顯存顆粒才由于制程提升且電壓由2.5V降低到1.8V才開始普遍采用在低端顯卡上,GDDR3顯存最初只有1000MHz,到現(xiàn)在發(fā)展到了最快的0.77ns的2600MHz,此時可以視為將驢車換成了寶馬,速度提升了非常明顯,但是這看要和誰比!因為和GDDR5相比,GDDR3能夠達到最高頻率還不及GDDR5的起跳頻率。 第三步就是GDDR5顯存顆粒,當然也許有的玩家會說第三步不是GDDR4顯存顆粒嗎?這是要說的是,GDDR4確實也是非常優(yōu)秀的產(chǎn)品,不過其致命點是雖然頻率夠高,最高可達3000MHz,但是延遲也同樣過高,同頻率下性能無法抗衡GDDR3顯存顆粒,目前GDDR4顯存顆粒大部分徘徊在2400MHz左右,實際上性能與2000MHz的GDDR3顯存性能相差無幾,盡管功耗等方面仍有優(yōu)勢,但是沒有得到NVIDIA的支持,且生產(chǎn)成本與GDDR3相比過高,于是并沒有大面積普及。而GDDR5顯存顆粒就不同了,他不但得到了AMD與NVIDIA的全力支持,且最低起跳頻率為3600MHz,目前最高默認頻率達到了4800MHz,通過超頻甚至已經(jīng)達到6000MHz的超高頻率。 那么GDDR5是如何實現(xiàn)法拉利的速度的? 在這個話題之前我們要先明白顯存的的三個頻率:核心頻率、I/O頻率、等效頻率。核心頻率是內(nèi)部電容的刷新頻率,它是內(nèi)存的真實運行頻率;時鐘頻率即I/O(輸入/輸出緩沖)的傳輸頻率;而有效數(shù)據(jù)傳輸頻率就是指數(shù)據(jù)傳送的頻率(即等效頻率)。其中顯存的核心頻率現(xiàn)在很少被人提起,大家提到最多的是I/O傳輸頻率(也就是官方標稱的頻率)及等效頻率,等效頻率就是我們談論顯卡時所說的頻率,舉個例子,比如我們說Radeon HD 5870的頻率是4800MHz,官方則稱其為1200MHz,其中4800MHz就是等效頻率,1200MHz為I/O頻率,而實際顯存的核心頻率僅為150MHz。那么這150MHz是如何得來的呢? 其實這個問題并不復雜,首先我們要了解一個名字——數(shù)據(jù)預取技術(shù),顧名思義就是預先/提前存取數(shù)據(jù),GDDR/GDDR2/GDDR3/GDDR4/GDDR5分別采用了2Bit/4Bit/4Bit/8bit/8it數(shù)據(jù)預取技術(shù),也就是說I/O控制器在發(fā)出請求之前,它們會分別準備好2Bit/4Bit/4Bit/8bit/8it數(shù)據(jù)。
那么我們可以得出一個結(jié)論,那就是如果核心頻率同為200MHz的話,那么GDDR/GDDR2/GDDR3/GDDR4/GDDR5的I/O頻率分別是400Mz/800MHz/800MHz/1600MHz/1600MHz,等效頻率是800MHz/1600MHz/1600MHz/3200MHz/3200MHz,其中I/O頻率五種顯存都是正確的,而等效頻率只有GDDR/GDDR2/GDDR3/GDDR4是正確的,因為GDDR5的等效頻率并不是3200MHz,而是6400MHz。這又是為什么呢?
因為GDDR/GDDR2/GDDR3/GDDR4的數(shù)據(jù)總線都是DDR技術(shù)(通過差分時鐘在上升沿和下降沿各傳輸一次數(shù)據(jù)),I/O頻率X2就是等效頻率,而GDDR5兩條并行的DQ總線,從而實現(xiàn)雙倍的接口帶寬,相當于Rambus的QDR技術(shù),所以I/O頻率X4才是等效頻率,說到這里相信大家都可以理解為什么GDDR5顯存可以擁有那么高的速度了吧! 上面的表是否正確?正確?。匡@存的計算不同于內(nèi)存的計算? 使用內(nèi)存計算方法的結(jié)論 ???? 同時我們也注意到,上文我們提到GDDR5中達到4800MHz頻率也只需要150MHz的核心頻率,所以GDDR5顯存的電壓可以更低,僅有1.5V,比GDDR3可節(jié)省17%的電量,更低的電壓意味著更低的功耗和發(fā)熱量,對于顯卡工作的穩(wěn)定至關(guān)重要。 有了GDDR5顯存顆粒的幫助,上述華碩顯卡自然會在性能上更具優(yōu)勢,根據(jù)顯存帶寬=顯存位寬×顯存工作頻率/8的公式,即使是只有128Bit的華碩EAH5770/2DIS/1GD5,通過4800MHz的頻率也可以達到4800MHz×128bit/8=76.8GB/s,而采用256Bit的GeForce GTS 250的帶寬也僅為2200MHz×256Bit/8=70.4GB/s。又例如同一芯片GeForce GT 240如果分別采用GDDR3和GDDR5顯存顆粒,他們性能會相差10%以上,足見GDDR5在性能上可提供更大的發(fā)揮空間! GDDR5等效頻率=物理頻率×8(GDDR5為8bit預讀?。?(雙總線上下延傳輸)因為,標稱頻率=物理頻率×8(GDDR5為8bit預讀取)所以GDDR5等效頻率也等于 標稱頻率×4。 一起來認識GDDR5顯存 頻率是存儲器最為顯著的特征。目前GDDR3的數(shù)據(jù)傳輸頻率最高可以達到2600MHz,相比之下,目前GDDR5可以達到5000MHz。不過這依舊不是終點,GDDR5最高數(shù)據(jù)傳輸頻率將達到6000MHz。和之前幾代GDDR顯存一樣,GDDR5也是建立在多倍數(shù)據(jù)預取技術(shù)上的產(chǎn)品。根據(jù)顯存發(fā)展的歷史來看,GDDR1顯存采用2bit數(shù)據(jù)預取技術(shù),GDDR2、GDDR3和GDDR4都采用了4bit數(shù)據(jù)預取技術(shù),GDDR5正是新一代8bit數(shù)據(jù)取技術(shù)的產(chǎn)物,達到了令人驚異的高性能。 優(yōu)秀的雙總線設(shè)計—高速傳輸無憂 相比GDDR3采用的4bit預取數(shù)據(jù)而言,GDDR5的優(yōu)勢在于將預取數(shù)據(jù)增加到了8bit,因此GDDR5就能夠在同樣的物理時鐘頻率下達到更高的數(shù)據(jù)傳輸速度。不僅如此,GDDR5顯存采用了雙數(shù)據(jù)總線,能夠同時在數(shù)據(jù)總線的上升和下降階段傳輸數(shù)據(jù)。同時,每條總線都獨立配備了完整的DBI,可以獨立傳輸、校驗數(shù)據(jù),是完整的雙總線規(guī)格。以往單數(shù)據(jù)總線的GDDR2、GDDR3等顯存標稱頻率是等效工作頻率的1/2(比如標稱頻率為900MHz的GDDR3顯存,等效工作頻率為1800MHz),而GDDR5顯存由于雙總線技術(shù)的存在,每條總線都可以在上升和下降階段傳輸數(shù)據(jù),因此標稱頻率是等效工作頻率的1/4。以4000MHz等效工作頻率的GDDR5顯存為例,它的標稱頻率為1000MHz。由于采用了8bit的預取技術(shù),因此它的實際物理運行頻率為125MHz。 GDDR顯存幾種頻率的差別 物理運行頻率:是指GDDR顯存實際運行的物理頻率,這個頻率可以在主板上用儀器實際測得。在通常的使用中,物理運行頻率是極少被提及的。 標稱頻率:由于采用了多倍預取技術(shù),因此GDDR顯存的標稱頻率遠遠高于物理運行頻率。以GDDR3為例,它采用4bit預取,因此物理運行頻率為250MHz的GDDR3顯存,標稱頻率就為1000MHz。在GPU-Z、Rivatuner等軟件的截圖中,看到的顯存頻率就是標稱頻率。 等效工作頻率:等效工作頻率是GDDR顯存衡量實際傳輸數(shù)據(jù)能力的頻率。一般GDDR2、GDDR3、GDDR4等單總線顯存的等效工作頻率是標稱頻率的2倍。而GDDR5采用了雙總線技術(shù),因此等效工作頻率是標稱頻率的4倍。我們經(jīng)??吹綇S商和大部分媒體宣傳的顯存頻率實際就是等效工作頻率,這也是大家使用最廣泛、認知度最高的GDDR顯存頻率。另外,等效工作頻率可以直接和顯存位寬相乘進行計算。比如等效工作頻率為2000MHz的GDDR3顯存,如果顯存的位寬為128bit,那么總顯存帶寬就是2000MHz×128bit÷8=32GB/s。 穩(wěn)定+節(jié)能,其實很簡單—Data eye optimization數(shù)據(jù)核心優(yōu)化 對于數(shù)據(jù)的優(yōu)化是存儲器最為重要的方面,GDDR5重點采用了四項技術(shù)來保證數(shù)據(jù)的穩(wěn)定性和安全性。Data/address bit inversion,即數(shù)據(jù)/地址位反演是指在傳輸過程中,數(shù)據(jù)或者地址位內(nèi)的信息被按照一定的規(guī)則做了反演處理。數(shù)據(jù)/地址位反演技術(shù)的作用在于有效地改善了噪音對數(shù)據(jù)信號的影響,保證了數(shù)據(jù)在傳輸和存儲過程中的穩(wěn)定性。不難看出,數(shù)據(jù)/地址位反演技術(shù)是GDDR5在傳輸中最重要的處理技術(shù),也是降低功耗和提高數(shù)據(jù)穩(wěn)定性的首要法寶。 除了數(shù)據(jù)/地址位反演技術(shù)外,三項動態(tài)調(diào)節(jié)技術(shù):adjustable driver strengths、adjustable voltages和adjustable terminations也是GDDR5數(shù)據(jù)核心優(yōu)化的重要組成部分。它們分別針對驅(qū)動器、電壓和終止裝置進行自動調(diào)節(jié)。在傳統(tǒng)的顯存數(shù)據(jù)傳輸過程中,由于顯存并行傳輸?shù)奶匦?,對線長和外界干擾有著嚴格的規(guī)定。因此我們常常在顯存周圍看到大量的密密麻麻的終結(jié)電阻(減少反射損耗)等元件,顯卡不得不在顯存周圍采用蛇形走線來盡可能做到信號線等長。但在GDDR5上這些嚴格的要求被弱化了,GDDR5自帶的調(diào)節(jié)系統(tǒng)可以在一定范圍內(nèi)保證數(shù)據(jù)信號在高速運行時不出錯,甚至信號線都可以不用嚴格等長。除了更寬松的信號傳輸空間外,GDDR5對電壓和溫度的動態(tài)調(diào)節(jié)和實時監(jiān)控,也使得整個信號在傳輸過程中的安全性更高。另外,工程人員可以在BIOS中寫入設(shè)定好的調(diào)整信息,避免在PCB已經(jīng)正式出樣(layout)之后由于信號穩(wěn)定性問題導致返工。 如何識別GDDR5顯存 目前已經(jīng)上市的GDDR5顯存擁有兩種速度規(guī)格和兩種容量規(guī)格,可選擇余地并不多。以市場常見的奇夢達GDDR5顯存為例,分為-40X和-50X兩種,分別對應4.0Gbps和5.0Gbps的傳輸速率,即理論上它們的等效工作頻率為4000MHz和5000MHz。尚未上市的現(xiàn)代和三星GDDR5顯存分類則更細,擁有3500MHz、4000MHz、4500MHz和5000MHz等多種頻率規(guī)格。
編號為奇夢達IDGV51-05A1F1C-40X的GDDR5顯存
奇夢達GDDR5顯存規(guī)格列表 安全+自由,放心傳數(shù)據(jù)—Adaptive interface timing時鐘自適應技術(shù) 信號線和時鐘穩(wěn)定性是高速顯存設(shè)計中最重要的部分。GDDR5顯存擁有多達5條需要校準的時鐘信號,分別是Clock、Command Clock、ADDR、Write Clock、DATA Clock時鐘信號。在高速運行的情況下(諸如高達2GHz),任何一點微小的差距都會帶來整個系統(tǒng)的數(shù)據(jù)錯誤、崩潰。因此,GDDR5在時序自動校準、自適應技術(shù)上已經(jīng)有了一套非常完整的方案,能夠帶來非常高的數(shù)據(jù)運行效率。 首先,GDDR5會要求地址時鐘和總線時鐘(ADDR和CK#)進行對照并對齊。實際上這是在進行一次芯片的初始化,在此階段控制器可以找到最佳的相位設(shè)置。接下來就需要校準Write Clock(WCK)和基準Clock(CK#)之間的數(shù)據(jù),這個過程被稱為'WCK-to-CK'。在這個過程中,控制器可以找出WCK和CK#之間相位的差距,是'早'還是'遲',然后為每一個DRAM給出相應的調(diào)節(jié)數(shù)據(jù)。最后,控制器會調(diào)整數(shù)據(jù)總線(DATA和WCK)。由于數(shù)據(jù)總線DATA的頻率是WCK寫入時鐘的2倍,因此每次校準會涉及到兩個字節(jié)。 GDDR5的這種校準方法,使得整個數(shù)據(jù)線環(huán)環(huán)相扣,降低了由于時鐘不同步帶來的數(shù)據(jù)錯誤或系統(tǒng)延遲,也在很大程度上降低了PCB設(shè)計的難度。由于有內(nèi)部校準機制的存在,工程師們在PCB布線的一致性方面就有了更寬松的空間,這讓整個PCB的布線更為自由和寬松。 另外,更為自由的數(shù)據(jù)預取技術(shù)也讓GDDR5在圖形應用中充滿了優(yōu)勢。在圖形計算中存在大量密集而微小的數(shù)據(jù),這些數(shù)據(jù)甚至會小于GDDR5每次預取的最低數(shù)據(jù)。如果采用固定的預取值的設(shè)計方法,即每次無論數(shù)據(jù)大?。ㄉ踔潦褂每瘴唬┒家欢ㄒ耆紦?jù)傳輸總線,無疑會耗費很多能量。因此,GDDR5允許小于預取數(shù)量的數(shù)據(jù)傳輸,即采用低預取方式。這種靈活的設(shè)計,讓GDDR5在傳輸大量小數(shù)據(jù)量運作時,功耗有明顯的降低。 GDDR5的折疊模式 大多數(shù)的單顆GDDR顯存位寬均為32bit,GPU如果是128bit的顯存位寬,就需要4顆顯存就可以使位寬相互匹配。但如果顯卡要使用8顆顯存形成更大容量的話,就需要相應的GPU顯存控制器支持雙BANK讀寫才可完成,靈活度不夠高。而GDDR5顯存內(nèi)置雙數(shù)據(jù)總線,32bit的顯存可以輕松拆分為16bit顆粒使用,不需要GPU的額外支持也可以使顯存容量翻倍。這種設(shè)計簡化了GPU的顯存控制器,增加了用戶選擇的自由度。 糾錯+校驗,完美保傳輸—Error compensation誤差補償技術(shù) 由于電磁環(huán)境或者傳輸中溫度、電壓等復雜因素的影響,顯存在數(shù)據(jù)傳輸和存儲過程中可能會產(chǎn)生少量的錯誤——一個簡單的顯存數(shù)據(jù)錯誤除了導致渲染失敗以外,還可能導致顯卡徹底失去響應、藍屏和系統(tǒng)崩潰等嚴重問題。因此對錯誤數(shù)據(jù)的校驗和補償,成為GDDR5瞄準的又一個重要目標。 GDDR5的數(shù)據(jù)校驗采用了CRC(Cycle Redundancy Check循環(huán)冗余校驗)方式。CRC校驗是建立在GDDR5的DATA I/O和DBI的基礎(chǔ)上,如 果出現(xiàn)錯誤,則觸發(fā)數(shù)據(jù)傳輸總線,然后快速重新讀取數(shù)據(jù),或者利用如Data Mask(數(shù)據(jù)掩蔽)等功能修改數(shù)據(jù)并重新傳輸。這種校驗方式的優(yōu)勢在于能夠100%檢測出所有單、雙數(shù)據(jù)誤差。 Data Mask(數(shù)據(jù)掩蔽)是這樣一項技術(shù):GDDR5顯存在每次讀寫數(shù)據(jù)時,并不是改寫所有的數(shù)據(jù),大部分數(shù)據(jù)都不需要修改。因此GDDR5利用地址總線對一部分數(shù)據(jù)進行掩蔽,在下一次數(shù)據(jù)讀寫到來時,僅僅對沒有掩蔽的數(shù)據(jù)進行更改。這樣就能在最快的時間內(nèi)完成數(shù)據(jù)讀寫。 |
|
|
來自: 漫步之心情 > 《A芯工藝.控制★超算.soc》