<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動(dòng)態(tài) > GPU如何工作:PowerVR/高通Adreno/ARM Mali的渲染模式分析

          GPU如何工作:PowerVR/高通Adreno/ARM Mali的渲染模式分析

          作者: 時(shí)間:2016-06-20 來源:愛活網(wǎng) 收藏
          編者按:對(duì)大多數(shù)讀者來說,GPU架構(gòu)甚至GPU是啥,的確完全可以不需要了解,只要看上去外觀比較合眼緣就可以讓他們毫不猶豫地掏腰包購買。

            在渲染片元的時(shí)候,GPU先比較最粗糙版本的Z-buffer。如果要畫的片元Z值還比較遠(yuǎn),那這個(gè)片元就一定不用畫出來了。如果它比較近,就再拿比較細(xì)的Z-buffer來比較,一直比較到最細(xì)的版本。在理想的情形下,通常大部分的片元都不需要比較到最細(xì)的版本,所以可以節(jié)省不少時(shí)間(要記得,一個(gè)“粗糙”版的Z值比較,其實(shí)就等于和四個(gè)“精細(xì)”版的 Z 值比較)。

          本文引用地址:http://www.ex-cimer.com/article/201606/292810.htm


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            相較之下,的TBDR會(huì)在幾何階段的三角形裁剪后將當(dāng)前 scene(場景或者說畫面)的三角形經(jīng)過篩選排序存放在scene buffer 內(nèi),然后由 HSR(隱面消除)算法將攝像機(jī)視點(diǎn)不可見的片元剔去掉,這部分實(shí)現(xiàn)細(xì)節(jié)已經(jīng)在一節(jié)中有闡述,這里就不再復(fù)述了。

            按照高通的說法,從3xx系列采用了名為FlexRender的渲染架構(gòu),可以自動(dòng)在立即渲染和TBDR之間切換,而且這個(gè)TBDR的執(zhí)行過程和 TBDR是基本一樣的(同樣有對(duì)三角形進(jìn)行binning和剔除無效片元的處理):


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            所以從微架構(gòu)方面而言,高通透露的信息并不多,只能看到個(gè)大概,以驍龍820搭配的 530為例,采用了統(tǒng)一著色架構(gòu)和FlexRender,配有256個(gè)ALU,支持DirectX 12.1、Vulkan、OpenCL 2.0。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            采用驍龍820(搭載 530)的小米 5(價(jià)格1999元版本))在運(yùn)行OpenCL-Z的FP32 性能測試結(jié)果是287 GFLOPS,相較之下,價(jià)格799元的紅米Note 2(Power VR 6200)只有44 GFLOPS,前者是后者性能的6.52倍,當(dāng)然,這個(gè)測試只是屬于底層測試,實(shí)際的游戲體驗(yàn)因人、因應(yīng)用而異。

            安謀Mali——弱核化設(shè)計(jì)

            安謀(ARM)最為人熟知的是旗下的各款 ARM CPU內(nèi)核,目前的主要手機(jī)幾乎都是采用ARM 陣營的CPU。

            ARM的GPU Mali是ARM在2006年收購的挪威公司Falanx獲得的,源起于是90年代由ARM在挪威科技大學(xué)支持的的項(xiàng)目,到了2001年由Borgar Ljosland與四位在該項(xiàng)目中的GPU團(tuán)隊(duì)學(xué)生于2001年創(chuàng)辦了這家Falanx Microsystems。

            Falanx最初是希望打進(jìn)臺(tái)式機(jī)市場,不過隨著3dfx、Matrox等公司的萎靡、敗退,臺(tái)式機(jī)GPU市場的格局發(fā)生了很大的變化,不再有空間給新丁了,F(xiàn)alanx轉(zhuǎn)向了從事手機(jī)、PDA、機(jī)頂盒、游戲掌機(jī)、信息機(jī)等領(lǐng)域,不過他們當(dāng)時(shí)在這個(gè)領(lǐng)域其實(shí)做得并不算很出色,ARM的收購對(duì)他們來說是一個(gè)重要的轉(zhuǎn)折點(diǎn)。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            ARM收購Falanx推出的第一款GPU就是2007年的Mali-200,是Mali第一款OpenGL ES 2.0 GPU,它和它的換代型號(hào)Mali-300、Mali-400、Mali-450都是基于名為Utgard(北歐神話中Utgard-Loki統(tǒng)治下約頓巨人位于仙宮與塵世之外的宮殿)的微架構(gòu)。Utgar采用的是非統(tǒng)一架構(gòu),頂點(diǎn)指令和像素指令有各自專門的單元來執(zhí)行,到了Mali-400時(shí)候?qū)崿F(xiàn)了多核能力。

            Mali最新的微架構(gòu)代號(hào)是Midgard,和Utgard不同的是,Midgard開始采用統(tǒng)一著色架構(gòu),幾何和片元操作指令都在同一個(gè)著色器單元上執(zhí)行。

            Mali同樣采用了分塊式渲染(塊元大小是16x16),但是根據(jù)下面這個(gè)幻燈片,可以看到其scene buffer或者說primitive buffer保存的圖元順序必須和程序遞交的順序保持一致(畫紅線部分),不存在PowerVR那樣的篩選(sorting)動(dòng)作。

            因此如果按照ImgTec的說法 Mali并不能算是真正的TBDR,當(dāng)然,它還是具備 Early-Z這樣的隱面消除能力,只是粒度上肯定不如PowerVR那么細(xì)(PowerVR自稱其HSR能力為pixel perfect)。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            在渲染流程方面,Mali或者說Midgard和目前你看到的大多數(shù)GPU做法有些不一樣,那就是作為統(tǒng)一渲染架構(gòu),它可以在同一時(shí)間里同時(shí)對(duì)幾何和片元進(jìn)行渲染操作,而其他的GPU在同一時(shí)間里要嘛就是幾何計(jì)算要嘛就是片元計(jì)算:


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            如上圖所示,你可以看到Mali可以在同一時(shí)間片上同時(shí)進(jìn)行幾何和片元操作,這表明Mali內(nèi)部的任務(wù)調(diào)度設(shè)計(jì)非常靈活,原因請(qǐng)看下面的介紹。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            上圖是Mali的著色器內(nèi)核(Shader Core)功能模塊圖,可以看到,如果圖示的確是正確的話,那么這個(gè)著色器內(nèi)核里面可謂是五臟俱全,本質(zhì)上就是一個(gè)小 GPU,圖形渲染所涉及到的操作都能在一個(gè) Shader Core 上完成,因此配有多個(gè)Shader Core的Mali可以做到在同一時(shí)間內(nèi)跑幾何和片元處理,多個(gè)Shader Core的Mali GPU其實(shí)就是一個(gè)片上多GPU并行渲染系統(tǒng)。

            其實(shí)其他廠商尤其是采用TBR的GPU可以像Mali這樣片上多核運(yùn)行多個(gè)Tile,但是Mali GPU的特別之處是它的內(nèi)核內(nèi)部是沒考慮擴(kuò)展的,至少目前是這樣。像ImgTecPower VR XT7等其他廠牌的GPU內(nèi)部的CU數(shù)都是具備延伸能力的,而Mali GPU則對(duì)不起,不管什么型號(hào)的Mali GPU,上面的Tri-Pipe 都是固定的一個(gè),這就是所謂的“完整的弱內(nèi)核”設(shè)計(jì)。

            從OpenCL的角度而言,每個(gè)Mali內(nèi)核都是一個(gè)CU,只能以多個(gè)Partition(分區(qū))的方式實(shí)現(xiàn)規(guī)模擴(kuò)張。而像PowerVR則是既可以多個(gè)CU 也可以多個(gè)Partition的方式實(shí)現(xiàn)規(guī)模上的性能延伸。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            值得一提的是,Mali-T880的Tri-Pipe,這其實(shí)就是Mali的可編程渲染/計(jì)算單元,其中包含了紋理(T-Pipe)、內(nèi)存指令(LS-Pipe)和算術(shù)邏輯(A-Pipe)單元三部分,在Mali-T880之前,Tri-Pipe的算術(shù)邏輯單元大都只有兩個(gè),而在Mali-T880上,Tri-Pipe 的算術(shù)邏輯單元增加到了3個(gè),使其計(jì)算能力提升了50%。

            Mali相對(duì)于目前大多數(shù)其他廠商GPU的另一個(gè)區(qū)別要點(diǎn)是它的A-Pipe采用了SIMD向量處理設(shè)計(jì),寄存器能夠像目前CPU的SIMD單元那樣靈活地拆分成2xFP64、4xFP32、8xFP16、2xInt64、4xInt32、8xInt16、16xInt8等數(shù)據(jù)類型訪問。

            按照ARM的說法,Mali的算術(shù)ISA 用了SIMD + VLIW的設(shè)計(jì):

            三個(gè)向量單元(128-bit數(shù)據(jù)路徑)

            4路FP32或者8路FP16

            16路Int8

            兩個(gè)標(biāo)量單元(32-bit數(shù)據(jù)路徑)


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            按照ARM官方博客的一篇文章,Mali-T760的每條A-Pipe單周期單精度計(jì)算性能是17FLOP,從上圖來看,VMUL和VADD以及SADD、SMUL的FLOPS是應(yīng)該是10個(gè),余下的7個(gè)就是那個(gè)VLUT。

            LUT的含義并不是很清楚,也許是查表(Look-up Table)的含義,不過這樣的話,我覺得似乎不太適合將其歸入到人們常說的通用計(jì)算性能指標(biāo)里,即使其使用的是VLIW指令集。

            所以我覺得每條A-Pipe的單精度性能應(yīng)該視作每周期10個(gè)比較合適。對(duì)于Mali-T880MP16來說,在 650MHz 時(shí)候的單精度性能應(yīng)該是312 GFLOPS,同理,Mali-T760MP8的單精度浮點(diǎn)性能應(yīng)該是104 GFLOPS,當(dāng)然這只是我的個(gè)人意見。

            LS-Pipe執(zhí)行的是和紋理無關(guān)的內(nèi)存存取動(dòng)作,例如幾何/片元處理時(shí)候的屬性讀取和變量寫入操作。通常而言每條指令就是一次內(nèi)存訪問操作,如果是 A-pipe的向量操作就是單指令Vec4操作。

            雖然ARM Mali并非TBDR,不具備在進(jìn)入塊元渲染之前透過篩選將無效的片元剔除掉,但是它的某些型號(hào)具備名為Forward Pixel Kill(正向像素剔除,簡稱FPK,見上面Mali-T880 Shader Core架構(gòu)圖中Early-Z后接的就是FPK單元)技術(shù)。

            具備這個(gè)技術(shù)的GPU所跑的線程不再是不可撤銷的,如果發(fā)現(xiàn)稍后的線程要向相同像素位置寫入不透明數(shù)據(jù),就會(huì)將已經(jīng)在進(jìn)行的計(jì)算終止掉。由于每個(gè)像素需要花費(fèi)一段時(shí)間才能完成,因此 FPK可以有一個(gè)時(shí)間窗口來排空流水線中已有的無效渲染片元。

            按照ARM的說法,這個(gè)FPK技術(shù)在最適中的流水時(shí)間窗口下所能達(dá)到的消除無效渲染效果可以和PowerVRTBDR w/HSR媲美,而且無需對(duì)整個(gè)畫面的三角形進(jìn)行篩選、無需在程序里添加篩選代碼、能夠?qū)Π胪该鲗?duì)象實(shí)行正確處理、不會(huì)對(duì)幀率產(chǎn)生突變影響。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            上面這個(gè)表格是維基百科上的Mali各型號(hào)規(guī)格表,其中的單精度指標(biāo)是包括了那個(gè)VLUT的。

            目前市場上大多數(shù)采用Mali的中端SoC都還是基于Mali-4XX系列,按照 ARM的說法,目前有75%的數(shù)字電視、超過50%的Android平板電腦、大于35% 的智能手機(jī)采用了Mali GPU。

            例如小米電視3就采用了Mali-T760MP4這個(gè)GPU,三星去年的旗艦產(chǎn)品Galaxy S6、Galaxy S6 Edge都有采用Mali-T760,我手頭有一臺(tái)支持智能卡的電信T6有線電視機(jī)頂盒,搭配的是全志的SoC,其中的GPU也是ARM Mali-400MP,所以這個(gè)看上去有點(diǎn)古怪(完整的弱內(nèi)核設(shè)計(jì))的GPU在市占率方面Mali已經(jīng)取得了相當(dāng)不錯(cuò)的成績。

            三星Galaxy S6采用的Mali-T760MP8名義頻率是772MHz,理論單精度性能是123.5 GFLOPS(按照每個(gè)算術(shù)流水線里包含兩個(gè)4 路FP32 SIMD和兩個(gè) FP32標(biāo)量來統(tǒng)計(jì),未將那個(gè)相當(dāng)于7個(gè)FLOPS 的VLUT或者說 SFU 單元計(jì)算在內(nèi)),3DMark Ice Storm Unlimited 得分是 20988 ,而采用PowerVRGT7600的iPhone 6s Plus 3Dmark Ice Storm Unlimited 結(jié)果是27811,基本上符合123.5 GFLOPS vs 172.8GFLOPS (按照iPhone 6s Plus的GT7600頻率為450MHz時(shí)計(jì)算出的單精度性能為172.8 GFLOPS)的差距。

            我們相信,在新的一年里將有機(jī)會(huì)看到Mali-T8xx系列初露崢嶸,原因是Mali的完整弱內(nèi)核比較便于隨意搭配,新內(nèi)核帶來的規(guī)格、性能提升也可以為新應(yīng)用帶來更好的用戶體驗(yàn)。

            結(jié)語

            在這篇文章里,我們介紹了三個(gè)常見的智能設(shè)備或者說手機(jī)/平板電腦的GPU,涉及到的知識(shí)面相對(duì)坊間的大多數(shù)文章而言要更深入一些,例如ImgTec的PowerVR、高通的Adreno、ARM的Mali雖然都屬于TBR,但是具體的實(shí)現(xiàn)卻有著各自的特色。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            ImgTec的PowerVR是三個(gè)TBR架構(gòu)中歷史最長的,也是10年GPU大戰(zhàn)中少數(shù)幸存下來并且活的還比較滋潤的廠商之一,PowerVR在TBDR方面擁有非常豐富的實(shí)作經(jīng)驗(yàn),憑借 TBDR 的高能效比特點(diǎn),在移動(dòng)設(shè)備中站穩(wěn)了腳跟,成為包括蘋果在內(nèi)眾多手機(jī)廠商選擇的GPU方案。

            高通的 Adreno 從3xx系列開始引入了名為FlexRender的渲染技術(shù),能動(dòng)態(tài)在IMR和TBDR渲染模式之間切換,前者可以在兼容性、響應(yīng)時(shí)延方面提供最佳的保證,而后者可以在性能耗電比方面達(dá)到更佳的體驗(yàn)效果。

            Mali的渲染架構(gòu)相對(duì)簡單,屬于TBIMR,也就是分塊式立即渲染,對(duì)遞交的三角形順序不作篩選處理,分塊的主要目的是節(jié)省帶寬,不過它的某些型號(hào)具備名為 Forward Pixel Kill的技術(shù),能夠隨時(shí)停掉“預(yù)見”到的無效像素(線程)的渲染,號(hào)稱可以達(dá)到媲美PowerVR TBDR 的效果。同時(shí),Mali采用了“完整弱GPU內(nèi)核”(相對(duì)于其他廠商的“完整可延伸GPU內(nèi)核”而言)設(shè)計(jì),內(nèi)核中的渲染單元不能擴(kuò)展,性能的規(guī)模延伸是透過增加內(nèi)核數(shù)來達(dá)到。

            我們?cè)诒疚闹袥]有對(duì)NVIDIA的GeForce ULP和Intel的GenX進(jìn)行介紹,不過它們其實(shí)基本上就是同架構(gòu)的臺(tái)式機(jī)版本的規(guī)??s減版,當(dāng)然,由于針對(duì)的移動(dòng)設(shè)備,其中還有一些省電措施,遺憾的是,這兩家廠商的GPU雖然性能不錯(cuò),但是在手機(jī)市場上由于各自自身的因素而缺乏整機(jī)廠商的支持。

            所以,本文從一開始就不打算透過這篇文章來影響讀者的購買意向,這只是一篇有科普性質(zhì)的文章,盡可能地較少功利的因素,但求看起來資料盡可能詳細(xì)有趣同時(shí)又能增加一些見識(shí)就行。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: PowerVR Adreno

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();