HD7970脫胎換骨全測試!5年架構大革命
第二章/第八節(jié) HD6970曇花一現(xiàn):北方群島5D改4D返璞歸真
相信有些讀者很早就想問這樣一個問題了:既然圖形渲染的主要指令是4D矢量格式,那為什么R600要設計成5D的流處理器結構呢?還沿用了5代之久?有結果就有原因,通過對Cayman核心的分析,我們可以找到答案。
R600為什么是5D VLIW結構?
在5D VLIW流處理器中,其中的1個比較“胖”的ALU有別于其它4個對等的ALU,它負責執(zhí)行特殊功能(例如三角函數(shù))。而另外4個ALU可以執(zhí)行普通的加、乘、乘加或融合指令。

Barts核心的流處理器結構
從R600開始的Shader是4D+1D的非對等設計,ATI這樣做的目的是為了讓頂點著色器更有效率,以便能同時處理一個4D矢量點積(比如w、x、y、z)和一個標量分量(比如光照)。
Cayman核心返璞歸真,改用4D結構
隨著DX10及DX11大行其道,AMD通過自己長期內(nèi)部測試發(fā)現(xiàn),VLIW5架構的五個處理槽中平均只能用到3.4個,也就是在游戲里會有1.6個白白浪費了。顯然,DX9下非常理想的VLIW5設計已經(jīng)過時,它太寬了,必須縮短流處理器單元(SPU),重新設計里邊的流處理器(SP)布局。
Cayman核心的流處理器結構
于是Cayman核心誕生了,胖ALU下崗,只保留了剩下4個對等的全功能ALU。裁員歸裁員,原來胖ALU的工作還得有人干,Cayman的4D架構在執(zhí)行特殊功能指令時,需要占用3個ALU同時運算。
5D改4D之后最大的改進就是,去掉了體積最大的ALU,原本屬于它的晶體管可以用來安放更多的SIMD引擎,據(jù)AMD官方稱流處理器單元的性能/面積比可以提升10%。而且現(xiàn)在是4個ALU共享1個指令發(fā)射端口,指令派發(fā)壓力驟減,執(zhí)行效率提升。雙精度浮點運算能力也從原來單精度的1/5提高到了1/4。
效率更進一步:雙圖形引擎
前面介紹過,從RV770到Cypress核心,圖形引擎和超線程分配處理器都只有一個,但圖形引擎內(nèi)部的Hierarchical Z(分層消影器)和Rasterizer(光柵器)分為兩份。
到了Barts核心,超線程分配處理器從一個變成兩個?,F(xiàn)在的Cayman核心則更進一步,圖形引擎也變成了兩個,也就是除了分層消影器和光柵器外,幾何著色指令分配器、頂點著色指令分配器、還有曲面細分單元都變成了兩份:
兩個曲面細分單元再加上兩個超線程分配處理器,AMD官方稱HD6970的曲面細分性能可以達到HD6870的兩倍、HD5870的三倍。其它方面比如頂點著色、幾何著色性能都會有顯著的提升。
通用計算效能也有改進
和Cypress、Barts相比,Cayman在通用計算方面也有一定程度的改進,主要體現(xiàn)在具備了一定程度的多路并行執(zhí)行能力;雙路DMA引擎可以同時透過外部總線和本地顯存讀寫數(shù)據(jù);改進的流控制提高了指令執(zhí)行效率和運算單元浪費;當然雙精度運算能力的提高對于科學計算也大有裨益。
不過,這些改進都是治標不治本,VLIW架構從5D到4D只是一小步,只能一定程度上的提高指令執(zhí)行效率,而無法根治GPU編程困難、復雜指令和條件指令的兼容性問題??偟膩碚f,Cayman核心依然只是單純?yōu)橛螒蚨O計的GPU,AMD把5D改為4D也是基于提升3D渲染性能的考慮。
關注我們


