【IT168評測室】最近,假如你仔細(xì)的觀察PC領(lǐng)域發(fā)生的變化,你就會(huì)注意的一個(gè)新鮮的術(shù)語“DDR2”頻頻出現(xiàn)。顧名思義,DDR2就是第二代雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,這個(gè)名字聽上去很拗口,實(shí)際上我們只要知道它的縮寫是DDR SDRAM就行了。就目前的發(fā)展看來,DDR2絕對不是紙上談兵,它的平臺(tái)已經(jīng)準(zhǔn)備好了,不出意外的話,Intel七月份就會(huì)發(fā)布支持DDR2的芯片組925X和915。明年,DDR2就會(huì)成為PC上普遍使用,甚至是主流的內(nèi)存類型。
因此,我們應(yīng)該了解DDR2和它的前一代產(chǎn)品有什么區(qū)別,它有什么優(yōu)勢和不足之處。換句話說,我們試圖去領(lǐng)會(huì),工業(yè)界為什么需要引入這種新的內(nèi)存類型。
當(dāng)前的處理器主頻和I/O帶寬都很高,需要內(nèi)存提供很高的數(shù)據(jù)傳輸率來配合。要知道內(nèi)存帶寬至少要和前端總線帶寬同步,這樣才不至于影響處理器性能的發(fā)揮。而且處理器的速度提升還在不斷的進(jìn)行中,內(nèi)存需要每秒鐘提供更多的數(shù)據(jù)來滿足處理器的要求。目前的內(nèi)存速度提升已經(jīng)相當(dāng)困難,這時(shí)候轉(zhuǎn)變到DDR2不失為合理的時(shí)機(jī),它提供了一條提高內(nèi)存帶寬的康莊之道,可以緩解當(dāng)前遇到的很多問題。
提高內(nèi)存性能的兩個(gè)途徑
內(nèi)存的性能通過下面的公式來計(jì)算:
速度=位寬×頻率
速度用來表示內(nèi)存的性能(MB/s),位寬是指內(nèi)存總線的寬度(bit),頻率當(dāng)然就是指數(shù)據(jù)傳輸?shù)念l率,注意,這里說的是數(shù)據(jù)傳輸?shù)念l率,而不是內(nèi)存的工作頻率,在DDR時(shí)代,數(shù)據(jù)傳輸頻率是內(nèi)存工作頻率的二倍。
因此,提高性能有兩種方式,增加內(nèi)存總線的位寬或者是提高內(nèi)存工作的頻率。好的,讓我們來看看內(nèi)存如今的狀態(tài)是怎么樣。
雖然內(nèi)存發(fā)展出很多的類型,但是它們都是基于原始的DRAM單元,實(shí)際上,它是一個(gè)晶體管和一個(gè)電容的結(jié)合體,很簡單但也很高效。有很多嘗試希望丟棄這種陣舊的以晶體管為基礎(chǔ)的存儲(chǔ)方式,出現(xiàn)了一些新的存儲(chǔ)技術(shù),如MRAM(Magnetoresistive RAM),F(xiàn)RAM (Ferroelectric RAM)等,但是它們都沒有獲得足夠的成功。沒有其它內(nèi)存類型能夠提供一個(gè)和DRAM相似的,結(jié)合了容量,價(jià)格和速度的解決方案。
當(dāng)然還有很多快速的基本單元結(jié)構(gòu),象靜態(tài)內(nèi)存(SRAM),它不象動(dòng)態(tài)內(nèi)存那樣需要刷新(預(yù)充電),但是它的每個(gè)存儲(chǔ)單元耗用了大量的晶體管,它太貴太大了,因此內(nèi)存芯片不能夠達(dá)到足夠大的容量,還有一些廉價(jià)的解決方案,但是它們的性能無法用于PC的主內(nèi)存系統(tǒng)。
換句話說,基本的DRAM架構(gòu)仍然是現(xiàn)代內(nèi)存類型的基礎(chǔ),因此,所有的現(xiàn)代內(nèi)存類型都繼承了DRAM的優(yōu)點(diǎn)和缺點(diǎn):它需要刷新(預(yù)充電,不然隨著漏電,DRAM中的數(shù)據(jù)會(huì)消失),以及有操作頻率的上限(這也是用電容充電來存儲(chǔ)數(shù)據(jù)的弊病)。來談?wù)勛詈蟮膮?shù),你能夠注意到時(shí)鐘頻率是很長時(shí)間以來DRAM唯一改變的地方。當(dāng)PC的其它子系統(tǒng)變得越來越快時(shí),只有經(jīng)典的內(nèi)存單元組織結(jié)構(gòu)很難提高它的時(shí)鐘頻率。實(shí)際上,時(shí)鐘頻率的提升完全要?dú)w功于半導(dǎo)體工藝的進(jìn)步,DRAM的結(jié)構(gòu)沒對頻率提升做出貢獻(xiàn)。
今天,只有那些特別挑選的內(nèi)存存儲(chǔ)陣列的工作頻率能達(dá)到275MHz(如Hynix發(fā)布的DDR550),這些都是成本高昂的產(chǎn)品,無法達(dá)到大批量生產(chǎn)。需要注意的是內(nèi)存存儲(chǔ)陣列的頻率是無法達(dá)到550MHz的,這里說的是內(nèi)存的傳輸速度。
因此,我們只剩下一條路,那就是增加內(nèi)存總線的寬度,但是,這個(gè)方法受到了很多限制:今天,標(biāo)準(zhǔn)平臺(tái)使用雙通道128bit內(nèi)存總線,它的設(shè)計(jì),布線已經(jīng)比原來64位內(nèi)存通道的主板復(fù)雜了很多,幾乎很難在合理的成本下再提高內(nèi)存總線位數(shù)。繼續(xù)增加總線寬度,不但成本高昂,而且?guī)淼碾姶鸥蓴_會(huì)造成極大的負(fù)面影響。
看來,我們給自己制造了一個(gè)死鎖,內(nèi)存單元無法提高頻率,內(nèi)存總線位寬也不能輕易增加,我們該何去何從?
DDR2內(nèi)存就是解決方案
SDRAM (Synchronous Dynamic Random-Access Memory)
首先,讓我們回憶一下已經(jīng)被放棄的SDRAM的工作原理,實(shí)際上,它內(nèi)部包括了許多存儲(chǔ)單元陣列,以及輸入/輸出緩存和電源/刷新電路,最后一個(gè)單元(電源/刷新電路)和我們下面的描述沒有關(guān)系。它的三個(gè)子系統(tǒng)(存儲(chǔ)單元陣列,輸入/輸出緩存)都以相同的頻率工作,這就是它為什么稱為同步內(nèi)存的原因。舉例來說,一個(gè)100MHz,64位總線寬度的SDRAM,內(nèi)存的數(shù)據(jù)通過I/O緩存然后到達(dá)內(nèi)存控制器。這個(gè)內(nèi)存模組就是我們所熟知的PC100內(nèi)存,它的帶寬為800MB/s(100MHz×8 bytes或64 bits),每個(gè)時(shí)鐘周期傳輸一次數(shù)據(jù),它在時(shí)鐘的上升沿傳輸數(shù)據(jù)。
DDR (Double Data Rate SDRAM)
DDR之所以叫這個(gè)名字,是因?yàn)樗軌蛞韵嗤l率SDRAM的兩倍來傳輸數(shù)據(jù),也就是說,每時(shí)鐘周期傳輸兩次數(shù)據(jù),它在時(shí)鐘信號(hào)的上升沿和下降沿傳輸數(shù)據(jù)。但是加倍的數(shù)據(jù)從何而來,設(shè)計(jì)人員使用了一個(gè)小小的詭計(jì):內(nèi)存的存儲(chǔ)單元工作在相同的時(shí)鐘頻率下,但是內(nèi)部總線加寬,以這種方式推進(jìn)內(nèi)存模組的速度。換句話說,從內(nèi)部陣列到緩存之間的總線寬度是外部總線(buffer到控制器)的兩倍,結(jié)果就使得緩存到控制器的數(shù)據(jù)傳輸率達(dá)到內(nèi)部存儲(chǔ)單元工作頻率的兩倍。也就是說,存儲(chǔ)單元使用一個(gè)很寬但較慢的總線,但是當(dāng)數(shù)據(jù)傳輸?shù)娇刂破鲿r(shí)使用了一個(gè)較窄但是快速的總線。
如果以實(shí)際的數(shù)字來衡量,SDRAM內(nèi)部的存儲(chǔ)陣列的總線是32位,工作頻率為100MHz,緩存到外部控制器的總線也是32位,工作頻率100MHz。這里數(shù)據(jù)流沒什么改變,內(nèi)部和外部總線寬度與頻率都沒有變化,SDRAM模組通過同步讀取兩顆芯片達(dá)到64位的帶寬。
DDR的情況有所不同,內(nèi)部的存儲(chǔ)陣列通過一條64位,100MHz的總線連接I/O緩存(或者叫信號(hào)放大器),但是數(shù)據(jù)到內(nèi)存控制器需要兩次通過32位的總線。換句話說,每時(shí)鐘周期傳輸兩次數(shù)據(jù),分別通過時(shí)鐘的上升沿和下降沿傳輸信號(hào)。結(jié)果就是,數(shù)據(jù)傳輸率是內(nèi)部存儲(chǔ)陣列頻率的兩倍。我們可以描繪一個(gè)明顯的場景:數(shù)據(jù)流慢慢通過寬的管道,然后進(jìn)入一個(gè)狹窄的管道,但是流動(dòng)的速度更快。DDR內(nèi)存模組也是64位,模組上的兩顆芯片同步讀寫。
這樣的內(nèi)存被稱為DDR200(通過數(shù)據(jù)傳輸率來命名)或者稱為PC1600。實(shí)際上,內(nèi)部的DRAM存儲(chǔ)單元在DDR266內(nèi)存中的工作頻率是133MHz,在DDR333中,存儲(chǔ)陣列的工作頻率是166MHz,DDR400中的存儲(chǔ)陣列工作頻率是200MHz,目前最快的DDR SDRAM的頻率(這里不包括那些超頻的內(nèi)存)達(dá)到了550MHz,它的內(nèi)部陣列工作頻率達(dá)到275MHz,這個(gè)頻率已經(jīng)很難再繼續(xù)提高。此時(shí),就需要一個(gè)新的內(nèi)存標(biāo)準(zhǔn)可以在今后一段時(shí)間內(nèi)保證內(nèi)存頻率和性能可以穩(wěn)定的提高。
DDR2
通過上面對DDR SDRAM的講解,DDR2的特性就很容易理解了,和DDR一樣,它的內(nèi)部存儲(chǔ)陣列到I/O緩存之間通過一條寬敞的64位,100MHz總線,但是數(shù)據(jù)從緩存?zhèn)鬏數(shù)酵獠靠刂破魍ㄟ^一條快速而狹窄的總線(16位,200MHz),外部總線仍然使用雙倍傳輸數(shù)據(jù)的策略,我們得到的數(shù)據(jù)傳輸率為400MHz。因此,64位模組需要同時(shí)使用4個(gè)段(banks)。這個(gè)內(nèi)存模組被稱為DDR2-400,它的標(biāo)記方法和DDR內(nèi)存相同,都是以內(nèi)存的數(shù)據(jù)傳輸率來標(biāo)識(shí)。
圖為各種內(nèi)存工作原理對比圖
因此,以同樣100MHz頻率工作的DRAM存儲(chǔ)單元,我們使用不同的內(nèi)存模組寬度,得到不同的內(nèi)存帶寬,SDRAM是800MB/s,DDR SDRAM是1600MB/s,DDR2 SDRAM則達(dá)到了3200MB/s的數(shù)據(jù)傳輸率!感謝多路復(fù)用技術(shù),內(nèi)存模組通過同時(shí)使用低速的內(nèi)存陣列可以達(dá)到高帶寬,哈哈,這不就是我們期盼的解決之道嗎。
下面會(huì)詳細(xì)解析DDR2的多路復(fù)用技術(shù),實(shí)際上就是prefetch(數(shù)據(jù)預(yù)取技術(shù))
4-bit prefetch DDR 2提高帶寬的關(guān)鍵技術(shù)
現(xiàn)在的DRAM內(nèi)部都采用4個(gè)bank的結(jié)構(gòu),每個(gè)bank由存儲(chǔ)單元(cell)隊(duì)列構(gòu)成,存儲(chǔ)單元隊(duì)列通過行(row)和列(column)地址定位。讓我們看看基本的內(nèi)存讀操作的工作流程:首先是命令和地址信息輸入,經(jīng)過地址解碼器分解成bank(段)和Word(字)選擇,Word選擇就是行選擇,之后是對存儲(chǔ)單元進(jìn)行再存儲(chǔ)(Restore)和預(yù)充電(Precharge)。然后是Column(列)選擇,到此為止存儲(chǔ)單元(cell)已經(jīng)被定位。存儲(chǔ)單元的數(shù)據(jù)被輸出到內(nèi)部數(shù)據(jù)總線(Internal Data Bus),最后通過輸出電路輸出數(shù)據(jù)。
從內(nèi)存的讀操作中可以了解到內(nèi)存工作的幾個(gè)瓶頸,它們分別是內(nèi)存單元的再存儲(chǔ)和預(yù)充電的延時(shí),這個(gè)延遲屬于bank內(nèi)部的延遲,由于DRAM結(jié)構(gòu)的限制這個(gè)延遲本身不太好解決。還有內(nèi)部數(shù)據(jù)總線(Internal Data Bus)的頻率限制,內(nèi)部數(shù)據(jù)總線是連接DRAM顆粒中4個(gè)bank的總線,最后一個(gè)DRAM的瓶頸是輸入/輸出電路的延遲。
圖為內(nèi)存數(shù)據(jù)傳輸機(jī)理
對于內(nèi)部數(shù)據(jù)總線頻率較低的瓶頸,可以通過使用Prefetch(數(shù)據(jù)預(yù)取)架構(gòu)來解決,舉例來說PC133 SDRAM采用了管線突發(fā)架構(gòu)(Pipeline)或者說是1bit Prefetch,因此它內(nèi)部數(shù)據(jù)總線的頻率是133MHz和數(shù)據(jù)輸出端的數(shù)據(jù)傳輸率是一樣的。DDR內(nèi)存采用了2bit Prefetch技術(shù),因此它輸出端的數(shù)據(jù)傳輸率是內(nèi)部數(shù)據(jù)總線頻率的2倍,以DDR400為例,它的內(nèi)部數(shù)據(jù)總線的頻率是200MHz,而輸出端的數(shù)據(jù)傳輸率達(dá)到了400MHz。
我們知道DRAM內(nèi)部存儲(chǔ)單元的頻率提高比較困難且成本較高,DDR333的核心頻率已經(jīng)達(dá)到了167MHz,為了解決外部數(shù)據(jù)傳輸率和核心速度之間的矛盾,DDR2采用了4bit Prefetch(數(shù)據(jù)預(yù)取架構(gòu)),因此DDR2 400的核心頻率僅為100MHz,DDR2 533的核心頻率為133MHz,因此DDR2很好的解決了DRAM核心頻率和外部數(shù)據(jù)傳輸頻率之間的問題。
從SDRAM開始,內(nèi)存就可以和時(shí)鐘同步,最初的SDRAM采用了管線架構(gòu)(Pipeline architecture),首先是地址信號(hào)(Add)和時(shí)鐘(CLK)同步,地址信號(hào)經(jīng)過譯碼選取內(nèi)存隊(duì)列中相應(yīng)的單元,內(nèi)存隊(duì)列中選中的數(shù)據(jù)通過內(nèi)部數(shù)據(jù)總線輸出到信號(hào)放大電路。SDRAM的信號(hào)輸出部分也是和時(shí)鐘信號(hào)同步的,這就好象一條連續(xù)的管線一樣。由于全部操作都和時(shí)鐘同步,因此也叫同步內(nèi)存。
DDR采用了2位預(yù)取(2-bit prefetch),也就是2:1的數(shù)據(jù)預(yù)取,2bit預(yù)取架構(gòu)允許內(nèi)部的隊(duì)列(column)工作頻率僅僅為外部數(shù)據(jù)傳輸頻率的一半。在SDRAM中數(shù)據(jù)傳輸率完全參考時(shí)鐘信號(hào),因此數(shù)據(jù)傳輸率和時(shí)鐘頻率一樣。DDR2采了4位預(yù)取(4-bit prefetch),這就是DDR2提高數(shù)據(jù)傳輸率的關(guān)鍵,可以在不提高內(nèi)部存儲(chǔ)陣列頻率的情況下提高數(shù)據(jù)輸出帶寬,未來的DDR3還有現(xiàn)在的RDRAM采用了8位數(shù)據(jù)預(yù)取。
相對于SDRAM,DDR擴(kuò)展了原來SDRAM的設(shè)計(jì)。由于2bit Prefetch架構(gòu)可以同存取兩個(gè)bank的數(shù)據(jù),使內(nèi)部數(shù)據(jù)總線的帶寬提高兩倍,因此在內(nèi)存的輸出端可以在時(shí)鐘信號(hào)的上升延和下降延傳輸數(shù)據(jù),DDR的數(shù)據(jù)傳輸率是實(shí)際工作頻率的兩倍。DDR2通過使用4-bit預(yù)取架構(gòu)來提高數(shù)據(jù)傳輸率,降低對內(nèi)部bank頻率的要求。采用4-bit prefetch架構(gòu)使DDR2僅能使用兩種數(shù)據(jù)突發(fā)傳輸長度(burst length),BL=4或BL=8。這個(gè)比較容易理解,因?yàn)镈DR2一次存取4bit數(shù)據(jù),所以數(shù)據(jù)突發(fā)長度也就成了4或8。
下面是DDR2和DDR主要思想的區(qū)別,實(shí)際上,這兩種內(nèi)存的差別不僅僅在帶寬上。
除了帶寬,這里還有一個(gè)重要的參數(shù)是延遲,就象我前面所說的,存儲(chǔ)單元不會(huì)一直處于可用狀態(tài),因此它們要進(jìn)行刷新操作。而且,即使存儲(chǔ)單元可用,也不可能立即得到它的內(nèi)存:這里還有其它類型的延遲,如設(shè)置行和列的地址,這此延遲都是不能避免的,它們由DRAM單元的本質(zhì)所決定。
讓我們看看會(huì)有那些延遲,例如內(nèi)存陣列工作的時(shí)鐘組合是2-2-2,如果內(nèi)存陣列在所有的方案中以相同的頻率工作,那么所有的模組都具有同樣的延遲(我是說PC100,DDR200,DDR2-400)。它們僅僅是帶寬的區(qū)別。順便提一下,2-2-2組合的含義是:CAS延遲,RAS到CAS的延遲和RAS預(yù)充電時(shí)間。第一個(gè)數(shù)字是取得列地址的延遲時(shí)間,第二個(gè)數(shù)字是行和列地址之間的延遲,第三個(gè)數(shù)字是存儲(chǔ)單元充電時(shí)間,預(yù)充電實(shí)際上是對行數(shù)據(jù)進(jìn)行讀操作。
但實(shí)際上,存儲(chǔ)單元不會(huì)工作在相同的頻率上,舉例來說PC133就是一個(gè)使用非常普遍的SDRAM,它的DRAM單元工作在133MHz上。因此,DDR200雖然有著比PC133更高的帶寬,但是它的相應(yīng)延遲卻更慢(內(nèi)部陣列的工作頻率僅100MHz),PC133的存儲(chǔ)單元的頻率要比DDR200存儲(chǔ)單元的頻率高33%。結(jié)果就是,DDR266才具有和PC133一樣的延遲上的優(yōu)勢。
今天我們也看到類似的情形,DDR200和DDR2-400具有相同的延遲,而后者具有高一倍的帶寬。實(shí)際上,DDR2-400和DDR400具有相同的帶寬,它們都是3.2GB/s,但是,DDR400的存儲(chǔ)陣列工作頻率是200MHz,而DDR2-400的存儲(chǔ)陣列工作頻率是100MHz,也就是說DDR2-400的延遲要高于DDR400。
讓我們來比較一下數(shù)字,以DDR400為例,我們通常設(shè)置2或者2.5個(gè)時(shí)鐘延遲,有時(shí)是3。也就是10到15納秒,對于DDR2-400,來計(jì)算一下它的延遲:核心工作在100MHz,具有2個(gè)時(shí)鐘延遲,它意味著20ns的延遲,接口部分占用4個(gè)時(shí)鐘延遲(不過接口工作的頻率更高),結(jié)果就是DDR2模組的延遲將會(huì)是4-4-4個(gè)時(shí)鐘周期,考慮到這里使用很低的核心頻率,我們希望看到未來DDR2-400具有3-3-3的特征,但是即使如此,DDR2-400也是輸給DDR400的。
情況看上去有些荒謬,DDR2雖然能提供更大的帶寬,具有潛在的優(yōu)勢,但是,DDR2初期的產(chǎn)品在性能上甚至落后于DDR。我們都知道,一樣產(chǎn)品需要有其優(yōu)勢才能吸引購買者,那DDR2還有那些優(yōu)勢呢。
速度之外
DDR內(nèi)存通常采用TSOP芯片封裝形式,這種封裝形式可以很好的工作在200MHz上,當(dāng)頻率更高時(shí),它過長的管腳就會(huì)產(chǎn)生很高的阻抗和寄生電容,這會(huì)影響它的穩(wěn)定性和頻率提升的難度。
這里就需要說到另一種封裝—BGA或者Ball Grid Array,它可以適應(yīng)更高的工作頻率,如在顯卡中已經(jīng)使用了大量用BGA封裝的高速顯存。這種封裝具有很低的阻抗和寄生電容,并且具有更小的幾何尺寸,允許更在效的散熱。DDR2內(nèi)存顆粒將采用BGA封裝。不過,天下沒有免費(fèi)的午餐,BGA封裝的成本要高于TSOP。
注意BGA封裝并不是DDR2內(nèi)存所獨(dú)有的,其實(shí)很早以前,Kingmax就已經(jīng)使用BGA封裝的DDR內(nèi)存,此外顯卡上也大量使用BGA封裝的顯存顆粒。BGA封裝可以工作在更高的時(shí)鐘頻率下。
封裝上的差別僅僅是DDR和DDR2諸多差異中的一項(xiàng),如果大家還記得信號(hào)終結(jié),我們知道在使用SCSI硬盤時(shí)也需要用到信號(hào)終結(jié)電路。簡單的說,高頻信號(hào)會(huì)在信號(hào)線的終點(diǎn)產(chǎn)生反射,這會(huì)影響信號(hào)品質(zhì),混淆有用的信號(hào)和反向信號(hào)。我們需要防止這種現(xiàn)象的發(fā)生,通過在電路終點(diǎn)使用終結(jié)電阻來減少信號(hào)反射,保證信號(hào)的完事性。
在使用DDR SDRAM的主板上都有幾百顆的信號(hào)終結(jié)電阻,只要你注意觀察DIMM插槽下方那些大量的電阻器,它們就是所謂的終結(jié)電阻,大量的終結(jié)電阻會(huì)增加主板的制造成本。DDR2把終結(jié)電路直接內(nèi)建在核心中,因此就不再需要主板上提供終結(jié)電路。實(shí)際上,不同的內(nèi)存模組對終結(jié)電路的要求是不一樣的,終結(jié)電阻的大小決定了數(shù)據(jù)線的信號(hào)比和反射率,終結(jié)電阻小則數(shù)據(jù)線信號(hào)反射低但是信噪比也較低;終結(jié)電阻高,則數(shù)據(jù)線的信噪比高,但是信號(hào)反射也會(huì)增加。因此主板上的終結(jié)電阻并不能非常好的匹配內(nèi)存模組,還會(huì)在一定程度上影響信號(hào)品質(zhì)。DDR2可以根據(jù)自已的特點(diǎn)內(nèi)建合適的終結(jié)電阻,這樣可以保證最佳的信號(hào)波形。使用DDR2不但可以降低主板成本,還得到了最佳的信號(hào)品質(zhì),這是DDR不能比擬的。
其它DDR2比DDR優(yōu)越的地方——發(fā)熱量,通常容量的DDR模組(256MB-512MB)的發(fā)熱量并不是很高,但是當(dāng)模組的容量增加時(shí),它的發(fā)熱量就體現(xiàn)出來了。舉例來說,安裝4GB內(nèi)存到插槽中,在峰值調(diào)用下內(nèi)存的發(fā)熱量將在35-40W之間,這是個(gè)不小的數(shù)字了。雖然這樣容量的內(nèi)存在今天并不常見,但是明天呢。因此,需要預(yù)先解決這個(gè)問題,減少發(fā)熱量最好就是使用新的內(nèi)存標(biāo)準(zhǔn)。而且內(nèi)存的工作頻率(往往發(fā)熱量是和工作頻率共同增長的)將會(huì)得到不斷的增加,因此我們也需要盡快解決發(fā)熱量的問題。
DDR2值得驕傲的地方,它的核心工作電壓僅為1.8V,而DDR的核心工作電壓在2.5-2.6V(高電壓意味著高發(fā)熱),因此,DDR2產(chǎn)生的熱量要小于DDR,估計(jì)可以減少30%。實(shí)際上,我們也注意到目前有許多DDR也工作在1.8V,但由于DDR模組規(guī)格要求2.5V工作電壓,因此它需要把2.5V的輸入電壓進(jìn)行轉(zhuǎn)換,這部分會(huì)變成熱量散發(fā),因此使用低電壓DDR也不能減少模組的發(fā)熱量。
圖為DDR內(nèi)存工作機(jī)理
DDR2增加了posted CAS命令,它改變了以前對SDRAM延遲的理解。我們知道在SDRAM和DDR SDRAM的操作過程中存在許多延遲,如RAS到CAS的(行選擇信號(hào)到列選擇信號(hào))的延遲tRCD(延遲也可稱為潛伏周期)。在200MHz的頻率下,tRCD延遲大約是20ns,這肯定會(huì)降低總線的利用效率。posted CAS命令通過使用附加延遲(additive latency)的概念來解決這個(gè)問題。簡單說,設(shè)定整個(gè)讀延遲為CAS延遲(CL)加上附加延遲,這樣做的好處是能夠使CAS命令緊接著RAS命令,tRCD被附加延遲取代。而DDR2的寫延遲為讀延遲周期減一個(gè)時(shí)鐘周期,DDR2通過增加地址和命令的FIFO(先入先出)寄存器來實(shí)現(xiàn)posted CAS,通過寄存器保存CAS命令和地址直到附加延遲結(jié)束。在DDR2段交錯(cuò)操作(bank-interleaving operation)時(shí)使用4bit突發(fā)模式來提高總線利用率。
其它改進(jìn)的地方,DDR2引入了一個(gè)被稱為Additive Latency(附加延遲)的技術(shù),理解這項(xiàng)技術(shù)我們需要知道真實(shí)的內(nèi)存操作環(huán)境,數(shù)據(jù)并不是隨時(shí)就能傳輸,甚至是在數(shù)據(jù)準(zhǔn)備好的情況下也不可以,因?yàn)樗€要受到內(nèi)存控制器狀態(tài)的限制。因此有時(shí)當(dāng)內(nèi)存控制器在讀取早先初如化好的段(bank)時(shí)并不能同時(shí)發(fā)送命令去初始化下一個(gè)內(nèi)存段(bank)。僅僅是因?yàn)檫@里兩個(gè)命令需要使用相同的總線來發(fā)送兩個(gè)不同級(jí)別的信號(hào),顯然這會(huì)造成沖突。因此它的結(jié)果就是造成了數(shù)據(jù)流中出現(xiàn)了泡泡(bubble,這里的意思就是數(shù)據(jù)流被打斷),這是由于組織結(jié)構(gòu)上的沖突。
DDR2引入了附加延遲(dditional latenc)去解決這個(gè)問題,它指向當(dāng)傳送自動(dòng)讀取下一個(gè)周期命令發(fā)生的沖突。因此,我們看到讀取數(shù)據(jù)延遲了一個(gè)時(shí)鐘周期,但是數(shù)據(jù)流中沒有泡泡(bubbles)了,提高了內(nèi)存子系統(tǒng)的效率。
下一個(gè)DDR2內(nèi)存中的分歧就是可變讀延遲(Variable Write Latency)的能力。DDR允許一個(gè)1T(一個(gè)時(shí)鐘周期)的寫延遲,而且這個(gè)時(shí)間規(guī)格是不能被改變的。到了DDR2,寫延遲依賴于讀延遲,而且等于讀延遲減一個(gè)時(shí)鐘周期,舉例來說,當(dāng)讀延遲是7個(gè)時(shí)鐘周期,寫延遲就是6個(gè)時(shí)鐘周期。這看上去比DDR的1個(gè)時(shí)鐘周期糟糕了許多,但實(shí)際上,它并沒有那么糟,因?yàn)樵贒DR中寫處理需要經(jīng)過一些特別的準(zhǔn)備,但是DDR2中就不需要了。因此,它們雖然有差別,但是就我看來,差別并不大。最后的結(jié)果是,DDR2的寫延遲要比DDR高三倍。
DDR2技術(shù)總結(jié)
讓我們來總結(jié)一下,DDR2內(nèi)存將使用240pin的模組,但是它的長度和現(xiàn)在184pin的DIMM一樣,也就是說DDR2模組的pin之間更加緊密了。模組的特性可以讓它適應(yīng)更高的工作頻率,而且,模組還能容納更高容量的內(nèi)存顆粒。DDR2模組的優(yōu)勢是明顯的,但也不能忽視它的缺點(diǎn):首先,它在相同時(shí)鐘速率接口上使用了更高的工作頻率,第二,寫延遲被增加了。第三,內(nèi)存的價(jià)格會(huì)更加昂貴,因?yàn)樵诜庋b上的成本增加了許多,DDR和DDR2的其它區(qū)別參見下表:
DDR
DDR-II
數(shù)據(jù)傳輸率
200/266/333/400 Mbps*
400/533/(667) Mbps*
總線頻率
100/133/166/200 MHz
200/266/(333) MHz
內(nèi)存頻率
100/133/166/200 MHz
100/133/(166) MHz
Batch reading size
2/4/8
4/8**
Data Strobe
Single DQS
Differential Strobe: DQS, /DQS***
CAS Latency
1.5, 2, 2.5
3+, 4, 5
Write Latency
1T
Read Latency-1
tRAS, tRCD, tRP, tRC ?
Author:
W1zzardDate: 2004-05-24 03:14:34
CAS Latency
The CAS latency is the delay, in clock cycles, between sending a READ command and the moment the first pice of data is available on the outputs.
tWR - Write Recovery Time:
tWR is the number of clock cycles taken between writing data and issuing the precharge command. tWR is necessary to guarantee that all data in the write buffer can be safely written to the memory core.
tRAS - Row Active Time:
tRAS is the number of clock cycles taken between a bank active command and issuing the precharge command.
tRC - Row Cycle Time:
The minimum time interval between successive ACTIVE commands to the same bank is defined by tRC.
tRC = tRAS + tRP
tRCD - Row Address to Column Address Delay:
tRCD is the number of clock cycles taken between the issuing of the active command and the read/write command. In this time the internal row signal settles enough for the charge sensor to amplify it.
tRP - Row Precharge Time:
tRP is the number of clock cycles taken between the issuing of the precharge command and the active command. In this time the sense amps charge and the bank is activated.
tRRD - Row Active to Row Active Delay:
The minimum time interval between successive ACTIVE commands to the different banks is defined by tRRD.
tCCD - Column Address to Column Address Delay
tRD - Active to Read Delay ?:
tWTR - Internal Write to Read Command Delay:
tWTR is the delay that has to be inserted after sending the last data from a write operation to the memory and issuing a read command.
tRDA - Read Delay Adjust
Memory timings are given as: CAS-tRCD-tRP
DDR2內(nèi)存詳解——從原理到測試
作為PC不可缺少的重要核心部件——內(nèi)存,它伴隨著DIY硬件走過了多年歷程。從286時(shí)代的30pin SIMM內(nèi)存、486時(shí)代的72pin SIMM 內(nèi)存,到Pentium時(shí)代的EDO DRAM內(nèi)存、PII時(shí)代的SDRAM內(nèi)存,到P4時(shí)代的DDR內(nèi)存和目前9X5、AM2平臺(tái)的DDR2內(nèi)存。內(nèi)存從規(guī)格、技術(shù)、總線帶寬等不斷更新?lián)Q代。不過我們有理由相信,內(nèi)存的更新?lián)Q代可謂萬變不離其宗,目的在于提高內(nèi)存的帶寬,以滿足CPU不斷攀升的帶寬要求、避免成為高速CPU的運(yùn)算瓶頸。
隨著CPU 性能不斷提高,我們對內(nèi)存性能的要求也逐步升級(jí)。不可否認(rèn),緊緊依靠高頻率提升帶寬的DDR已經(jīng)力不從心,因此JEDEC 組織提出了DDR2 標(biāo)準(zhǔn),加上LGA775接口的主板以及最新的965、AM2 940等新平臺(tái)全面對DDR2內(nèi)存的支持,所以DDR2內(nèi)存已經(jīng)步入了它的春天。。
DDR2(Double Data Rate 2) SDRAM是由JEDEC(電子設(shè)備工程聯(lián)合委員會(huì))進(jìn)行開發(fā)的新生代內(nèi)存技術(shù)標(biāo)準(zhǔn),它與上一代DDR內(nèi)存技術(shù)標(biāo)準(zhǔn)最大的不同就是,雖然同是采用了在時(shí)鐘的上升/下降中同時(shí)進(jìn)行數(shù)據(jù)傳輸?shù)幕痉绞?,但DDR2內(nèi)存卻擁有兩倍于上一代DDR內(nèi)存預(yù)讀取能力(即:4bit數(shù)據(jù)讀預(yù)?。?。換句話說,DDR2內(nèi)存每個(gè)時(shí)鐘能夠以4倍外部總線的速度讀/寫數(shù)據(jù),并且能夠以內(nèi)部控制總線4倍的速度運(yùn)行。
此外,由于DDR2標(biāo)準(zhǔn)規(guī)定所有DDR2內(nèi)存均采用FBGA封裝形式,而不同于目前廣泛應(yīng)用的TSOP/TSOP-II封裝形式,F(xiàn)BGA封裝可以提供了更為良好的電氣性能與散熱性,為DDR2內(nèi)存的穩(wěn)定工作與未來頻率的發(fā)展提供了堅(jiān)實(shí)的基礎(chǔ)。而在DDR參數(shù)基礎(chǔ)上加入了新的三項(xiàng)參數(shù)標(biāo)準(zhǔn)
我們首先來溫習(xí)一下DDR內(nèi)存參數(shù)標(biāo)準(zhǔn)
-------------------------------------------------------
(1)CAS(Column Address Strobe) Latency:列地址選通脈沖延遲時(shí)間,即DDR-RAM內(nèi)存接收到一條數(shù)據(jù)讀取指令后要延遲多少個(gè)時(shí)鐘周期才執(zhí)行該指令。這個(gè)參數(shù)越小,內(nèi)存的反應(yīng)速度越快,可以設(shè)置為2.0、2.5、3.0。
(2)Row-active delay(tRAS):內(nèi)存行地址選通延遲時(shí)間,供選擇的數(shù)值有1~15,數(shù)值越大越慢。
(3)RAS-to-CAS delay(tRCD):從內(nèi)存行地址轉(zhuǎn)到列地址的延遲時(shí)間。即從DDR-RAM行地址選通脈沖(RAS,Row Address Strobe)信號(hào)轉(zhuǎn)到列地址選通脈沖信號(hào)之間的延遲周期,也是從1~15可調(diào)節(jié),越大越慢。
(4)Row-precharge delay(tRP):內(nèi)存行地址選通脈沖信號(hào)預(yù)充電時(shí)間。調(diào)節(jié)在刷新DDR-RAM之前,行地址選通脈沖信號(hào)預(yù)充電所需要的時(shí)鐘周期,從1~7可調(diào),越大越慢。
(5)物理Bank:內(nèi)存與CPU之間的數(shù)據(jù)交換通過主板上的北橋芯片進(jìn)行,內(nèi)存總線的數(shù)據(jù)位寬等同于 CPU數(shù)據(jù)總線的位寬,這個(gè)位寬就稱之為物理Bank(Physical Bank,簡稱P-Bank)的位寬。以目前主流的DDR系統(tǒng)為例,CPU與內(nèi)存之間的接口位寬是64bit,也就意味著CPU在一個(gè)周期內(nèi)會(huì)向內(nèi)存發(fā)送或從內(nèi)存讀取64bit的數(shù)據(jù),那么這一個(gè)64bit的數(shù)據(jù)集合就是一個(gè)內(nèi)存條物理Bank。
(6)邏輯Bank :在芯片的內(nèi)部,內(nèi)存的數(shù)據(jù)是以位(bit)為單位寫入一張大的矩陣中,每個(gè)單元我們稱為CELL,只要指定一個(gè)行(Row),再指定一個(gè)列(Column),就可以準(zhǔn)確地定位到某個(gè)CELL,這就是內(nèi)存芯片尋址的基本原理。這個(gè)陣列我們就稱為內(nèi)存芯片的BANK,也稱之為邏輯 BANK(Logical BANK)。由于工藝上的原因,這個(gè)陣列不可能做得太大,所以一般內(nèi)存芯片中都是將內(nèi)存容量分成幾個(gè)陣列來制造,也就是說存在內(nèi)存芯片中存在多個(gè)邏輯 BANK,隨著芯片容量的不斷增加,邏輯BANK數(shù)量也在不斷增加,目前從32MB到1GB的芯片基本都是4個(gè),只有早期的16Mbit和32Mbit的芯片采用的還是2個(gè)邏輯BANK的設(shè)計(jì)。
(7)位寬和帶寬:內(nèi)存的位寬是指內(nèi)存在一個(gè)時(shí)鐘周期內(nèi)所能傳送數(shù)據(jù)的位數(shù),以bit為單位,位數(shù)越大則瞬間所能傳輸?shù)臄?shù)據(jù)量越大,這是內(nèi)存的重要參數(shù)之一。內(nèi)存的帶寬是指內(nèi)存在單位時(shí)間內(nèi)的數(shù)據(jù)傳輸速率。
(8)內(nèi)存頻率:是指在默認(rèn)情況下,內(nèi)存正常工作時(shí)的額定運(yùn)行頻率,以MHz(兆赫茲)為單位。顯存頻率與顯存時(shí)鐘周期是相關(guān)的,二者成倒數(shù)關(guān)系,也就是顯存頻率=1/顯存時(shí)鐘周期。因?yàn)镈DR-RAM在時(shí)鐘上升期和下降期都進(jìn)行數(shù)據(jù)傳輸,其一個(gè)周期傳輸兩次數(shù)據(jù),相當(dāng)于SDRAM頻率的二倍,所以習(xí)慣上稱呼的DDR頻率是其等效頻率,在其實(shí)際工作頻率上乘以2,就得到了等效頻率。因此所謂的PC3200內(nèi)存,是指工作頻率為200MHz,等效頻率為400MHz的DDR內(nèi)存,也就是常說的DDR400。
(9)內(nèi)存封裝:是指內(nèi)存顆粒所采用的封裝技術(shù)類型,封裝就是將內(nèi)存芯片包裹起來,以避免芯片與外界接觸,防止外界對芯片的損害??諝庵械碾s質(zhì)和不良?xì)怏w,乃至水蒸氣都會(huì)腐蝕芯片上的精密電路,進(jìn)而造成電學(xué)性能下降。不同的封裝技術(shù)在制造工序和工藝方面差異很大,封裝后對內(nèi)存芯片自身性能的發(fā)揮也起到至關(guān)重要的作用。顯存封裝形式主要有TSOP、TSOP-II、MBGA、FBGA等。
(10)SPD(Serial Presence Detect,串行存在檢測):SPD是一顆8針的EEPROM(Electrically Erasable Programmable ROM,電可擦寫可編程只讀存儲(chǔ)器)芯片。它一般位于內(nèi)存條正面的右側(cè)(如圖1),采用SOIC封裝形式,容量為256字節(jié)(Byte)。SPD芯片內(nèi)記錄了該內(nèi)存的許多重要信息,諸如內(nèi)存的芯片及模組廠商、工作頻率、工作電壓、速度、容量、電壓與行、列地址帶寬等參數(shù)。SPD信息一般都是在出廠前,由內(nèi)存模組制造商根據(jù)內(nèi)存芯片的實(shí)際性能寫入到ROM芯片中。
這十大定義是DDR的參數(shù)標(biāo)準(zhǔn),而DDR2則又加入了三項(xiàng)新標(biāo)準(zhǔn),
-------------------------------------------------------
1、OCD(Off-Chip Driver):也就是所謂的離線驅(qū)動(dòng)調(diào)整,DDR II通過OCD可以提高信號(hào)的完整性。DDR II通過調(diào)整上拉(pull-up)/下拉(pull-down)的電阻值使兩者電壓相等。使用OCD通過減少DQ-DQS的傾斜來提高信號(hào)的完整性;通過控制電壓來提高信號(hào)品質(zhì)。
2、ODT:ODT是內(nèi)建核心的終結(jié)電阻器。我們知道使用DDR SDRAM的主板上面為了防止數(shù)據(jù)線終端反射信號(hào)需要大量的終結(jié)電阻。它大大增加了主板的制造成本。實(shí)際上,不同的內(nèi)存模組對終結(jié)電路的要求是不一樣的,終結(jié)電阻的大小決定了數(shù)據(jù)線的信號(hào)比和反射率,終結(jié)電阻小則數(shù)據(jù)線信號(hào)反射低但是信噪比也較低;終結(jié)電阻高,則數(shù)據(jù)線的信噪比高,但是信號(hào)反射也會(huì)增加。因此主板上的終結(jié)電阻并不能非常好的匹配內(nèi)存模組,還會(huì)在一定程度上影響信號(hào)品質(zhì)。DDR2可以根據(jù)自已的特點(diǎn)內(nèi)建合適的終結(jié)電阻,這樣可以保證最佳的信號(hào)波形。使用DDR2不但可以降低主板成本,還得到了最佳的信號(hào)品質(zhì),這是DDR不能比擬的。
3、Post CAS:它是為了提高DDR II內(nèi)存的利用效率而設(shè)定的。在Post CAS操作中,CAS信號(hào)(讀寫/命令)能夠被插到RAS信號(hào)后面的一個(gè)時(shí)鐘周期,CAS命令可以在附加延遲(Additive Latency)后面保持有效。原來的tRCD(RAS到CAS和延遲)被AL(Additive Latency)所取代,AL可以在0,1,2,3,4中進(jìn)行設(shè)置。由于CAS信號(hào)放在了RAS信號(hào)后面一個(gè)時(shí)鐘周期,因此ACT和CAS信號(hào)永遠(yuǎn)也不會(huì)產(chǎn)生碰撞沖突。
那么究竟DDR2與DDR1有什么本質(zhì)區(qū)別呢?
-------------------------------------------------------
一、封裝:DDR內(nèi)存通常采用TSOP芯片封裝形式,這種封裝形式可以很好的工作在200MHz上,當(dāng)頻率更高時(shí),它過長的管腳就會(huì)產(chǎn)生很高的阻抗和寄生電容,這會(huì)影響它的穩(wěn)定性和頻率提升的難度。這也就是DDR的核心頻率很難突破275MHZ的原因。而DDR2內(nèi)存均采用FBGA封裝形式。不同于目前廣泛應(yīng)用的TSOP封裝形式,F(xiàn)BGA封裝提供了更好的電氣性能與散熱性,為DDR2內(nèi)存的穩(wěn)定工作與未來頻率的發(fā)展提供了良好的保障。
二、電壓:DDR2內(nèi)存采用1.8V電壓,相對于DDR標(biāo)準(zhǔn)的2.5V,降低了不少,從而提供了明顯的更小的功耗與更小的發(fā)熱量
小結(jié):DDR2采用了諸多的新技術(shù),改善了DDR的諸多不足,雖然它目前有成本高、延遲慢能諸多不足,但相信隨著技術(shù)的不斷提高和完善,這些問題終將得到解決。
DDR2測試:打鐵趁熱,我就用借來的扣肉整機(jī)教大家?guī)追N最平常測內(nèi)存的方法,美中不足,機(jī)器的主人在身邊虎視眈眈,根本沒機(jī)會(huì)超頻,真是有點(diǎn)心不甘,他用的是一條金特爾 DDR2 800 1G內(nèi)存,看過它的超頻測試,反映不錯(cuò),而它的做工也的確是很不錯(cuò)。不超也好,反正主要是介紹DDR2內(nèi)存知識(shí),以后有的是超頻機(jī)會(huì)。