當NVIDIA讓SLI復活時,我跟大部分的玩家一樣都很興奮,因為N年前曾用過Voodoo2 SLI,所以第一時間就敗了nForce4 SLI主機板和GeForce 6,結果第二張卡一直沒機會插上去。後來ATI也推出相同的串連技術CrossFire,因為工作關係,我有機會做一堆SLI/CrossFire的測試,但玩的越多,越覺得這些串連技術的行銷成份大於實用性,因為SLI/CrossFire的各種先天限制,以C/P值來說還是單卡比較好,也不會有一堆奇奇怪怪的靈異現象。SLI/CrossFire只有串連之後突破單卡最高效能時才有意義(比如8800GT以上做SLI),但那是用$$$堆出來的。

可是雙卡串連一直有爆點,可能對玩家來說,玩不到的東西就是最好的,而且廠商還可以拿來多賣幾張主機板。一些板卡廠更進一步,開始試做雙核心顯示卡,把SLI或CrossFire的兩張卡擠成一張,像技嘉3D1或NVIDIA的7950GX2,以前都是為了技術宣誓,我們問:「為什麼要做這種產品?」,「Because we CAN!」。

但現在不一樣了,我們已經到了不得不串連的時代,因為晶片製程改良的速度,已經遠跟不上GPU架構汰換的速度,單一高階晶片的成本越來越高。用兩顆中階晶片串成一張高階卡,比真正做一顆肥大的高階晶片來的簡單便宜,而且中階以上只剩一種晶片,可依市場需求做成高階或中階產品,庫存壓力也比較輕。



所以,ATI Radeon HD 3870 X2出現了,如型號所示,它就是3870 "乘二",由兩顆3870的晶片串連,自體CrossFire塞在一張PCB上,取代之前的2900XT成為新的高階卡,單一晶片的規格跟3870一樣,只有時脈不同,細部規格可參考之前的3800系列測試文章。3870 X2就產品和技術面來說它都是「一張」卡,可用在所有主機板上,晶片組不一定要支援CrossFire


一支之長!ATI Radeon HD 3870 X2


我借到的是微星R3870X2,這是ATI的公板,和以往高階卡只有公板的情況不同,3870 X2會有板卡廠自己的版本,和中階卡一樣可以自己超頻、換RAM、改電源或風扇設計。公板3870 X2的官方報價是美金449,差不多就是兩張3870合起來的價格,但這讓ATI的產品線又出現空洞了,7000元再上去就是14000,中間就讓NVIDIA獨佔了。



和8800GT放一起對照,3870 X2是10.2吋的長卡,跟8800GTX/Ultra一樣,要特殊的機殼才裝得進去,它也比一般主機板的寬度還長,加上雙插槽散熱器,可能會卡到某些主機板的SATA插槽。



3870 X2背面鎖上鋁片散熱,因為背面也有記憶體,全速執行遊戲時可以摸這鋁片來烤肉。



和2900XT一樣,3870 X2有8-pin和6-pin兩個電源接頭,因為卡上的兩顆晶片有一段距離,所以接頭也分開了。即使裝了兩顆GPU,但不管全速或待機,3870 X2耗電量都比GeForce 8800GTX低了30~40W左右,55nm製程和老舊的90nm相比還是有差的。



3870 X2拆下散熱器的正面,兩顆晶片並排,跟NVIDIA的雙晶片卡的作法不同,NVIDIA都是做成兩層樓,上下兩片PCB板中間用SLI金手指連起來。由照片可看到3870 X2只有一個CrossFire金手指,另一個已經混進PCB佈線中了,所以3870 X2最多也是兩張卡串連,4 GPU一起運作,不能連到4卡8 GPU。



3870 X2並不完全由兩顆3870晶片組成,官方代號是R680,但其實是超頻過(精選)的RV670,一樣是TSMC 55nm製程,原本3870的時脈是777MHz,但3870 X2上的晶片拉到825MHz!兩顆晶片中間的PEX 8547是PCI-Express Switch,底下會詳細說明。



3870 X2有兩套電源模組,分別給兩組晶片和記憶體,統一做在末端的話會離其中一顆太遠,所以另一套電源模組做到卡中間去了,不過兩組所用的零件是一樣的。PWM晶片是數位式的Volterra VT1165MF,搭配PA1312NL高頻電感和陶瓷電容(小顆褐色的),這部分是兩相供電給核心,另外還有一相是給記憶體。這樣的配置有兩套,每一套只有三相供電,事實上比3870還少,但因為PWM晶片和電感的頻率都是較高的1.5MHz或2MHz,因此不需要單晶片那麼多相電源。



3870 X2的背面,每顆晶片附有八顆記憶體,平均佈在正背面,不像3870統一放在正面。3870 X2的用了超多的12層PCB,要把兩張完整的顯示卡塞在這樣的面積上,用上12層也不奇怪了。



3870 X2用的記憶體是SAMSUNG K4J52324QE-BJ1A,這是單顆64MB、1GHz的GDDR3,ATI把頻率降到900MHz(有效1.8GHz),比3870的1126MHz記憶體時脈還低了200MHz。ATI自己也很清楚R6xx晶片核心時脈的影響比記憶體頻寬來的大,而且3870原本用的是0.8ns的GDDR4,根本只是提高爽度的奢侈裝備,用比較「正常」的1ns GDDR3可以有效降低成本,效能不會差多少,而且3870 X2有一半的記憶體是浪費掉的,當然要節省一點。



3870 X2的散熱器,兩顆晶片的接觸材質不一樣,比較靠近風扇那顆也許散熱效果比較好,所以只有做鋁底;也可能是機殼直立時,讓散熱器輕一點免得把卡折彎。散熱器是標準的雙插槽,只是比一般的長,鼓風扇把廢熱從擋板處吹出去,風扇本身還蠻安靜的,全速運作也不會很吵。



跟2900XT類似,鰭片的部分像整個銅塊,體積龐大,重量當然也不輕。


單卡雙晶片 CrossFire 串連
大部分人都認為SLI或CrossFire會讓所規格能都加倍,看到1GB的記憶體都快噴出來了,其實大部分規格真的都會Double,但目前串連技術的最大障礙就是記憶體,實體有1GB,可是真正能用的只有一半,在看3870 X2的實際效能前,先快速帶過SLI和CrossFire技術,這兩個其實很類似。

當兩張卡以SLI和CrossFire串連時,溝通的管道只有卡上面的串連專用金手指和下面的PCI-Express,相互溝通是為了分配工作和組合最後畫面。分攤的方式有前後交替畫面的AFR(主卡畫135,副卡畫246)、和分割畫面的SFR(主卡畫上面,副卡畫下面),而兩種模式的選用主要是以「傳輸的資料越少越好」,因為金手指或PCI-Express的頻寬太小了。

現在就算低階的顯示卡,晶片和記憶體之間的頻寬至少都有每秒20~30GB以上,3870單卡則有72GB/s,超高階卡根本就破百了。可是CrossFire金手指每一個介面只有12bits、183MHz,兩個加起來也不過區區549MB/s,SLI稍大一點,但也是1GB/s左右,就算加上PCI-Express "2.0"的「理論」頻寬16GB/s,也遠遠不如卡上的記憶體頻寬。所以為了讓晶片快速取得遊戲資料,所有東西都是兩邊記憶體各放一份,目前SLI/CrossFire下記憶體不會連成一大塊,3870 X2「真正」可用的還是只有512MB而已。



再回頭看3870 X2裸卡,兩顆GPU之間有兩條溝通管道,一條是混進PCB線路的CrossFire金手指,另一條則通過PEX 8547,這是PCI-Express Switch晶片。原本每個GPU有兩個CrossFire連接埠,3870 X2用掉一個做單卡自體CrossFire,卡上只剩一個再連接另一張3870 X2。理論上是可以再拉一個CrossFire連接埠做6~8 GPU串連,但我相信4 GPU就快把NVIDIA和ATI搞死了。



我把架構弄成色塊比較清楚,SLI和CrossFire串連時,兩顆晶片得同時用到串連金手指和PCI-Express來溝通,前者把畫面從副卡傳到主卡來輸出,後者傳共用資料和負載平衡的控制。PEX8547是個PCI-Express x48的三向交換器晶片,可拆成三條PCI-E x16通道,互接兩顆GPU,下接主機板的PCI-E插槽。如果沒有這顆晶片,兩顆GPU要互傳共用資料時就得先去主機板的北橋,再回到顯示卡上,有點脫褲子放屁的感覺。加了這顆晶片就能直接在顯示卡上以PCI-E通道互傳,而且相當於是雙PCI-Express x16的CrossFire。另外我自己猜,這晶片多少也有解開CrossFire限制的功能,驅動程式偵測到這顆晶片,就能讓3870 X2用在所有主機板上,不限定要支援CrossFire的ATI或Intel晶片組。




SLI/CrossFire要互傳什麼?

SLI/CrossFire金手指只有傳算好的畫面而已,兩組記憶體放兩份相同的資料,兩顆晶片各自運算然後組合畫面。有些時候則需要互傳其他資料,這時就靠PCI-Express,除了負載平衡的控制之外,最常見的就是共用「Render Target」。這是把3D場景畫好之後變成一張貼圖,再貼到場景裡的另一個地方。比如賽車遊戲常見的動態模糊,簡單的作法就是把前一張畫面和後一張混合模糊化,這時就要用SFR模式,讓兩張卡分開各自算前後的畫面,如果開AFR,就得不斷交替互傳前一張畫面。另一種Render Target則是遊戲裡的攝影機秀的畫面是另一個3D場景,這時就要開AFR讓一張卡獨立算一張畫面,因為開SFR的話,有可能攝影機在畫面下方,而3D場景卻是在上方。當然遊戲不會那麼好心只用一種Render Target,所以AFR/SFR的選用基準是以互傳資料較少,遊戲相容性高為主。



3870 X2的規格比較表



有好有壞的效能表現
雖然記憶體容量不能倍增,但串連之後幾乎所有性能都加倍,Shader、材質存取、ROP、記憶體頻寬等等,只要遊戲有相容,1+1一定比較快,問題是快多少。SLI和CrossFire的效能不可能是單晶片的兩倍,因為要傳輸畫面和資料,一定會有延遲,如果遊戲能相容,ATI會優先啟動效能最好的AFR模式,讓所有運算性能都加倍。即使如此,單晶片的1.9倍是出現神蹟,一般有1.5~1.7倍就謝天謝地了;如果遊戲不相容(會破圖或其他問題),那驅動程式可能會自動退回單晶片模式,直到驅動程式修正。



對遊戲和使用者來說,3870 X2就是一張卡而已,驅動程式不能調整CrossFire的模式,完全交給驅動程式去決定。事實上,3870 X2連CrossFire的選項都沒出現,裝完就自動串連了。


原本3870的效能就不錯,ATI又拉高3870 X2的核心時脈,抵銷掉串連的損失,3870 X2照理說應該會蠻讚,只要驅動程式夠成熟的話。既然是高階卡,我們拿NVIDIA目前最高階的GeForce 8800GTX做對照(8800Ultra的C/P過低,不列入考慮),但別忘了NVIDIA在三月的CeBIT前後會有新的9800GX2,跟3870 X2完全一樣的雙核心高階卡。


測試平台
CPUIntel Core 2 Quad Q6600 @3.2GHz
主機板MSI P35 Platinum
記憶體Patriot PDC22G9200ELK(DDR2-1033 5-5-5-16) 1GB x2
硬碟Seagate 250GB 16MB Buffer
螢幕BenQ 241W(原生解析度1920x1200)
電源供應器七盟 1000W
作業系統Windows XP Professional
Windows Vista Ultimate
驅動程式NVIDIA Forceware 169.28
ATI Catalyst 8.451.3



DX9測試數據

DX9遊戲的材質量大多在512MB以下,3870 X2可以完整發揮,幾乎一面倒完勝8800GTX,在所有遊戲下開到1920x1200 8x AA都還60、70以上的張數,如果有30" LCD,我相信開到2560x1600的超高解析度也不是問題。不過,Supreme Commander和UT3明顯有問題,UT3的效能不該這麼低,而Supreme Commander掉到甚至比3870單卡還低,應該是驅動程式未成熟。


DX10測試數據

DX10遊戲的資料量就很大了,而且ATI對DX10遊戲的最佳化仍然輸給NVIDIA,加上CrossFire的損失,3870 X2的D10效能就有點不穩定,如果遊戲畫質設定開太高、或是反鋸齒倍數較高時,8800GTX的768MB記憶體就有優勢了。比如World in Conflict在1920x1200特效全開加4x AA時,3870 X2就崩潰了,而8800GTX還能勉強維持30 fps;Crysis和COH也有類似的現象。但就「可以玩」的設定,而不是單純比數字大小的話,我認為3870 X2和8800GTX是同等級的。

驅動程式決定一切!
只是靈異現象還是少不了,首先是Lost Planet,這遊戲有兩段測試,3870 X2的Snow測試和8800GTX平起平坐,但Cave測試時就張數暴跌,那個數據明顯是CrossFire沒有啟動,自動退回到單晶片效能,實際進遊戲玩的張數也很低。Call of Juarez、UT3、Supreme Commander也都有效能過低的現象,我測的遊戲都是有名的大作,而且也都出一陣子了,連它們都會出事,其他較不知名、或新出的遊戲怎麼辦?

3870 X2的效能潛力高於8800GTX,ATI花了整整14個月、兩隻打一隻,終於跟上NVIDIA的水準,可是CrossFire的限制和驅動程式的不成熟,讓3870 X2的效能不像單晶片卡那麼穩定,最差的情況會掉到比3870還慢,一切都要等驅動程式修正,在我測試的一週裡,ATI就改了三版(最後一版截稿前兩小時才出,來不及測了)。總之,以高階卡來說,3870 X2賣美金449並不算貴,比現在的8800GTX還要便宜一些,遊戲相容的話效能也很猛,但想入手的人最好有心理準備,我遇到的問題可能只是冰山一角而已,就看ATI未來更新Driver的速度和誠意了。

後記:後來我趕在上稿前快速測了一下最新版,Call of Juarez已經修正(新數據:48.9),Lost Planet、Supreme Commander還是有問題。


過了一年多,ATI終於在"單卡"效能上贏過GeForce 8800GTX了,但這個寶座大概只能坐兩個月,NVIDIA 9800GX2快要出了。


雙核心顯示卡一定要這樣做?
NVIDIA之後的高階卡9800GX2也打算做單卡SLI,相容性或許會好一點,但絕不可能像單晶片卡那麼好。而為了衝更高效能,雙方都準備搞四GPU串連,四顆的情況更複雜,因為會遇到DirectX的瓶頸,不能同時有四張畫面佇列在後端準備輸出,也就是不能有純AFR的模式,只能有SFR、AFR中的SFR、SFR中的AFR(平衡模式請大家自行想像吧,用文字表達超像繞口令),效率會比雙晶片更低,相容性更難做。

多核心CPU的瓶頸是在軟體,而GPU的串連瓶頸除了軟體之外還有硬體,記憶體頻寬是最大的難題,直接導致現在記憶體容量的浪費,四GPU串連就有3/4都浪費了,即使記憶體不貴,但這也間接導致雙核心顯示卡都在比大比厚。我贊成顯示晶片走多核心,但一定要想個更好的解決方法,讓多顆晶片共用一組記憶體,不然以後雙核高階卡就得有價格、效能、遊戲相容等等限制。GeForce 9和Radeon HD 3000系列已經不用指望了,2009年再看看兩邊會不會有更好的idea吧!