概述
大家知道顯存頻寬=顯存頻率X顯存位寬/8,那么在顯存頻率相當的情況下,顯存位寬將決定顯存頻寬的大小。比如說同樣顯存頻率為500MHz的128位和256位顯存,那么它倆的顯存頻寬將分別為:128位=500MHz*128∕8=8GB/s,而256位=500MHz*256∕8=16GB/s,是128位的2倍,可見顯存位寬在顯存數據中的重要性。
顯示卡的顯存是由一塊塊的顯存晶片構成的,顯存總位寬同樣也是由顯存顆粒的位寬組成,顯存位寬=顯存顆粒位寬×顯存顆粒數。顯存顆粒上都帶有相關廠家的記憶體編號,可以去網上查找其編號,就能了解其位寬,再乘以顯存顆粒數,就能得到顯示卡的位寬。這是最為準確的方法,但施行起來較為麻煩。
作用
一直以來,硬體廠商們為了在硬體產品中賺取更多的利潤,除了加強產品包裝,增強商業宣傳等做法以外,在產品自身上下功夫,以種種手段壓低生產成本也是一個極其有效的手段,可惜這種手段最終往往會損害到消費者的利益。不過話說回來,雖然JS們花樣多多,但對於硬體產品而言,只要在技術上能夠透徹了解,就能以不便應萬變,最終選擇到物超所值的產品,而且這並不難。
今天先談談顯存,大家知道顯存是顯示卡里的重要部件,而顯存對於顯示卡的重要性絲毫不亞於顯示晶片。談到顯存,要說的話實在太多了,不過我們在這裡只是為了大家能夠簡單直觀地理解,買到自己滿意的顯示卡,而不是寫技術論文。
從原理上說,顯存就像一個倉庫,而顯示晶片就像工廠。這個倉庫既可以存放工廠的生產原料,也可以存放工廠生產的產品,因此工廠的製造速度有多快,一次能生產多少產品,和顯存有很大的關係。而從性能和成本上來說,顯存對整個顯示卡來說是僅次於顯示晶片的。
顯示晶片的價格一般取決於晶片製造商,目前也就有nVIDIA,ATi等少數幾家,晶片價格也都是公開的。這樣一來,顯示卡廠商在顯存方面壓低成本就顯得更容易一些。
事實上,除了顯存和晶片外,顯示卡上的一般電子元器件(如電容、電感)加在一起也很難超過顯示卡成本的5%,所以顯存是顯示卡廠商最容易動手腳的地方。對於顯示卡廠商而言,使用價格較低的顯存自然是最容易的方式,而為了達到這一目的可以有幾種手段:例如使用雜牌顯存顆粒,使用成本較低的封裝形式,使用納秒數較低的顯存,使用位數較低的顯存這幾個方面。而相對位數而言,是否雜牌,納秒數,封裝形式這幾點是比較容易鑑別的。
上圖從左到右就是目前DDR顯存顆粒所常用的三種封裝形式——TSOP,QFP和mBGA。而仔細看看,顯存的品牌和納秒數都印製在顆粒上面,例如第一個是現代5納秒,第二個是現代4納秒,第三個是三星3.6納秒,相信很容易理解。
上面提到過工廠和倉庫的概念,而連線工廠和倉庫之間還有一條“道路”,這就是顯存的數據頻寬,也就是顯存和晶片之間交換數據的速度。對於顯示卡而言,頻寬的計算公式是“顯存頻率*顯存位數總和/8”(以下簡稱頻寬公式)。例如一塊顯示卡採用了位數總和為128bit,5納秒的SDRAM顯存,顯存運行在200MHz的頻率上,那么它的數據頻寬就是200MHz*128bit/8=3200MB/秒=3.2GB/秒。假如顯示卡使用的是DDR顯存,那么還要在這個數值上乘以2,也就是頻寬=顯存頻率*顯存位數總和/8*2。
在這個公式中,顯存的頻率可以輕易用PowerStrip這樣的軟體測出來,一般大家也都清楚使用“1000/顯存納秒數”這個公式,算出顯存顆粒的額定運行頻率。而顯示卡是使用了SDRAM還是DDR,一般產品也都很明確的標示出來了,甚至經銷商也都知道,再說目前的主流顯示卡已是DDR占絕對主流。只是顯存的位數這一概念,目前還很少有人去注意,但是從頻寬公式可以看出,和顯存頻率一樣,顯存位數也能直接影響顯存的數據頻寬值。
其實顯存的位數這一點非常重要,雖然目前大多數人還是不太清楚這一概念。縱觀市場,現在很多廠商看到消費者對於品牌意識的提高,已逐漸減少使用雜牌和低納秒數顯存,而是更多的在顯存位數上下文章,其中用的最多的手段便是降低顯存位數總和。
對於千元以下的主流顯示卡而言,通常一塊顯示卡的顯存位數總和=單顆顯存顆粒的位數*顯存顆粒的數目。比如一塊顯示卡採用了4顆32bit的顯存,那么顯示卡的顯存位數總和就是128bit。顯存顆粒的位數可以通過顯存顆粒的編號查出來。
簡單點說,由於DDR已是目前主流,那就只說DDR顯存:一般來說,mBGA和QFP封裝的顆粒是32bit/顆的,而TSOP封裝的顆粒是16bit/顆的,所以一塊顯示卡假如採用了四顆mBGA或者QFP顆粒,那么它的位數總合就是128bit,假如採用了八顆TSOP顆粒,那么位數總和也是128bit。假如顯示卡只採用了四顆TSOP顆粒,那么位數總合就只有64bit了。當然這個辦法只適用於絕大部分主流產品,在某些產品上還是有例外,比如GF4 Ti4600雖採用了8顆mBGA顆粒,但位數總和還是128bit而並非256bit.
拿到一塊顯示卡,首先了解它採用的顯存是DDR還是SDRAM,然後看一下顯存顆粒的納秒數,得出額定運行頻率,最後用上面的方法查出顯示卡的位數總和,這樣藉助頻寬公式就能很容易地計算出頻寬大小了。與其它晶片相同的顯示卡對比,即使沒有插在電腦上測試,其基本性能處於什麼樣的水準也大致上有數了。
舉個例子,例如標準的GF4 Ti4200顯示卡使用了8顆TSOP封裝DDR顆粒,正反各4顆,這樣位數總和就是128bit。廠商要想降低成本,使用的比較難以辨別的方式大致有兩種:首先是只採用4顆TSOP顆粒,而每顆的容量翻倍,這樣顯存總容量保持不變,而且也是DDR,納秒數也可以不變,但是位數就只有64bit了,它的頻寬只有以前的一半。另外還有一個辦法就是把DDR改為SDRAM,保持容量,納秒數和位數總合不變,但是通過頻寬公式可以知道,即使這樣頻寬也依然只有以前的一半。頻寬減半帶來的結果是什麼呢?在晶片完全相同的情況下,速度性能至少會損失30-40%。
不必擔心啊,只要正確掌握了識別方式,還是很容易避免這種情況的。順便給出一個列表,上面列出了目前市面上大部分使用128bit DDR顯存作為標準配置的顯示晶片,假如你現低於這一標準,那可就要當心了。
對顯示卡的影響
一、顯存位寬的種類
顯存位寬是顯存在一個時鐘周期內所能傳送數據的位數,位數越大則瞬間所能傳輸的數據量越大,這是顯存的重要參數之一。目前市場上的顯存位寬主要有64位、128位和256位三種,人們習慣上叫的64位顯示卡、128位顯示卡和256位顯示卡就是指其相應的顯存位寬。一般來說,品牌顯示卡會在產品包裝盒或顯示卡的PCB上標明顯存位寬大小(圖1),而一些小廠商為了矇騙用戶,在顯存位寬甚至不會做任何說明。顯存位寬越大,性能越好,當然價格也就越高,因此256位寬的顯存更多套用於高端顯示卡,而主流顯示卡基本都採用128位顯存,目前市面上的大多數低端顯示卡都採用64位顯存。
二、判別顯存位寬的方法
提出顯存位寬這個概念時,也許每個人都會想到同樣一個問題,那就是我們如何判別顯示卡的顯存位寬大小呢?我們知道,顯示卡的顯存是由一塊塊的顯存晶片構成的,顯存總位寬同樣也是由顯存顆粒的位寬組成。按照這樣一個公式可以知道:顯存位寬=顯存顆粒位寬×顯存顆粒數。顯存顆粒上都帶有相關廠家的記憶體編號,可以去網上查找其編號,就能了解其位寬,再乘以顯存顆粒數,就能得到顯示卡的位寬,比如筆者的FX5200顯示卡採用的是8顆TSOP封裝顆粒,其編號為HY5DV281622DT-36,查閱產品說明書得知顯存顆粒位寬為16bit規格,那么我們可以知道該顯示卡的位寬應該是16bit×8=128bit。這是最為準確的計算方法,但該方法施行起來較為麻煩。下面教大家一個較為簡便的方法。
眾所周知,目前顯存的封裝形式主要有TSOP和BGA兩種,一般情況下BGA封裝的顯存是32位/顆,而TSOP封裝的顆粒是16位/顆。如果顯示卡採用了四顆BGA封裝的顯存,那么它的位寬是128位,而如果是八顆TSOP封裝顆粒,那么位寬也是128位。如圖2的顯存採用了Hynix的-3.6ns的BGA封裝顆粒,該顯示卡一共有8顆BGA封裝顆粒,說明該顯示卡的位寬為256位。而圖3的顯存則採用了TSOP封裝的三星-4.0ns顆粒,該顯示卡一共有8顆TSOP封裝顆粒,說明該顯示卡的位寬為128位。當然,這只是一般情況下的識別技巧,不一定符合所有的情況,要做到最為準確的判斷,還是採用上面提到的計算公式比較準。其實,我們也間接的從圖2和圖3的對比中了解到了TSOP封裝與BGA封裝的大致區別!
三、位寬決定頻寬大小
無論顯存怎么改變,出發點都是因為對頻寬的不斷渴求,顯存頻寬一直是顯示卡一個很難攻破的瓶徑所在,顯存位寬在另一個方面決定了顯存頻寬的性能,顯存頻寬是指圖形晶片與顯存之間一次可讀入的數據傳輸量,它是決定顯示卡性能和速度的主要因素,其計算公式為:顯存頻寬=工作頻率×顯存位寬/8。以Radeon 9600和Radeon 9600SE為例,二者的顯存頻率都為400MHZ,Radeon 9600的位寬為128Bit,其頻寬就為400×128/8=6.4G/s,而Radeon 9600SE的位寬只有64Bit,其頻寬也只有400×64/8=3.2G/s。從這裡我們很清楚的看到,顯存位寬對顯存的頻寬起著舉足輕重的作用,因為在相同頻率下,64位顯存的頻寬只有128位顯存的一半(理論上,相同頻率下的64位顯示卡性能只有128位顯示卡的一半),當遇到大量像素渲染工作時,因為顯存位寬的限制會造成顯存頻寬的不足,最直接的後果就是導致傳輸數據的擁塞,速度明顯下降,這也就是為什麼Radeon 9600SE的性能無法與Radeon 9600相提並論的原因,所以大家在選擇顯示卡的時務必要關注顯存位寬的大小。
四、透視顯存位寬的成本
大家稍加注意就會發現,市場上相同型號的產品,有的採用了128BIT顯存位寬,而有的顯存位寬卻只有64BIT,為什麼會出現這樣的情況呢?一般來說,名牌顯示卡製造商會按照顯示晶片製造商的規定,採用符合規格的顯存顆粒來生產顯示卡,但有的廠家為了賺取30~40元的差額,在製造顯示卡時不按照廠家的規定,偷工減料採用低於規定的顯存顆粒製造顯示卡,並美其名曰“為了廣大客戶的利益降價出售”,這樣的顯示卡成本低,售價也會相對低一些,但是性能下降的差距太明顯,普通消費者不了解其中的內幕,一味選擇所謂的“高性價比”產品,拿到偷工減料之作還以為占了廠商的便宜,沒想到卻中了商家的圈套,買到的產品往往是低價低性能的代表。
以NVIDIA的MX4000顯示卡為例,MX4000市場上有64BIT和128BIT的兩個版本,但廠商還是主推64BIT的這個版本,原因很簡單,MX4000可依託16Mb×16bit顆粒低廉的價格去生產,比如一片採用8顆4Mb×16bit顯存顆粒,要生產一塊64MB的MX4000顯示卡,它的顯存價格成本在14.4美元左右(假如按單顆1.8美元計算)。而換成4顆16MB×16bit顯存,顯存容量翻番而達到了128MB,但成本卻只增加了1.2美元。因此,鑒於成本的考慮,廠家可以用4顆16MX16bit的晶片生產出128M顯存的MX4000,或者4顆8MX16bit的晶片生產64M顯存的MX4000,但其顯存位寬都只有64bit,對性能影響很大,同時以128MB甚至256MB的顯存容量來作為其賣點。但如此一來,雖然可以提升顯存容量,但對於性能會帶來很大影響。
五、顯存頻寬在實際套用的表現
為了說明顯存位寬起到重要作用,我們做了一個這樣的對比測試(圖4),從測試數據表現來看,128bit顯存的FX 5200和9600標準版,都分別大幅領先於顯存位寬縮水的64bit顯存FX 5200和9600SE。而雖然核心架構先進,但Radeon 9600 SE的DirectX 8性能仍然遠低於Radeon 9200標準版,這更顯得顯存位寬的重要性。
我們還可以注意到,128bit顯存的顯示卡性能並沒有達到64bit顯存的顯示卡的兩倍,這是為什麼呢?其實這裡還要牽扯到另外一個位寬——系統匯流排位寬(Bus Width)的因素,因為無論顯示卡的顯存位寬為多少,其系統匯流排位寬也只為32bit,也就是說無論顯示卡的內部是以何種速度在運行,它實際上都是連線在一條32bit的主幹道上。因此128bit顯存位寬的顯示卡性能也就沒有像理論上那樣達到64bit顯存位寬顯示卡的兩倍,但是基本上依然有30%以上的性能差距。所以在價錢允許的情況下,顯存位寬當然是越高越好,選擇一塊高顯存位寬的顯示卡也就成了必然的事了。