從GPU誕生說起:AMD統(tǒng)一渲染架構(gòu)回顧及展望_圖文_第1頁
從GPU誕生說起:AMD統(tǒng)一渲染架構(gòu)回顧及展望_圖文_第2頁
從GPU誕生說起:AMD統(tǒng)一渲染架構(gòu)回顧及展望_圖文_第3頁
從GPU誕生說起:AMD統(tǒng)一渲染架構(gòu)回顧及展望_圖文_第4頁
從GPU誕生說起:AMD統(tǒng)一渲染架構(gòu)回顧及展望_圖文_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、從GPU 誕生說起:AMD 統(tǒng)一渲染架構(gòu)回顧及展望來源:驅(qū)動之家 作者:朝暉 編輯:朝暉 2011-06-28 17:40:18 8373 人閱讀內(nèi)容導(dǎo)航:第01頁:導(dǎo)讀:AMD統(tǒng)一渲染架構(gòu)全回顧文章內(nèi)容導(dǎo)航第1頁 導(dǎo)讀:AMD 統(tǒng)一渲染架構(gòu)全回顧 第2頁 溯本歸源:GPU 的由來及渲染流程第3頁 傳統(tǒng)GPU 頂點單元和像素單元的出現(xiàn)第4頁 傳統(tǒng)GPU 管線的的概念和SIMD 架構(gòu)第5頁 SIMD 的弊端和統(tǒng)一渲染架構(gòu)的出現(xiàn) 第6頁 Xenos 與第一款統(tǒng)一渲染架構(gòu)GPU第7頁AMD 變革開端:超標量架構(gòu)的R600第8頁不變中的改變:全新制程工藝的RV670第9頁規(guī)模擴充結(jié)構(gòu)改進:逐步優(yōu)化的R

2、V770第10頁 變化有限規(guī)格翻倍:雙核心的Cypress第11頁 架構(gòu)未變特性增強:穩(wěn)中過渡的Barts第12頁 革新VLIW 4架構(gòu):嘗試改變的Cayman第13頁顛覆以往傳統(tǒng):AMD 全新新架構(gòu)露端倪 導(dǎo)讀:AMD 統(tǒng)一渲染架構(gòu)全回顧 數(shù)月之前,筆者曾寫過風(fēng)雨二十五載!驀然回首看ATI 顯卡發(fā)展之路一文,文章就AMD (ATI 的顯卡發(fā)展之路進行了詳細回顧,對歷代比較有代表性的顯卡以及重大事件著墨較多。撰文之時,Radeon HD 5000風(fēng)華正茂,Radeon HD 6000還在孕育當中。時光飛梭,如今Radeon HD 6000已部署完畢,具有顛覆意義的APU 也橫空出世,傳統(tǒng)GPU

3、 與CPU 的概念將逐步走向融合。借此之機,筆者希望通過此文對AMD 以往統(tǒng)一渲染GPU 架構(gòu)的發(fā)展歷程進行回顧,以此窺探AMD 未來GPU 架構(gòu)將會朝著何種方向發(fā)展。 內(nèi)容導(dǎo)航溯本歸源:GPU的由來及渲染流程為什么要有GPU?說實話,這個問題有些難回答,不過我們依然從過往的一些回憶中引出GPU的概念。雖然民用顯卡可以追溯到上世紀的80年代,但當時的并沒有GPU的概念,而所謂的顯卡更多的被成為顯示適配器(Display Adapter,僅能用于簡單的文字和圖形輸出,在處理3D圖像和特效是主要還是依賴CPU。 史上首款GPUGeForce 256真正的GPU,也就是Graphic Process

4、ing Unit(圖形處理器的概念,最早是由NVIDIA在1999年發(fā)布GeForce 256圖形處理芯片時首先提出的,核心技術(shù)有硬體T&L、立方環(huán)境材質(zhì)貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等等。GPU的出現(xiàn)使得顯卡減少了對CPU的依賴,尤其是在3D圖形處理時取代了部分原本CPU的工作,而這一切都要歸功于GPU引入的硬件T&L( Transform & lighting,坐標轉(zhuǎn)換和光源功能。本質(zhì)上來說,3D圖形的渲染是由復(fù)雜的坐標轉(zhuǎn)換和光源運算組成的,當顯卡還沒有T&L功能時,坐標處理和光源運算都是由CPU來處理的,也就是所謂的

5、軟件T&L。不過由于CPU的任務(wù)繁多,除了T&L之外,還要做內(nèi)存管理、輸入響應(yīng)等非3D圖形處理工作,因此在實際運算的時候性能會大打折扣,常常出現(xiàn)顯卡等待CPU數(shù)據(jù)的情況,其運算速度遠跟不上復(fù)雜3D游戲的要求。 硬件T&L而GPU從硬件上支持T&L以后, CPU就得以從繁重的運算中解脫出來。首先,3D模型可以用更多的多邊形來描繪,這樣就擁有了更加細膩的效果。其次,CPU不必再計算大量的光照數(shù)據(jù),直接通過顯卡就能獲得更好的效能。雖然后來的GPU取消了T&L,采用全新的Shader Model來完成3D建模和光影效果,但就當時來說,硬體T&L技術(shù)是GP

6、U的標志。限于篇幅,關(guān)于T&L更多的細節(jié)這里就不再一一贅述。下面要說一下GPU的工作原理,雖然這和今天的主題看起來離得有些遠,不過考慮到能夠?qū)ο旅嬲鹿?jié)更好的闡述,我認為還是很有必要的。簡單的說,GPU的主要功能就是完成對3D 圖形的處理即生成渲染。一般來說,GPU的圖形處理流水線可分為以下五個階段: 傳統(tǒng)GPU渲染流程1、頂點處理:這個階段GPU讀取描述3D圖形外觀的頂點數(shù)據(jù)并根據(jù)頂點數(shù)據(jù)確定3D圖形的形狀及位置關(guān)系,建立起3D圖形的骨架。在支持DX8以后的GPU中,這些工作由硬件實現(xiàn)的Vertex Shader(頂定點著色器完成。2、光柵化計算:顯示器實際顯示的圖像是由像素組成的,我

7、們需要將上面生成的圖形上的點和線通過一定的算法轉(zhuǎn)換到相應(yīng)的像素點。把一個矢量圖形轉(zhuǎn)換為一系列像素點的過程就稱為光柵化。例如,一條數(shù)學(xué)表示的斜線段,最終被轉(zhuǎn)化成階梯狀的連續(xù)像素點。3、紋理帖圖:頂點單元生成的多邊形只構(gòu)成了3D物體的輪廓,而紋理映射(texture mapping工作完成對多邊形表面的帖圖,通俗的說,就是將多邊形的表面貼上相應(yīng)的圖片,從而生成“真實”的圖形。TMU(Texture mapping unit即是用來完成此項工作。4、像素處理:這階段(在對每個像素進行光柵化處理期間GPU完成對像素的計算和處理,從而確定每個像素的最終屬性。在支持DX8以后的GPU中,這些工作由硬件實現(xiàn)

8、的Pixe l Shader(像素著色器完成。5、最終輸出:由ROP(光柵化引擎最終完成像素的輸出,1幀渲染完畢后,被送到顯存幀緩沖區(qū)。所以通俗一點來講,GPU的工作就是完成3D圖形的生成,將圖像映射到相應(yīng)的像素點上,并且對每個像素進行計算確定最終顏色,最后完成輸出。 內(nèi)容導(dǎo)航傳統(tǒng)GPU頂點單元和像素單元的出現(xiàn)上文我們提到了GPU的由來以及渲染過程,以及象征著初期GPU標識的T&L。GPU通過硬件T&L,實現(xiàn)大量的坐標和光影轉(zhuǎn)換。隨著更加復(fù)雜多變的圖形效果的出現(xiàn),頂點和像素運算的需求量大幅提升,此時的GPU架構(gòu)也遇到了一些麻煩的問題。游戲畫面的提高對GPU有了更高的要求,圖形處

9、理生成多邊形的過程中需要加上許多附加運算,比如頂點上的紋理信息、散光和映射光源下的顏色表現(xiàn)等等,有了這些就可以實現(xiàn)更多的圖形效果。當然,與此同時帶來的就是對GPU頂點和像素的計算能力極具考驗。通過對GPU圖形流水線的分析,工程師們發(fā)現(xiàn)與傳統(tǒng)的硬件T&L相比,另一種方案具有更高的效率和靈活性,這就是Shader(渲染器/著色器的出現(xiàn)。2001年微軟發(fā)布的DirectX 8帶出了Shader Model(渲染單元模式,Shader也由此誕生。 DX8顯卡體系結(jié)構(gòu)及渲染流水線本質(zhì)上來說,Shader是一段能夠針對3D圖像進行操作并被GPU所執(zhí)行的圖形渲染指令集。通過這些指令集,開發(fā)人員就能獲

10、得大部分想要的3D圖形效果。在一個3D場景中,一般包含多個Shader,這些Shader中有的負責(zé)對3D對象頂點進行處理,有的負責(zé)對3D對象的像素進行處理。所以最早版本的Shader Model 1.0中,根據(jù)操作對象的不同分別V ertex Shader(頂點著色器/頂點單元,VS和Pixel Shader(像素著色器/像素單元,PS。相比T&L實現(xiàn)的固定的坐標和光影轉(zhuǎn)換,VS和PS擁有更大的靈活性,使得GPU在硬件上實現(xiàn)了頂點和像素的可編程(雖然當時的可編程特性與現(xiàn)在相比很是孱弱,反映在圖形特效上就是出現(xiàn)了動態(tài)的光影效果,游戲玩家們第一次見到了更加逼真波光粼粼的水面;而對于開發(fā)者來

11、說,游戲的開發(fā)難度也大大降低了。從歷史意義上來講,Shader Model的出現(xiàn)對G PU來說是一場空前的革命,日后也成為DirectX API的一個重要部分。每逢DirectX版本升級,Shader Model的技術(shù)特性都會隨之增強和擴充。具體來說,VS的主要作用就是構(gòu)建3D圖形的骨架,也就是頂點。本質(zhì)上,任何3D圖形在計算機中只有兩種存在形式,構(gòu)建骨架的頂點以及連接頂點之間的直線。比如,我們劃一個圓,計算機會把它當做多邊形來處理;如果精度較低,可能是5邊形和或6邊形;如果精度較高,則會是500邊形或600邊形,也就是幾百個頂點和幾百個直線。而PS的作用就更好理解了,主要負責(zé)VS之后的處理,

12、比如圖形表面的紋理以及像素值、顏色等等,使其達到預(yù)期的的效果。不過PS中根據(jù)各工種的不同細化分為像素渲染單元(Pi xel Shader Unit,PSU、紋理貼圖單元(Texture Map Unit,TMU以及光柵化單元(Raster Operations Pipe,ROP;A卡中叫做Render Back End,RBE。PSU主要負責(zé)像素的處理工作,比如我們在游戲中見到的場景、光影效果等;TMU主要負責(zé)紋理處理工作,比如樹木、石頭的紋理以及水面反射等等;而ROP/RBE負責(zé)像素的最終輸出工作,執(zhí)行像素的讀/寫操作、Z-Buffer檢查、色彩混合及抗鋸齒等。 內(nèi)容導(dǎo)航傳統(tǒng)GPU管線的的概

13、念和SIMD架構(gòu)以上諸多單元協(xié)同工作,就形成了渲染管線(Shader Pipeline的概念。渲染管線也習(xí)慣上被成為渲染流水線,從某種程度上來講,我們可以把它看做工廠里面常見的生產(chǎn)流水線,工廠里的生產(chǎn)流水線是為了提高產(chǎn)品的生產(chǎn)能力和效率,而渲染管線則是提高顯卡的工作能力和效率。當然,同樣按照工種,還可分為頂點渲染管線(Vertex Shader Pipeline,主要就是指頂點單元和像素渲染管線(Pixel Shder Pipeline,包括PSU、TMU和ROP/RBE,而我們常說的渲染管線就是指像素渲染管線。在傳統(tǒng)GPU實時渲染的時候,一條管線顯然是遠遠不夠的,于是多條管線并行處理的結(jié)構(gòu)誕

14、生了。一般在同等芯片的對比情況下,管線數(shù)量越多性能越高;同樣管線數(shù)量的情況下,新核心的性能要高于于老核心的產(chǎn)品。不過另外一個問題又出現(xiàn)了,傳統(tǒng)意義上的像素流水線各個部分單元比例相當,但隨著3D圖形技術(shù)的發(fā)展,管線各部分負載的壓力開始不均衡起來。最簡單的例子就是,VS很快完成頂點處理的任務(wù),然后發(fā)現(xiàn)PS部分還忙得不可開交。由于運算量太大,PS既不能接收VS的新數(shù)據(jù),又不能給后面的ROP/RBE輸出信號,就造成數(shù)據(jù)的延遲出現(xiàn)。所以PS成為了管線中的瓶頸;這種情況下,使用更多的PS單元來加強像素和紋理處理工作就成為顯卡著重改進的地方。而PS的數(shù)量也成了衡量顯卡性能的標準之一(針對早期GPU來說。 V

15、S和PS都是四元組結(jié)構(gòu)經(jīng)過上面的介紹,我們知道VS和PS是傳統(tǒng)GPU中的兩項重要指標,那么VS和PS在架構(gòu)又有何異同呢?在計算機圖形處理中,最常見的像素數(shù)據(jù)都是由R、G、B(紅、綠、藍三種顏色構(gòu)成的,加上它們共有的信息說明(Alpha,用來表示顏色的透明度,加起來總共是四個通道;而頂點數(shù)據(jù)一般是由X、Y、Z、W四個坐標構(gòu)成,這樣也是四個通道。所以從架構(gòu)上來看,VS和PS既有相同又有不同之處。相同之處在于,二者處理的都是四元組數(shù)據(jù),不同之處在于VS需要比較高的計算精度,而PS計算精度較低。事實上,在3D圖形進行渲染的過程中,VS和PS的主要工作就是進行X、Y、Z、W四個坐標運算和計算除R、G、B

16、、A得出像素顏色。為了一次性處理1個完整的幾何轉(zhuǎn)換或像素渲染,GPU的VS和PS從最初就被設(shè)計成為同時具備4次運算能力的算數(shù)邏輯運算器(ALU。而數(shù)據(jù)的基本單元是Scalar(標量,就是指一個單獨的變量,所以GPU的ALU 進行一次這種變量操作,被稱做1D標量。 SIMD架構(gòu)示意與標量對應(yīng)的是Vector(矢量,一個矢量由N個標量標量組成。所以傳統(tǒng)GPU的ALU在一個時鐘周期可以同時執(zhí)行4次標量的并行運算被稱做4D Vector(矢量操作。雖然GPU的ALU指令發(fā)射端只有一個,但卻可以同時運算4個通道的數(shù)據(jù),這就是單指令多數(shù)據(jù)流(Single Instruction Multiple Data

17、,SIMD架構(gòu)。 內(nèi)容導(dǎo)航SIMD的弊端和統(tǒng)一渲染架構(gòu)的出現(xiàn)承接上文,由于先天性設(shè)計的優(yōu)勢,SIMD能夠有效提高GPU的矢量處理性能,尤其是在頂點和像素都是4D矢量的時候,只需要一個指令端口就能在單周期內(nèi)完成預(yù)運算,可以做到1 00%效率運行不浪費運算單元。雖然早期SIMD執(zhí)行效率很高,因為很多情況都是4D矢量的運算操作。但隨著3D技術(shù)的不斷發(fā)展,圖形API和Shader指令中的標量運算也開始不斷增多,1D/2D/3D混合指令頻率出現(xiàn),這時SIMD架構(gòu)的弊端就顯現(xiàn)出來了。當執(zhí)行1D標量指令運算的時候,SIMD的效率就會下降到原來的1/4,也就是說在一個運算周期內(nèi)3/ 4的運算單元都被浪費了。

18、混合型SIMD架構(gòu)的出現(xiàn)遇到問題的時候,當時的ATI和NVIDIA都在尋求改進。進入DX9時代之后,混合型SIMD設(shè)計得到采用,不再使用單純的4D矢量架構(gòu),允許矢量和標量指令可以并行運算(也就是Co-issue技術(shù)。比如當時的ATI的R300就采用了3D矢量+1D標量架構(gòu),而NVDIA的NV40之后也采用了2D矢量+2D標量和3D矢量+1D標量兩種運算模式。雖然Co-i suue技術(shù)一定程度上解決了SIMD架構(gòu)標量指令執(zhí)行率低的問題,但遇到需要分支預(yù)測運算的情況,依然無法發(fā)揮ALU的最大運算能力。除了SIMD架構(gòu)的弊端之外,VS和PS構(gòu)成的所謂“分離式”渲染架構(gòu)也遭遇了麻煩。在全新一代圖形AP

19、I DirectX 10的到來之前,頂點渲染和像素渲染各自獨立進行,而且一旦當架構(gòu)確定下來,VS和PS的比例就會固定。微軟認為這種分離渲染架構(gòu)不夠靈活,不同的GPU,其VS和PS的比例不一樣,大大限制了開發(fā)人員自由發(fā)揮的空間。另外,不同的應(yīng)用程序和游戲?qū)ο袼劁秩竞晚旤c渲染的需求不一樣,導(dǎo)致GPU的運算資源得不到充分利用。 分離式渲染架構(gòu):VS和PS負載不均 統(tǒng)一渲染架構(gòu):VS和PS負載均衡舉例來說,許多大型3D游戲中的獨立渲染場景中,遇到高負載幾何工作的時候,VS處理壓力增大大,而PS單元工作較少很多時候都被閑置;反之,遇到高負載像素工作的時候,PS 處理壓力增大,而VS又處于閑置狀態(tài)。加上傳

20、統(tǒng)的PS和VS以前都是各自為戰(zhàn),彼此不相干涉,PS也幫不上VS任何忙,也就造成了GPU執(zhí)行效率的降低。傳統(tǒng)的管線架構(gòu)已經(jīng)跟不上時代了,而這也就促使了DirectX 10中統(tǒng)一渲染架構(gòu)(Unified Shader Architecture的出現(xiàn)。 分離式架構(gòu)和統(tǒng)一架構(gòu)的差異所謂統(tǒng)一渲染架構(gòu),就是將傳統(tǒng)的VS、PS以及DirectX 10新引入的GS進行統(tǒng)一分裝。與傳統(tǒng)GPU架構(gòu)不同,此時的GPU不再分配單獨的渲染管線,所有的運算單元都可以處理任何一種Shader運算(不論頂點操作、像素操作還是幾何操作,而這種運算單元就是經(jīng)常提到的統(tǒng)一渲染單元(Unified Shader,US。它的出現(xiàn)避免了

21、傳統(tǒng)GPU架構(gòu)中P S和VS資源分配不合理的現(xiàn)象,也使得GPU的利用率更高。US的概念一直沿用至今,一般來說US的數(shù)量越多,GPU的3D渲染執(zhí)行能力就越強,所以US的數(shù)量也就成了判斷顯卡性能的一個主要標準。 內(nèi)容導(dǎo)航Xenos與第一款統(tǒng)一渲染架構(gòu)GPU不過對于很多GPU愛好者來說,第一次接觸統(tǒng)一渲染架構(gòu)的概念并非來自桌面顯卡,而是當時還沒被收購的ATI于2005年與微軟合作發(fā)布的XBOX 360游戲主機采用的Xenos 圖形處理器。Xenos采用了統(tǒng)一渲染架構(gòu),頂點、像素等操作都在US上執(zhí)行,架構(gòu)上區(qū)別于ATI以往任何一款GPU,是ATI第一代統(tǒng)一渲染架構(gòu),對日后的R600等也有較大影響。關(guān)于

22、的詳細架構(gòu),這里限于篇幅就不再過多介紹,感興趣的讀者可以自行查閱。 Xenos的邏輯架構(gòu)示意圖那么第一款統(tǒng)一渲染架構(gòu)的桌面GPU呢?雖然理論上這款GPU非ATI莫屬,畢竟已經(jīng)有了Xenos的設(shè)計經(jīng)驗。不過由于2006年7月份被AMD收購,ATI主要忙收購之后的事宜,研發(fā)精力大打折扣,反倒被沒有統(tǒng)一渲染架構(gòu)設(shè)計經(jīng)驗的NVIDIA在同年7月份搶先發(fā)布G80核心的GeForce 8800 GTX顯卡,掀開了桌面統(tǒng)一渲染GPU架構(gòu)的序幕。G80是NV DIA顯卡歷史上一款極具劃時代意義的GPU,革命性的架構(gòu)影響了日后的數(shù)代顯卡。(雖然G80與AMD毫不相干,但通過G80的和下文R600的對比,我們能夠

23、發(fā)現(xiàn)A/N兩家在面對統(tǒng)一架構(gòu)時做出的不同選擇。 G80的流處理器結(jié)構(gòu)G80架構(gòu)上的改變可謂相當激進,在實現(xiàn)統(tǒng)一渲染單元(Unified Shader,US的過程中,將傳統(tǒng)GPU架構(gòu)中VS和PS中的4D矢量 ALU重新設(shè)計為功能更全的1D標量ALU,每一個ALU都有自己的專屬指令發(fā)射器,所有運算全部轉(zhuǎn)化為1D標量運算,可在一個周期內(nèi)完成乘加操作。這種1D標量的ALU被NVIDIA稱為流處理器(Stream Processors, SP。 G80核心架構(gòu)圖G80采用的1D標量式的流處理器架構(gòu)稱為多指令多數(shù)據(jù)流架構(gòu)(MIMD,完全區(qū)別于傳統(tǒng)GPU的SIMD架構(gòu)。MIMD走的是徹底的標量化路線,這種實

24、現(xiàn)的最大好處是靈活、效率更高,不論是1D、2D、3D、4D指令,G80都通過編譯器將其拆成1D指令交給不同的SP來處理。 每個TPC的詳細結(jié)構(gòu)這樣也帶來了一些問題,傳統(tǒng)GPU中一個周期完成的4D矢量操作,在這種標量SP中需4個周期才能完成,或者說1個4D操作需要4個SP并行處理完成,那么執(zhí)行效率是否會受到很大影響呢?不過NVIDIA異步架構(gòu)將核心頻率和流處理器頻率分離,流處理頻率進行了大幅提升,達到兩倍于核心頻率的水平,同時大幅增加流處理器數(shù)量的方法很好的解決了這一問題。除了流處理器,G80的紋理單元也被重新設(shè)計,將傳統(tǒng)紋理單元(TMU的功能拆分為兩種單元:紋理尋址單元(Texture Add

25、ress Unit和紋理過濾單元(TexTure Filtering Uni t,它們以跟核心頻率相同的頻率運作,以1:2的比例組成了新的紋理渲染陣列(Tex Array。所以規(guī)格方面,G80核心擁有128個流處理器、64個紋理單元和24個光柵單元,由8個TPC(Thread Processing Cluster,線程處理器集群組成,每個TPC中擁有兩組SM(S treaming Multiprocesser,流式多處理器,每組SM擁有16個流處理器和8個紋理單元。每一個TPC都擁有獨立的8個紋理過濾單元(Texture Filtering Unit,TFU、4個紋理尋址單元(Texture

26、Address Unit,TAU以及L1緩存。雖然MIMD架構(gòu)看起來無懈可擊額,不過和任何事物一樣,GPU架構(gòu)也不可做到完美。雖然1D標量ALU的設(shè)計執(zhí)行效率很高,但也有相應(yīng)的代價。理論上4個1D標量ALU和1個4D矢量ALU的運算能力是相當?shù)?但是前者需要4個指令發(fā)射端和4個控制單元,而后者只需要1個,如此以來MIMD架構(gòu)設(shè)計的復(fù)雜度和所占用的晶體管數(shù)都要遠高于SIMD 架構(gòu)。 內(nèi)容導(dǎo)航AMD變革開端:超標量架構(gòu)的R600直到G80架構(gòu)出現(xiàn)半年之后的2007年5月15日,AMD(此時已不叫ATI才正式發(fā)布了基于統(tǒng)一渲染架構(gòu)R600的Radeon HD 2900 XT(以及其它低端型號的HD

27、2000系列。發(fā)布的數(shù)月之前AMD就表示R600將會比Xenos快不止一個檔次。但是面對對手G80呢?相比G80激進地架構(gòu)變革,R600顯得相對保守一些,因為它的身上還能看到傳統(tǒng)GPU采用SIMD架構(gòu)的影子,不過其中的改變還是相對傳統(tǒng)的GPU架構(gòu)已經(jīng)算是脫胎換骨了。不同于G80的全標量設(shè)計,R600是將原有的4D矢量ALU擴展設(shè)計為5D ALU,準確一點應(yīng)該叫作5個1D ALU,因為每個ALU可以執(zhí)行任意的1D+1D+1D+1D+1D或1D+ 4D或2D+3D指令運算,(而以往的GPU往往只能是1D+3D或2D+2D,Co-isuue(矢量和標量并行執(zhí)行技術(shù)在這里更加靈活多變,所以這種架構(gòu)也叫

28、做5D Supersca lar超標量架構(gòu)。 R600采用的5D Superscalar超標量架構(gòu)AMD稱這些5D ALU為統(tǒng)一流處理器單元(Stream Processing Units,SPU,區(qū)別于SP,每一個SPU中都有5個ALU(也就解釋了為何A卡和N卡中的流處理器數(shù)目差距如此大,其中4個ALU可以進行MADD(Multiply-Add,乘加操作,而另外一個(也可叫做SFU,特殊函數(shù)運算單元可以執(zhí)行函數(shù)運算、浮點運算以及運算Multiply運算(不能進行ADD運算。由于每個流處理器單元每個周期只能執(zhí)行一條指令(這也是傳統(tǒng)SIMD架構(gòu)的弊端,但是每個每個流處理器中卻擁有5個ALU,如果

29、遇到類似1D標量類似的短指令,執(zhí)行效率只有1/5,其余4個ALU都將閑置。 R600核心架構(gòu)圖為了盡可能的提高效率,AMD引入了VLIW5體系(Very Long Instruction Word,超長指令集的設(shè)計,可以將多個短指令合并為一組長的指令交給流處理器單元去執(zhí)行,比如5條1D指令或者1條3D指令和兩條1D指令可以合并為一組5D VLIW指令。這部分的操作由流處理器單元中的Branch Execution Unit(分歧執(zhí)行單元來執(zhí)行。分之執(zhí)行單元就是指令發(fā)射和控制器,它獲得指令包后將會安排至它管轄下5個ALU,進行流控制和條件運算。General Purpose Registers(

30、通用寄存器存儲輸入數(shù)據(jù)、臨時數(shù)值和輸出數(shù)據(jù),并不存放具體的指令。整體規(guī)格方面,R600設(shè)計了320個流處理器(64個流處理器單元X5,分為四個SIMD陣列,每個SIMD陣列分為兩組,每組包含40個流處理器(16個流處理器單元X5。紋理單元為4組,每組包括4個紋理過濾單元和8個紋理尋址單元以及20個紋理采樣單元,共計16個紋理過濾單元和32個紋理尋址單元以及80個紋理采樣單元。 R600中引入的Tessellation是現(xiàn)在曲面細分的雛形在R600架構(gòu)中還有兩項技術(shù)值得一提,第一個則是Hardware Tessellation,也就是目前DX11中火熱的硬件曲面細分技術(shù),AMD在HD 2000顯

31、卡中引入了這一技術(shù),不過當時的硬件環(huán)境遠不成熟,Hardware Tessellation不具有實用性,只在HD 2000顯卡上曇花一現(xiàn),到了HD 3000系列就去掉了。 R600中的環(huán)形總線技術(shù)另外一個則是1024-bit環(huán)形總線技術(shù),R600本身就擁有512bit顯存位寬,已經(jīng)是當時位寬最大的,G80最大位寬也不過384-bit。AMD在此基礎(chǔ)上又引入了Ring bus環(huán)形總線,可以等效1024-bit位寬,如果使用高速的GDDR4顯存,那么顯存帶寬可以輕易突破130GB/s,普通的GDDR3顯存帶寬也有100GB/s以上的帶寬??上У氖钱敃r的生產(chǎn)工藝還是8 0nm,512-bit的顯存位

32、寬要占據(jù)相當大的晶體管規(guī)模,AMD的環(huán)形總線技術(shù)也沒有普及開來,到HD 3000系列上甚至精簡為256-bit,但是搭配高速GDDR3顯存來彌補。總得來說,得益于SIMD架構(gòu),R600可以用少于G80的晶體管堆積出遠遠大于后者的ALU規(guī)模,但是在指令執(zhí)行效率方面,R600相比G80并沒有什么優(yōu)勢。因為非常依賴于將短指令重新打包組合成長指令的算法,對編譯器要求比較高,而G80則不存在這樣的問題。雖然ALU規(guī)模、顯存帶寬等一系列數(shù)據(jù)都要領(lǐng)先,但執(zhí)行效能的劣勢還是讓R600輸給了G80,這一點也深刻地反映到當時的實際測試中。作為AMD第一款桌面統(tǒng)一渲染架構(gòu)GPU的R600雖然在新特性上亮點不少,但絕

33、對性能面對G80沒有任何優(yōu)勢,再加上發(fā)布時間上的落后,相關(guān)產(chǎn)品在市場上的反映很是慘淡,也宣告了AMD統(tǒng)一渲染架構(gòu)在桌面GPU的第一次試水以落寞而告終。 內(nèi)容導(dǎo)航不變中的改變:全新制程工藝的RV670 RV670采用了全新的55nm,核心規(guī)模減小,功耗更低在功能上,RV670增加了DX10.1和PCI-E 2.0支持,增加了RV 670缺失的UVD解碼引擎,可完整支持主流高清編碼的硬解,新一代RV670顯卡還支持三路/四路交火以提高游戲性能,并在功耗上有過人表現(xiàn)。 RV670相比R600核心架構(gòu)沒有改變核心架構(gòu)設(shè)計上,RV670與R600并沒有明顯區(qū)別,依然是320個流處理器,分為4組SIMD陣

34、列,每個陣列對應(yīng)一組紋理單元。每5個ALU和一個分支預(yù)測單元組成一個流處理器單元,繼續(xù)著5D的超標量結(jié)構(gòu)??傮w來說,RV670相比R600主要有以下幾點改進:制造工藝由80nm升級至55nm;PCI-E控制器升級支持2.0版本,帶寬倍增;高清解碼引擎由原來的Shader解碼升級為UVD 引擎,支持H.264和VC-1的完全硬解碼;顯存控制器由512bit降至256bit,這是控制成本的需要,而且以R600和RV670的運算能力其實不需要太高的顯存位寬;支持PowerPl ay節(jié)能技術(shù),待機功耗很低;API升級至DX10.1;所以說,RV670架構(gòu)本質(zhì)上沒有改變,更像是R600架構(gòu)的工藝改進版。

35、雖然此時NVIDIA的G92相比G80同樣改進不多,但RV670依然沒有討到什么便宜。R600承擔(dān)了太多不成熟的技術(shù)和工藝導(dǎo)致性能和架構(gòu)都沒什么優(yōu)勢,但AMD從RV670身上AMD發(fā)現(xiàn)了另外一條路:如果頂級性能上不能超越對手,那么就要在同價位上比對手做的好。要實現(xiàn)這一點,需要AMD在制程工藝、設(shè)計思路以及市場策略上作出相應(yīng)的改變,這也就出現(xiàn)了后來AMD“田忌賽馬”的策略。 內(nèi)容導(dǎo)航規(guī)模擴充結(jié)構(gòu)改進:逐步優(yōu)化的RV770雖然改進版的RV670依然沒能給AMD帶來任何生機,但接下來的RV770卻是AMD的揚眉之作。2008年6月份,AMD發(fā)布了基于RV770架構(gòu)的第二代DX10.1顯卡,顯卡的流處

36、理器單元從上代的320個暴增到800個,AMD的5D超標量架構(gòu)容易增加流處理器單元的優(yōu)勢漸漸顯現(xiàn)出來。RV770的SIMD陣列由RV670的4組增加到10組,紋理單元也相應(yīng)地增加到10組,整體規(guī)格是上一代架構(gòu)的2.5倍,流處理器單元達到了800個,紋理單元則提高到了40個,光柵單元(ROP為16個,SP單元的急劇增加也大幅提升了RV770的性能,至少可以抗衡G92沒有問題,面對“怪獸”GT200也多了一分底氣。 RV770核心架構(gòu)圖對比前面的RV670,RV770在架構(gòu)上主要有以下幾點不同:SIMD陣列排列方向橫置,紋理單元緊靠流處理器單元。因為RV670架構(gòu)在紋理性能上不盡如人意,AMD在R

37、V770上改進了紋理單元的設(shè)計,雖然每個紋理單元的規(guī)格沒有變化,但是效率更高,一個簡單的例子就是開發(fā)者去掉用以保證紋理單元獨立性的TMU Pool設(shè)計。 RV770的紋理單元改進設(shè)計在紋理單元與顯存控制器之間設(shè)有一級緩存,RV770核心相比RV670,L1 TC容量翻倍,再加上數(shù)量同比增加2.5倍,因此RV770的總L1容量達到了RV670/R600的五倍之多。另外,RV770還放棄了使用多年的環(huán)形總線,估計是因為高頻率下數(shù)據(jù)存取命中率的問題,回歸了交叉總線設(shè)計,有效提高了顯存利用率,并節(jié)約了顯存帶寬。 RV770的ROP單元此外,RV770的光柵單元數(shù)量保持在RV670的16個,但抗鋸齒性能

38、有了大幅提升,ROP單元Depth stencil ops(景深模板的每秒操作數(shù)雙倍于后者,在執(zhí)行2MSAA/4MSAA 運算時每周期可填充16像素,8AA時每周期可填充8像素,都達到了RV670的兩倍。此外AMD之前引入過名為CFAA(Custom Filter Anti-Aliasing的新算法,在使用CFAA 的時候AMD的顯卡還可以利用流處理器進行抗鋸齒運算,800個流處理器最高可以達到24x CFAA。 內(nèi)容導(dǎo)航變化有限規(guī)格翻倍:雙核心的Cypress在RV770成功翻身之后,AMD終于有了充足的精力和條件著手開發(fā)下一代GPU了。2009年9月23日AMD搶先發(fā)布了收款DX11圖形G

39、PUCypress(此時AMD已經(jīng)不再用輸在命名GPU架構(gòu),轟動一時。同樣是受益于5D超標量架構(gòu)出色的可擴展性和40nm新工藝,Cypress在規(guī)模方面又有了驚人的提升,其中流處理器數(shù)量達到了瘋狂的16 00個。 Cypress核心架構(gòu)圖從架構(gòu)來看設(shè)計方面來看,Cypress就像是兩顆RV770封裝在一起,流處理器部分可以看做是“雙核心”設(shè)計,各項規(guī)格也都是RV770的兩倍,比如1600個流處理器、80個紋理單元和32和ROP光柵單元等等。那么為什么要采用這種雙核心設(shè)計呢?AMD給出的解釋是,當流處理器擴充至1600個這樣的恐怖規(guī)模時,不僅芯片設(shè)計制造的難度非常高,而且相應(yīng)的緩存和控制模塊難以

40、管理協(xié)調(diào)如此眾多的流處理器,一分為二的做法效率將會更高。當然,Cypress也并非簡單的雙核版RV770。 Cypress架構(gòu)前端這種非常像是CPU中的雙核設(shè)計,兩顆核心各自相對獨立,獨享L1、共享L2和內(nèi)存控制器等其他總線模塊,核心之間則通過專用的數(shù)據(jù)共享及請求總線通信。為了配合這兩顆核心中眾多流處理器的工作,裝配引擎內(nèi)部設(shè)計有雙倍的Rasterizer(光柵器和Hierarchial-Z(多級Z緩沖模塊,這也是與RV770最大的不同。在流處理器部分,RV870相對于RV770改進有限,只是加入了DX11新增的位操作類指令,并優(yōu)化了Sum of Absolute Differences(SA

41、D,誤差絕對值求和算法,指令執(zhí)行速度提升12倍,此項指令可以在OpenCL底層執(zhí)行。SAD算法應(yīng)用最多的就是H.264/AVC編碼的移動向量估算部分(約占整個AVC編碼總時間的80%,如此一來使用RV870做視頻編碼類通用計算時,性能會大幅提升。 Cypress流處理器單元另外,流處理器部分還加入了雙精度浮點運算支持,每個流處理器單元(包括5個流處理器可以執(zhí)行4條32-bit FP MAD運算,2條64-bit FP MUL or ADD運算,1條64-bit FP MAD運算,4條24-bit Int MUL or ADD運算,特殊功能區(qū)每周期可以執(zhí)行一條32-bit FP MAD運算,均比

42、RV770有了大幅提高。Cypress的SIMD陣列的紋理單元也有多項改進,支持讀取壓縮后的AA顏色緩沖數(shù)據(jù)以減少帶寬占用,此外紋理的差值運算轉(zhuǎn)移到流處理器中而不再由紋理單元負責(zé)。Cypress的雙線過濾紋理運算能力達到了每秒680億次,實際性能中一大明顯改變就是可實現(xiàn)各向無角度紋理過濾。為了迎合DX11,Cypress還重拾了R600中的曲面細分單元,并加以優(yōu)化和改進,使之可以更高效率的細分出更多的多邊形和曲面。還增加了Eyefinity Display Contorllers,可以實現(xiàn)六屏輸出,這也是Cypress的一個亮點。不過總得來說,Cypress相對RV770在架構(gòu)方面改進有限,主

43、要是新增了DX11新特性,另外利用40nm和新一代GDDR5顯存在功耗控制方面做的非常完美,加上搶先發(fā)布性能均衡,受到了很好的市場反響, 內(nèi)容導(dǎo)航架構(gòu)未變特性增強:穩(wěn)中過渡的Barts即便從本質(zhì)上來說Cypress架構(gòu)不算太多改進不多,但搶先發(fā)布、眾多新特性的出現(xiàn)、更方面均衡的表現(xiàn)還是受到了很多消費者的青睞,對手的Fermi架構(gòu)的改變雖然徹底,但遲到許久發(fā)布而且功耗溫度控制很不完善。一路領(lǐng)先的AMD在進入DX11時代節(jié)奏就明顯快半拍,更多的研發(fā)時間也讓人不禁對下一代“北方群島”充滿了期待。但讓人遺憾的是,雖然所謂的代號的Barts核心架構(gòu)在發(fā)布之前就有各種各樣的傳聞,但是受到各方面限制,特別是

44、臺積電代工工藝的落后,Radeon HD 6800系列所屬的“北方群島”家族并沒有在核心架構(gòu)方面進行大規(guī)模的重新設(shè)計,而是基本沿用了R600以來的VLIW5式SIMD流處理器結(jié)構(gòu),并在諸多細節(jié)上做了優(yōu)化和增強,AMD稱之為“第二代DX1 1設(shè)計”。 Barts核心架構(gòu)圖對比前面的Cypress核心架構(gòu),Barts 的改變可謂“微乎其微”,最明顯的就是Ultra-Threaded Dispatch Processor(超線程派遣分配單元不再是Cypress當中的一組,而是為每個核心模塊均配備了一組。也就是說,原本在Cypress當中的一個超線程派遣分配單元負責(zé)的1600個流處理器改為了現(xiàn)在的兩個

45、超線程派遣分配單元分別負責(zé)560個(每核心560個流處理器,兩個核心共1120個流處理器,從而保證流處理器單元能夠盡可能的達到最高的利用率。雖然相關(guān)產(chǎn)品型更高,但Barts相比Cypress規(guī)格卻進行了削減,Barts擁有14個SIMD引擎,每個引擎還是80個流處理器,總共1120個,紋理單元56個,ROP光柵單元32個。從由于各項規(guī)格性能上來講要弱于Cypress。當然這跟架構(gòu)毫無關(guān)系,而是AMD的市場策略所致。按照AMD的說法,Radeon HD 6000系列架構(gòu)重點有五大方面的進步:1、更強的單位面積性能,比上代提升最多35%;2、第二代DX11設(shè)計,更快的曲面細分和幾何吞吐;3、新的和

46、改進的畫質(zhì)功能,包括抗鋸齒和各向異性過濾;4、增強的多媒體加速,包括、UVD3硬件解碼引擎、AMD APP并行異構(gòu)計算技術(shù)、藍光3D立體技術(shù);5、下一代顯示技術(shù),包括Eyefinity+多屏輸出、HDMI 1.4a規(guī)范、DisplayPort 1.2規(guī)范。雖然架構(gòu)方面的調(diào)整微乎其微,但Barts還是對內(nèi)核設(shè)計做了重新配置,單精度浮點性能最高能夠突破2TFlops(每秒2萬億次計算大關(guān),每秒鐘能夠處理的像素也能超過240億,同時曲面細分單元進行了特別增強(第七代,光柵器(Rasterizer也配備了兩個,Hub部分有PCI-E 2.1總線控制器、UVD3硬件解碼引擎、CrossFireX管理引擎、Eyefinity顯示控制器等,顯存控制器則依然是四個64-bit,總位寬256-bit,繼續(xù)搭配高速GDDR5顯存顆粒??偟膩碚f,Barts算是AMD顯卡發(fā)展道路上的穩(wěn)中過渡。 內(nèi)容導(dǎo)航革新VLIW 4架構(gòu):嘗試改變的CaymanBarts的出現(xiàn)算是AMD產(chǎn)品路線的一個策略,我們不能說AMD保守,但從長遠發(fā)展方面來看,如此做法未必是長久之計。到了Radeon HD 6000的高端型號:Ra

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論