圖形與計算那些事 AMD次世代架構解析
下面我們就來看看R580的核心架構,也就是當年的王者X1900XTX/X1950XTX所使用的GPU,后來次高端RV570核心(X1950Pro)的架構也類似。
R580:8個頂點著色單元、48個像素著色單元、16個紋理單元
DX9C顯卡還沒有統一渲染架構的概念(XBOX360的Xenos是個特例),所以R580依然是頂點與像素分離式的設計。當時的GPU核心部分被稱為管線,比如7800GTX擁有24條像素渲染管線,但X1900XTX卻不能稱為擁有48條像素渲染管線,因為它的像素與紋理單元數量不對等。
GPU的工作原理:
顯卡的渲染流程是通過頂點單元構建模型骨架,紋理單元處理紋理貼圖,像素單元處理光影特效,光柵單元負責最終的像素輸出。
GPU的管線是什么:
在R580之前,GPU的像素單元與紋理單元還有光柵單元是綁定在一起的,數量一樣多,整個渲染過程就是流水線作業,因此像素與紋理加起來稱為一條管線。
什么是3:1架構?
R520核心(X1800XT)的像素與紋理都是16個,但R580核心在紋理單元維持16個不變的情況下,把像素單元擴充了3倍達到了48個之多。ATI研發工程師發現新一代游戲中使用像素著色單元的頻率越來越高,各種光影特效(尤其HDR)吃掉了像素著色單元的所有資源,而紋理單元的負載并不高,繼續維持像素與紋理1:1的設計就是浪費資源,于是ATI根據3D游戲引擎的發展趨勢做出了改變,并把R580這種不對等的架構稱之為3:1黃金架構,管線的概念至此消失。
像素(算數)與紋理的比例逐年提高
當年ATI前瞻性的架構在部分新游戲中得到了應驗,比如在優品飛車10、細胞分裂4、上古卷軸4等游戲中X1900XTX的性能遠勝7900GTX。此外ATI專為HDR+AA優化的架構與驅動也讓ATI風光無限。
但事實上,從1:1大躍進到3:1有點太激進了,在包括新游戲在內的絕大多數主流游戲中,都無法充分利用多達48個像素著色單元的能力。于是ATI的工程師們又有了新的想法:何不用這些像素單元來做一些非圖形渲染的計算呢?像素單元的核心其實就是ALU(算術邏輯單元),擁有十分可觀的浮點運算能力。
蛋白質折疊分布式計算開啟GPU計算大門:
2006年9月,在X1900XTX發布半年之后,ATI與斯坦福大學相關科研人員合作,開發了首款使用GPU浮點運算能力做非圖形渲染的軟件——Folding @ Home第一代GPU運算客戶端。
Folding@home是一個研究蛋白質折疊、誤折、聚合及由此引起的相關疾病的分布式計算工程。最開始F@H僅支持CPU,后來加入了對PS3游戲機的支持,但同樣是使用內置的CELL處理器做運算。F@H因ATI的加入為GPU計算翻開了新的一頁,當然F@H加入了對NVIDIA DX10 GPU的支持那是后話。
什么是通用計算?
當時的GPU計算被稱為GPGPU(General Purpose GPU),傳統的圖形處理器可以被用來做通用目的計算項目。所謂通用計算的大體流程就是:待處理的數據—〉轉換成圖形數據—〉GPU處理—〉處理后的圖形數據—〉轉換成所需數據。其實通用計算就是把數據轉換為GPU能夠“看懂”的圖形數據,實際上是作為虛擬硬件層與GPU通訊,由于需要前后兩次編譯的過程,因此想要利用GPU強大的浮點運算能力,需要很強大的編譯器,程序員的開發難度可想而知,CPU的運算量也比較大。
除了蛋白質折疊分布式計算外,當年ATI還開發了AVIVO Video Converter這款使用GPU加速視頻轉碼的小工具,雖然效果一般,但也算是開了個好頭。
雖然GPU通用計算的實現難度很大,但至少GPU實現了非圖形計算的目的,而且其性能確實要比當時的CPU快十幾倍。小有所成的ATI被勝利沖昏了頭腦,他們認為自己研發出了非常先進的、最有前瞻性的GPU架構,還找到了讓GPU進行通用計算的捷徑、還有了AMD這座靠山……最終促使AMD-ATI做出了保守的決定——下代GPU繼續沿用R580的架構,不做深層次的改動。
關注我們



