• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    可重構(gòu)紋理貼圖加速器設(shè)計

    2020-06-10 07:40:50楊博文馬龍
    電子技術(shù)與軟件工程 2020年4期
    關(guān)鍵詞:加速器紋理指令

    楊博文 馬龍

    (西安郵電大學(xué)電子工程學(xué)院 陜西省西安市 710121)

    GPU(Graphics Processing Unit,圖形處理單元)在桌面與各類嵌入式系統(tǒng)中應(yīng)用極其廣泛,從空間曲線到復(fù)雜分形、從三維幾何到真實感圖形、從單幀畫面到物理模擬與實時游戲等,桌面與嵌入式系統(tǒng)對高性能圖形渲染的需求日益緊迫[1]。紋理貼圖作為GPU中的關(guān)鍵模塊,是將紋理空間中的紋理像素映射到屏幕空間中像素的過程[2],在真實感圖形處理中發(fā)揮著重要的作用。紋理貼圖作為真實感圖像繪制的重要部分,在時間關(guān)鍵的應(yīng)用場合,如游戲、模擬應(yīng)用中,當(dāng)前幀和后續(xù)幀的渲染結(jié)果之間往往存在空間連貫性和圖像連貫性等相關(guān)性,因此當(dāng)前幀渲染時的瓶頸流水級往往也是后續(xù)幀渲染的瓶頸,在眾多的紋理貼圖算法中,面向不同的渲染場景時,也具有不同的效率[3]。目前,基于統(tǒng)一著色器架構(gòu)的GPU在紋理貼圖中只采用一種或一類算法,無法根據(jù)實際需求實現(xiàn)算法的自主切換,不能發(fā)揮最優(yōu)性能。因此,面向不同渲染場景需要紋理單元支持紋理貼圖算法靈活加載與自主調(diào)整以發(fā)揮紋理單元的最優(yōu)性能顯得尤為重要??芍貥?gòu)計算體系結(jié)構(gòu)將傳統(tǒng)處理器的高靈活性與專用集成電路的高處理效率相結(jié)合[4],在性能、功耗和功能靈活性等芯片的關(guān)鍵指標之間具有更好的平衡[5],這為GPU中紋理貼圖不同算法之間的可切換提供了研究思路。

    1 紋理貼圖加速器設(shè)計

    1.1 總體方案

    根據(jù)對算法的分析和上節(jié)可重構(gòu)結(jié)構(gòu)的設(shè)計,本節(jié)對可重構(gòu)紋理貼圖加速器進行了總體方案設(shè)計,將不同算法指令存儲在外部指令存儲中通過訪問外部存儲的方式將程序下發(fā)到各個PE中運行,將初始化紋理貼圖算法設(shè)置為雙線性濾波算法,在可重構(gòu)陣列處理元PE中實現(xiàn)。紋理貼圖加速器總體設(shè)計方案如圖1所示。將其分為四個模塊,包括性能狀態(tài)數(shù)據(jù)監(jiān)測模塊、主控制器模塊、外部指令存儲模塊以及層次化配置網(wǎng)絡(luò)HRM模塊。圖中每個PEG中包含4×4個PE。

    圖1:紋理貼圖加速器總體方案

    圖2:主控制器模塊電路框圖

    性能狀態(tài)數(shù)據(jù)監(jiān)測模塊主要通過多個計數(shù)器對像素染色器內(nèi)各級流水不同操作進行統(tǒng)計;IRAM是外部指令存儲模塊;主控制器模塊通過對上一級發(fā)送過來的性能數(shù)據(jù)進行綜合權(quán)衡,判斷在該渲染場景下應(yīng)該選擇哪種紋理貼圖算法。為了提升紋理貼圖加速器并行度,提高GPU渲染速度,本文采用4個陣列處理器簇同時對像素進行處理,因此,在該模塊中將下發(fā)指令方式設(shè)置為多播模式,同時配置掩碼信息以及對目的PE地址的尋址信息。

    1.2 主控制器設(shè)計

    圖3:性能狀態(tài)數(shù)據(jù)監(jiān)測模塊電路圖

    主控制器模塊通過對性能狀態(tài)數(shù)據(jù)監(jiān)測模塊傳送過來的性能狀態(tài)信息進行綜合權(quán)衡,判斷并選擇當(dāng)前情況下應(yīng)該選擇哪種算法。如圖2所示,可以根據(jù)以下方式進行判斷:當(dāng)像素處理器在數(shù)據(jù)移動量占用更大的比重時,在當(dāng)前場景下,為了節(jié)約資源,降低成本,應(yīng)該選擇具有更少數(shù)據(jù)移動的算法,即雙線性濾波算法,在這種情況下,根據(jù)取指基地址base_addr計算雙線性濾波算法在外部指令存儲IRAM的首地址,對該算法指令進行調(diào)用;當(dāng)像素處理器在計算量占用更大的比重時,為了減少計算復(fù)雜度,提升像素渲染性能,應(yīng)該選擇具有更少計算量的紋理貼圖算法,即最近鄰點采樣算法,通過基地址base_addr計算該算法在IRAM中的首地址;當(dāng)像素處理器在數(shù)據(jù)移動量和計算量同時占更大比重時,由于數(shù)據(jù)移動的成本遠遠高于計算操作,因此,選擇數(shù)據(jù)移動量更少的算法操作指令;同時,為了綜合渲染質(zhì)量因素,當(dāng)像素處理器在數(shù)據(jù)移動和計算量都占更小比重時,選擇MipMap結(jié)合線性濾波算法,通過基地址base_addr計算該算法在IRAM中的首地址。從IRAM中取出指令后,與目的PE尋址地址以及模式選擇標志位進行拼接,得到數(shù)據(jù)總線bus,并將數(shù)據(jù)總線傳入層次化配置網(wǎng)絡(luò)HRM的全局控制模塊,將操作指令下發(fā)到各個PE中。

    1.3 性能狀態(tài)數(shù)據(jù)監(jiān)測模塊設(shè)計

    性能狀態(tài)數(shù)據(jù)監(jiān)測模塊主要完成GPU繪制管線中像素染色器和紋理貼圖加速器中的數(shù)據(jù)移動量和計算量性能狀態(tài)的實時監(jiān)測,該模塊設(shè)計電路圖如圖3所示。通過6個計數(shù)器統(tǒng)計像素染色器和紋理貼圖加速器的不同操作,計數(shù)器1、2、3分別對像素染色器加載指令、存儲指令以及分支指令進行統(tǒng)計,inst1為像素染色器執(zhí)行的總指令數(shù);計數(shù)器4、5、6分別對紋理貼圖加速器加載指令、存儲指令以及分支指令進行統(tǒng)計,inst2為紋理貼圖加速器執(zhí)行的總指令數(shù),當(dāng)對當(dāng)前像素渲染完成后,計數(shù)器停止工作。將統(tǒng)計的結(jié)果采用公式通過加法器和減法器分別計算得到像素處理器和紋理貼圖加速器的數(shù)據(jù)移動量和計算量,并對其進行比較將結(jié)果輸出送至主控制器模塊。

    2 測試驗證

    2.1 功能仿真

    為了驗證本文所設(shè)計的可重構(gòu)紋理貼圖加速器功能正確性,本節(jié)通過給出兩組不同功能的測試激勵,對所設(shè)計的電路進行功能仿真驗證,仿真波形如圖4所示。在第一組輸入激勵中,采用初始化雙線性濾波算法進行紋理貼圖,計算結(jié)果如圖5中紅色數(shù)字框1所在位置,在第二組輸入激勵中,采用最近鄰點采樣算法,結(jié)果為圖中紅色數(shù)字框2所在位置。因此可知,對于可重構(gòu)紋理貼圖加速器仿真結(jié)果符合算法理論計算結(jié)果,功能正確。

    2.2 基于FPGA的測試方案

    本文采用軟硬件協(xié)同驗證方法對可重構(gòu)紋理貼圖加速器進行FPGA驗證,該驗證平臺由軟件系統(tǒng)和硬件系統(tǒng)構(gòu)成,如圖5所示。軟件系統(tǒng)的功能主要包含三個部分:

    (1)基于OpenGL測試程序的編寫;

    (2)對OpenGL測試程序進行翻譯;

    (3)命令驅(qū)動程序的調(diào)用。

    硬件系統(tǒng)包含PowerPC、PCI總線和可重構(gòu)圖形處理器原型系統(tǒng)三個部分。具體驗證方法如下:

    本文通過在一個立方體上進行紋理貼圖來驗證可重構(gòu)紋理貼圖加速器的正確性,具體測試方案為:使用OpenGL命令序列定義一個二維圖像,設(shè)置紋理的參數(shù)和紋理函數(shù),指定一個二維紋理,開啟二維紋理,指定立方體六個面的頂點、紋理、法向量以及顏色坐標,將逆時針方向設(shè)為多邊形的正面,剔除背面,采用填充繪圖模式(默認的),開啟深度測試,初始化深度為0.4,將深度范圍設(shè)置為(0.1,0.8);深度測試比較函數(shù)的參數(shù)設(shè)為GL_GREATER,開啟alpha測試,將比較函數(shù)設(shè)為GL_LESS,參考值設(shè)為1.0,設(shè)置視圖變換,將目標觀察點設(shè)為1.5,1.5,1.7,指向原點,以y軸的正方向為朝上方向。

    圖4:紋理貼圖算法可重構(gòu)仿真驗證

    2.3 FPGA綜合結(jié)果

    本文將設(shè)計的可重構(gòu)紋理貼圖加速器在Xilinx公司的Virtex6系列芯片XC6VLX550T開發(fā)板上進行FPGA測試,其中芯片資源占用情況如表1所示,綜合頻率為112.45MHz。

    根據(jù)上一節(jié)提出的可重構(gòu)紋理貼圖加速器原型系統(tǒng)驗證方案,本文在XC6VLX550T開發(fā)板上進行FPGA原型驗證,表明所設(shè)計的加速器能夠正確完成渲染流水線中紋理貼圖功能。

    3 結(jié)論

    本文在基于可重構(gòu)處理器的紋理貼圖算法映射實現(xiàn)的基礎(chǔ)上,對紋理貼圖不同算法動態(tài)可重構(gòu)進行了需求分析和可行性分析。然后提出動態(tài)可重構(gòu)紋理貼圖加速器的整體設(shè)計方案,可通過性能狀態(tài)數(shù)據(jù)監(jiān)測、主控制器、外部指令存儲以及層次化配置網(wǎng)絡(luò)HRM等模塊進行實現(xiàn),并對其中關(guān)鍵模塊進行了設(shè)計。同時,在該結(jié)構(gòu)下,提出3種算法在陣列處理器中的動態(tài)可重構(gòu)映射方案并給出具體實現(xiàn)過程。最后對提出的動態(tài)可重構(gòu)紋理貼圖加速器進行功能仿真并通過仿真驗證。同時采用軟硬件協(xié)同的驗證方法給出紋理貼圖加速器的硬件FPGA驗證方案,并在Virtex6系列芯片XC6VLX550T開發(fā)板上進行FPGA測試與性能分析.在電路結(jié)構(gòu)方面,本文與其他兩個實現(xiàn)方式比較,采用可重構(gòu)設(shè)計,在紋理貼圖算法能夠自主切換上具有更高的靈活性。

    表1:紋理貼圖加速器資源占用情況

    圖5:原型系統(tǒng)驗證平臺

    猜你喜歡
    加速器紋理指令
    輪滑加速器
    化學(xué)工業(yè)的“加速器”
    聽我指令:大催眠術(shù)
    全民小康路上的“加速器”
    少先隊活動(2021年6期)2021-07-22 08:44:24
    基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
    軟件(2020年3期)2020-04-20 01:45:18
    使用紋理疊加添加藝術(shù)畫特效
    ARINC661顯控指令快速驗證方法
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    電子測試(2018年18期)2018-11-14 02:30:34
    TEXTURE ON TEXTURE質(zhì)地上的紋理
    Coco薇(2017年8期)2017-08-03 15:23:38
    等待“加速器”
    蕲春县| 偃师市| 佛教| 蕉岭县| 页游| 凤山县| 淅川县| 翁牛特旗| 南乐县| 南京市| 德化县| 潼南县| 新疆| 凤山县| 澄城县| 静乐县| 东山县| 洛浦县| 瓦房店市| 孙吴县| 彭泽县| 安丘市| 溆浦县| 剑阁县| 哈密市| 阜康市| 彭阳县| 海晏县| 泸西县| 佛冈县| 调兵山市| 郴州市| 泸溪县| 北碚区| 长沙县| 西峡县| 柯坪县| 鄂伦春自治旗| 桂阳县| 贵州省| 天峨县|