Radeon HD 6870 Review
等了好久,終於等到AMD推出新產品,不過這次推出時已經較少提到過去常說的RV770、RV870之類的名稱,反而都開始稱呼核心代號,像是Barts、Cayman與Antilles等等。
像這次發布的Radeon HD 6800系列,就是依據Barts核心而來,它最大的特色就是很接近RV870的架構,只有在部分規格上做了些變化、改變了一些東西,但令人最感到疑惑的是,為什麼Radeon HD 6870與Radeon HD 6850在價格上卻是令人意外的低了許多?這不像是AMD過去推出高階顯示卡的價格!
以Radeon HD 6870的250元以內(美金)來說,這比過去Radeon HD 5870與Radeon HD 5850推出時的400、300元(美金)定價來說,是降低了不少,而Radeon HD 6850則是定位在200元左右。另外,有鑑於AMD這次的訂價策略,NVIDIA也很快反應自家的價格在GeForce GTX 470、GeForce GTC 460上,立即提出降價方案來到與Radeon HD 6800系列更接近的售價。
看了AMD對於Radeon HD 6800系列的定位圖之後,大家應該可以瞭解在效能方面Radeon HD 6800是稍低於Radeon HD 5800系列,所以千萬別以為在效能上,會因為型號的關係而有銜接,就筆者個人的看法,AMD現在做的一切,都是為了日後的鋪路。根據AMD的設計,Radeon HD 6850主要是與GeForce GTX 460來競爭,至於Radeon HD 6870以價位來說目前算是沒有「主要」競爭者,當然,除非NVIDIA把GeForce GTX 470大降價就有可能。
Radeon HD 6800系列之上,還有Radeon HD 6900系列,這採用的就是Cayman核心,不過,在核心架構上就與Barts有了更大不同,這點,屆時咱們再來好好討論,我們還是把主題放在Radeon HD 6800系列上吧。
Radeon 6870規格
時脈:900MHz
SP數量:1120
RAM:256 bit / 1GB GDDR5 / 4.2GHz
耗電量:151W/19W
Radeon 6850規格
時脈:775MHz
SP數量:960
RAM:256 bit / 1GB GDDR5 / 4GHz
耗電量:127W/19W
Stream Processor
在架構圖中可以看到兩大塊、佔去最大面積的執行單元,這就是Barts核心裡的Stream Processor(SP),左右兩邊各有七組SIMD,所以Radeon HD 6870一共有14組SIMD。
Barts architecture
在每一組的SIMD裡頭,有16個5D計算單元(VILW)所以14 X 16 X 5,Radeon HD 6870一共有1120個SP,另外,先前有人傳聞這次Radeon HD 6800系列會變成一次計算80個Pixel,但據筆者直接與AMD CTO當面詢問,目前的Barts仍然是一組SIMD在一個Cycle下可以計算16個Pixel,而Barts的SIMD需要每四個Cycle才能Issue一個新的指令(都是計算Pixel or Vertex或其他)。
所以16 Pixel X 4 Cycle = 64 Pixel,在Barts上仍然是一次計算64個Pixel,至於先前傳說的80個Pixel,應該是誤傳,不過,隨後要發表的Radeon HD 6900系列,其Cayman所採用的5D計算單元(VILW)將會改成4D計算單元(VILW),而這也是筆者較感興趣的地方。
要用來應付NVIDIA更高階顯示卡(GeForce GTX 580?)的產品──Antilles,AMD也揭露了初步藍圖,屆時可能推出雙核心版的Radeon HD 6990,但是是用Cayman或Barts核心目前就不得而知。
Ultra-Threaded Dispatch Processor
除了SIMD的數量上有些改變之外,在Ultra-Threaded Dispatch Processor也變成了兩組,這不是因為架構上這樣畫就這樣解釋,這是詢問AMD CTO後的最後答案。原本在RV870核心裡Ultra-Threaded Dispatch Processor就只有那麼一組,但這次Barts卻分成了兩組,筆者個人相信在指令分配上必定比前一代會有更高的反應效果。
Ultra-Threaded Dispatch Processor是做啥的?簡單解釋一下,它可以分派Thread給不同的運算、材質單元,而在運算的過程當中,一組SIMD只能執行同一組(同一類型)的Thread,當運算途中需要暫停,那麼Ultra-Thread Dispatch Processor可以把這組Core的Thread取出、暫存起來,然後再丟入另一組Thread進去計算,若前一組Thread所需要的資料已經送達時,那麼就會再把原有的Thread送回再進行未完成的計算,簡而言之,Ultra-Thread Dispatch Processor就是一個讓SP可以不斷運算的執行單元。
另外,在Ultra-Thread Dispatch Processor裡頭的Arbiter與Sequencer數量,目前還沒問到有多少個(其實是忘了問……XDa),那麼,Arbiter與Sequencer又是做什麼的呢?Arbiter是決定SIMD要執行那些Thread,而Sequencer則是要決定SIMD要執行的指令。
Instruction Cache與Constant Cache
GPU在運算時,有很多東西全都會預先載入顯示卡上的RAM裡,但是GPU在「每一次」運算時都要從RAM上讀寫,就會產生頻寬不足的情況,所以這時候在GPU裡就有了Cache,而在Ultra-Thread Dispatch Processor的下方,就有著Instruction Cache與Constant Cache,而Instruction Cache這個就是依照字面上的解釋存放指令之用,而Constant Cache則是用來儲存程式裡的一些值,例如:a = a + 3,這個3就是存在Constant Cache裡頭。
The other units
至於其它執行單元,在這裡簡單說明。Radeon HD 6870一共有14組的Texture Units,每一組裡仍然保持和前一代一樣有著四個材質定址、四個材質過濾以及16個材質取樣,所以14 x 4 = 56 個,這比前一代的Radeon HD 5850的72個還少了些。Render Back-Ends的部份,一樣保持著八組,所以還是128個Z/Stencil。
在每一組SIMD裡都有一個相對應的Local Data Share,其容量大小為32KB,主要用途就是讓每一個SIMD裡的Thread共用數據,這樣可有效減少Thread需要到系統記憶體去存取的延遲時間,大大加快SIMD裡的運算速度。而在正中央的Golbal Data Share則有64KB,主要的用途是給各個SIMD共享數據使用。
而Barts內部傳輸方式,很可能與前一代相同,SIMD與Render Back-Ends(簡稱為RBE)還是使用Crossbar,其餘的執行單元則是使用HUB來連結,像是PCI Express 2.1 Bus Interface、UVD 3、CrossFire X Compositor、Eyefinity Display Controllers以及四組記憶體控制器(但有8個32bit Interface,所以是 8 x 32 = 256 bit的記憶體頻寬)。
RV870 architecture
Die Size
至於Barts的Die Size大小只有255mm,比前一代的RV870還小了許多,但也因為是SIMD從20組變成了14組的原因,不過,這對於耗電量方面有相當大的幫助可以更為省電、廢熱也會更少,而且若要組成雙核心顯示卡時更好設計其相關的電源線路,再加上對準的目標是GeForce GTX 460(或降價的GTX 470),在晶片面積上因為較小,將可以帶來更多成本優勢,例如,Radeon HD 6850的255mm Die Size,硬是比GeForce GTX 460的320mm還要小了許多。
Gen 7 Tessellation
Tessellation它可將一般的物體「自動」細分出更多的多邊形,一旦3D物體擁有高度複雜的多邊形,就可以有著更加精細的外表,因此,Tessellation在「自動」產生這些多邊形之後,設計師就再也不必事前畫出那麼精細的外觀,還大大減少等待計算時間、以及電腦運行3D物體的延遲。
而我們都知道ATI是比較早開始發展Tessellation的廠商,從當初的Radeon HD 8500、Xbox 360與Radeon HD 2000~5000為止,一直都有著Tessellation的設計,而到了今天推出的Radeon HD 6800可說是來到了第七代,這當中的演進想必會帶來AMD對於Tessellation很多的思考,因此這一次AMD採取了一些變化。
AMD建議GPU在一個周期下處理16個Pixel就好,因為這些要處理的Pixel多半是以2 x 2 or 4 x 4為一個單位,而這個單位需要來自「同一個」三角面,但是如果一個三角面只有 1個Pixel,那麼在處理這些三角面時效率就會降低,雖然說在處理相素的時候理論上越小越好,但太小也有密度的問題。
簡單來講,一個Pixel被三角面蓋到,那麼就會去計算這個Pixel,但這是「沒有啟動」MSAA的情況,若是「啟動」MSAA,在一個Pixel就會有Sub sample出現,例如4x MSAA就會有四個Sub sample,而這一個Pixel若只有一個三角面蓋過,那麼就會只計算一次,但是,若這一個Pixel的四個Sub sample被兩個三角面蓋過,那麼就變成了2個Sub sample算一次、另外2個Sub sample又得要再算一次,在圖中看到紅色密度很高的模型,就是指說同一個Pixel會被計算太多次,尤其是啟動MSAA之後會更嚴重,而這一代的Tessellation就是為了提高效能做了些改變。
Morphological Anti-Aliasing
AMD從Radeon HD 6800系列推出之後,會在驅動程式裡新增加這個AA技術,而Morphological Anti-Aliasing其實也就是所謂的MLAA。這個就是說當已經產生完畫面之後,不進行Anti-Aliasing的動作,而會開始進行post processing,也就是對一定範圍內的Pixel開始觀察,若是這個範圍內有Aliasing(發現鋸齒),就會去把它與附近的顏色平均一下,像是太過銳利、將此範圍的Pixel平滑一下就可以達到不錯的效果,過去因為只有Pixel Shader,所以要來做這個Morphological Anti-Aliasing會比較麻煩,但是現在有了Compute shader,所以效率變的比較好才開始做。
當然啦,這次Radeon HD 6800推出時也具備其他許多種特色,像是多種螢幕輸出變的更有彈性、也變的更多樣化,像是兩組Mini DisplayPort、兩組DVI與可支援HDMI 1.4a的新規格,以及支援3D螢幕的技術等等,有興趣的人可以過陣子看看www.amd.com/hd3d這個網頁便可略知一二。
Radeon HD 6870正面
Radeon HD 6870背面
支援的種類真的不少咧~
還是得要兩組6 pin電源接頭
CrossFire橋接金手指
散熱器拆下
影像輸出埠的內部
這顆GPU還是工程版
忘了拍這張是要講什麼......XDa
Testing
講了那麼多廢話,那麼接下來還是得要看看Radeon HD 6870的效能了,不過,筆者根本借不到可以來與Radeon HD 6870一塊比較的顯示卡,不過這也很正常,每每新卡推出時,要拿來做被比較的另一方總是會冷處理……,不過,筆者還是借到了一張GeForce GTX 480來當做「基準」,是的!筆者瞭解這完全的不公平,一張Radeon HD 6870要價7690元,怎麼可能打的贏一張18000元的GeForce GTX 480呢?不過沒辦法,我真的借~不~到~,如果各位覺得太不公平了,就別再往下看下去了~
Platform
Motherboard:GA-EX58-DS4(Intel X58 + ICH10R Chipset)
Processor:Intel Core i7-920(8M Cache,2.66 GHz,4.80 GT/s QPI)
Memory:Kingston HyperX DDR3 1066 8-8-8-20 1T(KHX16000D3T1K3/3GX)
Hard Drive:OCZ Z-DRIVER 256GB
Power Supply:Silver Stone SST-ST1000
Display:SAMSUNG 2443BWX
OS:Windows 7 Ultimate(32bit)
在測試時的解析度全都是1920x1200,因為這是要符合筆者自己螢幕的需求所設定的,至於在測試時也沒發現到Radeon HD 6870有什麼問題,但比較有趣的是在幾個Benchmark裡的Average結果,在自己算一次Average的情況下,反而跟Benchmark裡的數據有些誤差;而在Crysis Warhead遊戲裡,Radeon HD 6870的最小fps不論跑幾次都是不到1fps,但是平均結果還算是滿正常的就沒有太注意了。
至於Radeon HD 6870與GeForce GTX 480的效能差距我們就不討論,畢竟這兩張顯示卡完全是不同等級的產品,只是筆者借不到其他顯示卡來做比較而已,最後,我們再接著等待使用Cayman核心的Radeon HD 6900吧!
等了好久,終於等到AMD推出新產品,不過這次推出時已經較少提到過去常說的RV770、RV870之類的名稱,反而都開始稱呼核心代號,像是Barts、Cayman與Antilles等等。
像這次發布的Radeon HD 6800系列,就是依據Barts核心而來,它最大的特色就是很接近RV870的架構,只有在部分規格上做了些變化、改變了一些東西,但令人最感到疑惑的是,為什麼Radeon HD 6870與Radeon HD 6850在價格上卻是令人意外的低了許多?這不像是AMD過去推出高階顯示卡的價格!
以Radeon HD 6870的250元以內(美金)來說,這比過去Radeon HD 5870與Radeon HD 5850推出時的400、300元(美金)定價來說,是降低了不少,而Radeon HD 6850則是定位在200元左右。另外,有鑑於AMD這次的訂價策略,NVIDIA也很快反應自家的價格在GeForce GTX 470、GeForce GTC 460上,立即提出降價方案來到與Radeon HD 6800系列更接近的售價。
看了AMD對於Radeon HD 6800系列的定位圖之後,大家應該可以瞭解在效能方面Radeon HD 6800是稍低於Radeon HD 5800系列,所以千萬別以為在效能上,會因為型號的關係而有銜接,就筆者個人的看法,AMD現在做的一切,都是為了日後的鋪路。根據AMD的設計,Radeon HD 6850主要是與GeForce GTX 460來競爭,至於Radeon HD 6870以價位來說目前算是沒有「主要」競爭者,當然,除非NVIDIA把GeForce GTX 470大降價就有可能。
Radeon HD 6800系列之上,還有Radeon HD 6900系列,這採用的就是Cayman核心,不過,在核心架構上就與Barts有了更大不同,這點,屆時咱們再來好好討論,我們還是把主題放在Radeon HD 6800系列上吧。
Radeon 6870規格
時脈:900MHz
SP數量:1120
RAM:256 bit / 1GB GDDR5 / 4.2GHz
耗電量:151W/19W
Radeon 6850規格
時脈:775MHz
SP數量:960
RAM:256 bit / 1GB GDDR5 / 4GHz
耗電量:127W/19W
Stream Processor
在架構圖中可以看到兩大塊、佔去最大面積的執行單元,這就是Barts核心裡的Stream Processor(SP),左右兩邊各有七組SIMD,所以Radeon HD 6870一共有14組SIMD。
Barts architecture
在每一組的SIMD裡頭,有16個5D計算單元(VILW)所以14 X 16 X 5,Radeon HD 6870一共有1120個SP,另外,先前有人傳聞這次Radeon HD 6800系列會變成一次計算80個Pixel,但據筆者直接與AMD CTO當面詢問,目前的Barts仍然是一組SIMD在一個Cycle下可以計算16個Pixel,而Barts的SIMD需要每四個Cycle才能Issue一個新的指令(都是計算Pixel or Vertex或其他)。
所以16 Pixel X 4 Cycle = 64 Pixel,在Barts上仍然是一次計算64個Pixel,至於先前傳說的80個Pixel,應該是誤傳,不過,隨後要發表的Radeon HD 6900系列,其Cayman所採用的5D計算單元(VILW)將會改成4D計算單元(VILW),而這也是筆者較感興趣的地方。
要用來應付NVIDIA更高階顯示卡(GeForce GTX 580?)的產品──Antilles,AMD也揭露了初步藍圖,屆時可能推出雙核心版的Radeon HD 6990,但是是用Cayman或Barts核心目前就不得而知。
Ultra-Threaded Dispatch Processor
除了SIMD的數量上有些改變之外,在Ultra-Threaded Dispatch Processor也變成了兩組,這不是因為架構上這樣畫就這樣解釋,這是詢問AMD CTO後的最後答案。原本在RV870核心裡Ultra-Threaded Dispatch Processor就只有那麼一組,但這次Barts卻分成了兩組,筆者個人相信在指令分配上必定比前一代會有更高的反應效果。
Ultra-Threaded Dispatch Processor是做啥的?簡單解釋一下,它可以分派Thread給不同的運算、材質單元,而在運算的過程當中,一組SIMD只能執行同一組(同一類型)的Thread,當運算途中需要暫停,那麼Ultra-Thread Dispatch Processor可以把這組Core的Thread取出、暫存起來,然後再丟入另一組Thread進去計算,若前一組Thread所需要的資料已經送達時,那麼就會再把原有的Thread送回再進行未完成的計算,簡而言之,Ultra-Thread Dispatch Processor就是一個讓SP可以不斷運算的執行單元。
另外,在Ultra-Thread Dispatch Processor裡頭的Arbiter與Sequencer數量,目前還沒問到有多少個(其實是忘了問……XDa),那麼,Arbiter與Sequencer又是做什麼的呢?Arbiter是決定SIMD要執行那些Thread,而Sequencer則是要決定SIMD要執行的指令。
Instruction Cache與Constant Cache
GPU在運算時,有很多東西全都會預先載入顯示卡上的RAM裡,但是GPU在「每一次」運算時都要從RAM上讀寫,就會產生頻寬不足的情況,所以這時候在GPU裡就有了Cache,而在Ultra-Thread Dispatch Processor的下方,就有著Instruction Cache與Constant Cache,而Instruction Cache這個就是依照字面上的解釋存放指令之用,而Constant Cache則是用來儲存程式裡的一些值,例如:a = a + 3,這個3就是存在Constant Cache裡頭。
The other units
至於其它執行單元,在這裡簡單說明。Radeon HD 6870一共有14組的Texture Units,每一組裡仍然保持和前一代一樣有著四個材質定址、四個材質過濾以及16個材質取樣,所以14 x 4 = 56 個,這比前一代的Radeon HD 5850的72個還少了些。Render Back-Ends的部份,一樣保持著八組,所以還是128個Z/Stencil。
在每一組SIMD裡都有一個相對應的Local Data Share,其容量大小為32KB,主要用途就是讓每一個SIMD裡的Thread共用數據,這樣可有效減少Thread需要到系統記憶體去存取的延遲時間,大大加快SIMD裡的運算速度。而在正中央的Golbal Data Share則有64KB,主要的用途是給各個SIMD共享數據使用。
而Barts內部傳輸方式,很可能與前一代相同,SIMD與Render Back-Ends(簡稱為RBE)還是使用Crossbar,其餘的執行單元則是使用HUB來連結,像是PCI Express 2.1 Bus Interface、UVD 3、CrossFire X Compositor、Eyefinity Display Controllers以及四組記憶體控制器(但有8個32bit Interface,所以是 8 x 32 = 256 bit的記憶體頻寬)。
RV870 architecture
Die Size
至於Barts的Die Size大小只有255mm,比前一代的RV870還小了許多,但也因為是SIMD從20組變成了14組的原因,不過,這對於耗電量方面有相當大的幫助可以更為省電、廢熱也會更少,而且若要組成雙核心顯示卡時更好設計其相關的電源線路,再加上對準的目標是GeForce GTX 460(或降價的GTX 470),在晶片面積上因為較小,將可以帶來更多成本優勢,例如,Radeon HD 6850的255mm Die Size,硬是比GeForce GTX 460的320mm還要小了許多。
Gen 7 Tessellation
Tessellation它可將一般的物體「自動」細分出更多的多邊形,一旦3D物體擁有高度複雜的多邊形,就可以有著更加精細的外表,因此,Tessellation在「自動」產生這些多邊形之後,設計師就再也不必事前畫出那麼精細的外觀,還大大減少等待計算時間、以及電腦運行3D物體的延遲。
而我們都知道ATI是比較早開始發展Tessellation的廠商,從當初的Radeon HD 8500、Xbox 360與Radeon HD 2000~5000為止,一直都有著Tessellation的設計,而到了今天推出的Radeon HD 6800可說是來到了第七代,這當中的演進想必會帶來AMD對於Tessellation很多的思考,因此這一次AMD採取了一些變化。
AMD建議GPU在一個周期下處理16個Pixel就好,因為這些要處理的Pixel多半是以2 x 2 or 4 x 4為一個單位,而這個單位需要來自「同一個」三角面,但是如果一個三角面只有 1個Pixel,那麼在處理這些三角面時效率就會降低,雖然說在處理相素的時候理論上越小越好,但太小也有密度的問題。
簡單來講,一個Pixel被三角面蓋到,那麼就會去計算這個Pixel,但這是「沒有啟動」MSAA的情況,若是「啟動」MSAA,在一個Pixel就會有Sub sample出現,例如4x MSAA就會有四個Sub sample,而這一個Pixel若只有一個三角面蓋過,那麼就會只計算一次,但是,若這一個Pixel的四個Sub sample被兩個三角面蓋過,那麼就變成了2個Sub sample算一次、另外2個Sub sample又得要再算一次,在圖中看到紅色密度很高的模型,就是指說同一個Pixel會被計算太多次,尤其是啟動MSAA之後會更嚴重,而這一代的Tessellation就是為了提高效能做了些改變。
Morphological Anti-Aliasing
AMD從Radeon HD 6800系列推出之後,會在驅動程式裡新增加這個AA技術,而Morphological Anti-Aliasing其實也就是所謂的MLAA。這個就是說當已經產生完畫面之後,不進行Anti-Aliasing的動作,而會開始進行post processing,也就是對一定範圍內的Pixel開始觀察,若是這個範圍內有Aliasing(發現鋸齒),就會去把它與附近的顏色平均一下,像是太過銳利、將此範圍的Pixel平滑一下就可以達到不錯的效果,過去因為只有Pixel Shader,所以要來做這個Morphological Anti-Aliasing會比較麻煩,但是現在有了Compute shader,所以效率變的比較好才開始做。
當然啦,這次Radeon HD 6800推出時也具備其他許多種特色,像是多種螢幕輸出變的更有彈性、也變的更多樣化,像是兩組Mini DisplayPort、兩組DVI與可支援HDMI 1.4a的新規格,以及支援3D螢幕的技術等等,有興趣的人可以過陣子看看www.amd.com/hd3d這個網頁便可略知一二。
Radeon HD 6870正面
Radeon HD 6870背面
支援的種類真的不少咧~
還是得要兩組6 pin電源接頭
CrossFire橋接金手指
散熱器拆下
影像輸出埠的內部
這顆GPU還是工程版
忘了拍這張是要講什麼......XDa
Testing
講了那麼多廢話,那麼接下來還是得要看看Radeon HD 6870的效能了,不過,筆者根本借不到可以來與Radeon HD 6870一塊比較的顯示卡,不過這也很正常,每每新卡推出時,要拿來做被比較的另一方總是會冷處理……,不過,筆者還是借到了一張GeForce GTX 480來當做「基準」,是的!筆者瞭解這完全的不公平,一張Radeon HD 6870要價7690元,怎麼可能打的贏一張18000元的GeForce GTX 480呢?不過沒辦法,我真的借~不~到~,如果各位覺得太不公平了,就別再往下看下去了~
Platform
Motherboard:GA-EX58-DS4(Intel X58 + ICH10R Chipset)
Processor:Intel Core i7-920(8M Cache,2.66 GHz,4.80 GT/s QPI)
Memory:Kingston HyperX DDR3 1066 8-8-8-20 1T(KHX16000D3T1K3/3GX)
Hard Drive:OCZ Z-DRIVER 256GB
Power Supply:Silver Stone SST-ST1000
Display:SAMSUNG 2443BWX
OS:Windows 7 Ultimate(32bit)
在測試時的解析度全都是1920x1200,因為這是要符合筆者自己螢幕的需求所設定的,至於在測試時也沒發現到Radeon HD 6870有什麼問題,但比較有趣的是在幾個Benchmark裡的Average結果,在自己算一次Average的情況下,反而跟Benchmark裡的數據有些誤差;而在Crysis Warhead遊戲裡,Radeon HD 6870的最小fps不論跑幾次都是不到1fps,但是平均結果還算是滿正常的就沒有太注意了。
至於Radeon HD 6870與GeForce GTX 480的效能差距我們就不討論,畢竟這兩張顯示卡完全是不同等級的產品,只是筆者借不到其他顯示卡來做比較而已,最後,我們再接著等待使用Cayman核心的Radeon HD 6900吧!