新四季網

一種GPU統一染色處理陣列的調試結構的製作方法

2024-03-20 05:11:05 1

本發明涉及計算機硬體技術領域,尤其涉及GPU統一染色處理陣列的調試結構。



背景技術:

隨著圖形化應用的不斷增加,早期單靠CPU進行圖形繪製的解決方案已經難以滿足成績和技術增長的圖形處理需求,圖形處理器(Graphic Processing Unit,GPU)應運而生。從1999年Nvidia發布第一款GPU產品至今,GPU技術的發展主要經歷了固定功能流水線階段、分離染色器架構階段、統一染色器架構階段,其圖形處理能力不斷提升,應用領域也從最初的圖形繪製逐步擴展到通用計算領域。GPU流水線高速、並行的特徵和靈活的可編程能力,為圖形處理和通用並行計算提供了良好的運行平臺。

目前,我國尚無基於統一染色架構的GPU,各領域顯示控制系統中大量採用國外進口的商用GPU晶片。尤其是在軍用領域中,國外進口商用GPU晶片存在溫度和環境適應性差、無法保證電路本身或配套軟體沒有「後門」、包含大量軍用領域不需要的冗餘功能單元,功耗指標無法滿足要求、商用GPU晶片更新換代快,隨時面臨停產、斷檔,難以滿足武器裝備持續保障等缺陷,在安全性、可靠性、保障性等方面的存在重大隱患。而且,出於政治、軍事、經濟等原因,國外對我國實行技術「封鎖」和產品「壟斷」,難以獲得GPU晶片的底層技術資料,如寄存器資料、詳細內部微架構、核心軟體源碼等,導致GPU功能、性能無法充分發揮,且移植性較差;上述問題嚴重製約了我國顯示系統的獨立研製和自主發展。

尤其是GPU統一染色陣列調試機制,是GPU圖形處理流水線微架構的核心設計與驗證技術,突破GPU統一染色陣列調試關鍵技術,研製高性能圖形處理器晶片迫在眉睫。



技術實現要素:

本發明公開了一種GPU統一染色處理陣列的調試結構,能夠實現在設計驗證和使用過程中,主機對GPU統一染色陣列中所有染色任務屬性數據的簡便、高效訪問。

本發明的技術解決方案是:

一種GPU統一染色處理陣列的調試結構,包括:

包含GPU與主機之間的總線接口單元(1)(PCIe EP)、染色任務調度單元(2)、多個統一染色陣列中的控制和狀態寄存器(3)(CSR,Control and Status Register)、多個染色器簇程序入口寄存器(4)(SPE,Shader Program Entry),以及對統一染色陣列內部局部存儲器進行訪問的窗口訪問控制邏輯(5);

主機通過總線接口單元(1)配置染色任務調度單元(2),確定染色任務的調度模式,即每個染色任務中多個獨立頂點和像素的MASK標識和染色任務在SSC中的位置信息;

主機通過總線接口單元(1)配置控制和狀態寄存器(3),確定統一染色陣列中多個SSC的工作模式;

主機通過總線接口單元(1)配置染色器簇程序入口寄存器(4),確定統一染色陣列中多個SSC執行染色程序時的入口地址;

主機通過總線接口單元(1)配置窗口訪問控制邏輯(5),確定窗口控制邏輯的工作模式;

主機通過總線接口單元(1)根據染色任務調度單元(2)中的調度模式信息,通過訪問窗口訪問控制邏輯(5)中的地址窗口寄存器和數據窗口寄存器將要調試的染色任務數據送入統一染色陣列中不同的SSC中,調試準備工作結束;

統一染色陣列根據控制和狀態寄存器(3)和染色器簇程序入口寄存器(4)並行執行染色程序,並將執行結果寫入染色器內核的存儲器中;

主機通過總線接口單元(1)通過訪問窗口訪問控制邏輯(5)中的地址窗口寄存器和數據窗口寄存器將調試的染色任務的執行結果從染色器內核的存儲器中讀回主機,調試工作結束。

所述GPU與主機之間的總線接口單元(1)能夠對染色任務調度單元(2)、窗口訪問控制邏輯(5),以及多個染色器簇程序入口寄存器(4)進行配置訪問.

所述染色任務調度單元(2)進行頂點和像素染色任務的調度,至少包括對頂點和像素染色任務屬性數據的傳輸,以及對染色任務類型、任務掩碼和數據準備好標識的設置。

所述統一染色陣列中的控制和狀態寄存器(3)包含一組寄存器,用來存儲統一染色陣列中某個染色器簇的控制和狀態信息,至少包括在當前染色器簇上運行的所有染色任務的類型、所有染色任務的掩碼、數據準備好標識,以及染色任務執行完成標誌。

所述染色器簇程序入口寄存器(4)用來存儲統一染色陣列中某個染色器簇上,用來進行頂點和像素染色任務處理的頂點染色程序和像素染色程序在顯示存儲器中的入口地址;染色器簇程序入口寄存器(4)可以根據用戶指定的頂點染色程序和像素染色程序在顯示存儲器中的實際起始地址隨意指定。

所述窗口訪問控制邏輯(5)包括多個專用的窗口寄存器;通過多個專用的窗口寄存器可以實現對統一染色陣列所有染色器簇中用來存儲染色任務屬性數據的局部存儲器(LocalSRAM)進行訪問;

所述窗口訪問控制邏輯中的多個專用窗口寄存器至少包括地址窗口寄存器、數據窗口寄存器,以及窗口訪問模式寄存器;其中,地址窗口寄存器用來存儲需要訪問的某個染色器簇中局部存儲器的地址,以及本次訪問的讀寫控制信號;數據窗口寄存器用來存儲要寫入某個染色器簇中局部存儲器的數據,或者從某個染色器簇中局部存儲器讀出的數據,根據不同的圖形狀態參數訪問數據通路寬度,包含一個或多個32b寄存器;窗口訪問模式寄存器中的標誌位用來在正常圖形處理模式和調試模式間進行選擇。

主機可以對窗口訪問控制邏輯(5)中的窗口訪問模式寄存器進行配置,使窗口工作於正常圖形處理模式或者調試模式。

統一染色陣列中所有染色器簇中的局部存儲器統一編址,不同染色任務的屬性數據位於不同的局部存儲器的不同地址段中。

總線接口單元的寄存器訪問通路連接到染色任務調度單元、窗口訪問控制邏輯,以及多個染色器簇程序入口寄存器中;染色任務調度單元的染色任務信息設置通路連接到統一染色陣列中的多個控制和狀態寄存器單元(CSR)中;窗口寄存器中的地址窗口寄存器、數據窗口寄存器連接到所有統一染色陣列中所有染色器簇中。

在調試模式下,只有主機可以通過對多個窗口寄存器對統一染色陣列所有染色器簇中所有局部存儲器進行訪問,染色任務類型、狀態等信息仍由染色任務調度單元負責設置;在正常圖形處理模式下,染色任務調度單元可以對統一染色陣列所有染色器簇中所有局部存儲器進行訪問,並負責對染色任務類型、狀態等信息進行設置。

本發明的技術效果是:

1、典型的GPU統一染色陣列中的染色任務的屬性數據屬於GPU內部狀態,主機端無法獲得。因此,在設計過程中如何在FPGA平臺上驗證大量染色任務並行執行時統一染色陣列計算結果的正確性是極為困難的工作。本發明中所述窗口訪問機制提供了一種手段,可以通過窗口控制邏輯內部有限的幾個專用寄存器,就能實現主機對數量眾多的統一染色陣列中染色任務屬性數據進行訪問的目的,降低了FPGA驗證過程難度。

2、典型的GPU統一染色陣列中包含2000000個以上的32b寄存器用來存儲染色任務的屬性數據,直接將如此數量眾多的染色任務屬性數據暴露給主機處理器會佔用大量主機總線地址空間,而採用窗口訪問機制可以將主機訪問染色任務屬性數據時需要佔用的總線地址空間降低到不超過10個32b字,大幅降低主機需要訪問的存儲空間範圍,為總線上其它設備留出了更大空間。

附圖說明

圖1是本發明基於窗口的GPU統一染色陣列調試結構框圖。

具體實施方式

下面結合附圖和具體實施例,對本發明的技術方案進行清楚、完整地表述。顯然,所表述的實施例僅是本發明一部分實施例,而不是全部的實施例,基於本發明中的實施例,本領域技術人員在沒有做出創造性勞動前提所獲得的所有其它實施例,都屬於本發明的保護範圍。

本發明提供一種GPU統一染色處理陣列的調試結構,包括:

包含GPU與主機之間的總線接口單元1(PCIe EP)、染色任務調度單元2、多個統一染色陣列中的控制和狀態寄存器3(CSR,Control and Status Register)、多個染色器簇程序入口寄存器4(SPE,Shader Program Entry),以及對統一染色陣列內部局部存儲器進行訪問的窗口訪問控制邏輯5;

主機通過總線接口單元1配置染色任務調度單元2,確定染色任務的調度模式,即每個染色任務中多個獨立頂點和像素的MASK標識和染色任務在SSC中的位置信息;

主機通過總線接口單元1配置控制和狀態寄存器3,確定統一染色陣列中多個SSC的工作模式;

主機通過總線接口單元1配置染色器簇程序入口寄存器4,確定統一染色陣列中多個SSC執行染色程序時的入口地址;

主機通過總線接口單元1配置窗口訪問控制邏輯5,確定窗口控制邏輯的工作模式;

主機通過總線接口單元1根據染色任務調度單元2中的調度模式信息,通過訪問窗口訪問控制邏輯5中的地址窗口寄存器和數據窗口寄存器將要調試的染色任務數據送入統一染色陣列中不同的SSC中,調試準備工作結束;

統一染色陣列根據控制和狀態寄存器3和染色器簇程序入口寄存器4並行執行染色程序,並將執行結果寫入染色器內核的存儲器中;

主機通過總線接口單元1通過訪問窗口訪問控制邏輯5中的地址窗口寄存器和數據窗口寄存器將調試的染色任務的執行結果從染色器內核的存儲器中讀回主機,調試工作結束。

所述GPU與主機之間的總線接口單元1能夠對染色任務調度單元2、窗口訪問控制邏輯5,以及多個染色器簇程序入口寄存器4進行配置訪問.

所述染色任務調度單元2進行頂點和像素染色任務的調度,至少包括對頂點和像素染色任務屬性數據的傳輸,以及對染色任務類型、任務掩碼和數據準備好標識的設置。

所述統一染色陣列中的控制和狀態寄存器3包含一組寄存器,用來存儲統一染色陣列中某個染色器簇的控制和狀態信息,至少包括在當前染色器簇上運行的所有染色任務的類型、所有染色任務的掩碼、數據準備好標識,以及染色任務執行完成標誌。

所述染色器簇程序入口寄存器4用來存儲統一染色陣列中某個染色器簇上,用來進行頂點和像素染色任務處理的頂點染色程序和像素染色程序在顯示存儲器中的入口地址;染色器簇程序入口寄存器4可以根據用戶指定的頂點染色程序和像素染色程序在顯示存儲器中的實際起始地址隨意指定。

所述窗口訪問控制邏輯5包括多個專用的窗口寄存器;通過多個專用的窗口寄存器可以實現對統一染色陣列所有染色器簇中用來存儲染色任務屬性數據的局部存儲器(LocalSRAM)進行訪問;

所述窗口訪問控制邏輯中的多個專用窗口寄存器至少包括地址窗口寄存器、數據窗口寄存器,以及窗口訪問模式寄存器;其中,地址窗口寄存器用來存儲需要訪問的某個染色器簇中局部存儲器的地址,以及本次訪問的讀寫控制信號;數據窗口寄存器用來存儲要寫入某個染色器簇中局部存儲器的數據,或者從某個染色器簇中局部存儲器讀出的數據,根據不同的圖形狀態參數訪問數據通路寬度,包含一個或多個32b寄存器;窗口訪問模式寄存器中的標誌位用來在正常圖形處理模式和調試模式間進行選擇。

主機可以對窗口訪問控制邏輯5中的窗口訪問模式寄存器進行配置,使窗口工作於正常圖形處理模式或者調試模式。

統一染色陣列中所有染色器簇中的局部存儲器統一編址,不同染色任務的屬性數據位於不同的局部存儲器的不同地址段中。

總線接口單元的寄存器訪問通路連接到染色任務調度單元、窗口訪問控制邏輯,以及多個染色器簇程序入口寄存器中;染色任務調度單元的染色任務信息設置通路連接到統一染色陣列中的多個控制和狀態寄存器單元(CSR)中;窗口寄存器中的地址窗口寄存器、數據窗口寄存器連接到所有統一染色陣列中所有染色器簇中。

在調試模式下,只有主機可以通過對多個窗口寄存器對統一染色陣列所有染色器簇中所有局部存儲器進行訪問,染色任務類型、狀態等信息仍由染色任務調度單元負責設置;在正常圖形處理模式下,染色任務調度單元可以對統一染色陣列所有染色器簇中所有局部存儲器進行訪問,並負責對染色任務類型、狀態等信息進行設置。

實施例

如圖1所示,主機通過PCIe模塊中的寄存器通道,可以配置窗口控制邏輯中的窗口訪問模式寄存器,從而選擇工作在正常工作模式或是調試工作模式。

在調試工作模式下,不同實現方案的訪問流程可能存在差異,但並不使相應實現方案的本質脫離本發明方案的精神和範圍。主機對統一染色陣列調試訪問的典型流程如下:

第一步,主機通過總線接口單元的寄存器通道依次訪問窗口控制邏輯中的地址和數據窗口寄存器,寫入要寫的染色器簇局部存儲器地址和寫標誌,以及要寫的數據。窗口控制邏輯會向統一染色陣列某一個染色簇局部存儲器中寫入任意指定的染色任務屬性數據。這一步驟可以重複多次,從而最多向統一染色陣列中注入不超過最大染色任務數量的任意多個染色任務;

第二步,主機通過總線接口單元的寄存器通道訪問多個染色器簇程序入口寄存器,寫入不同染色器簇上不同類型染色任務的軟體處理程序在顯示存儲器中的入口地址。染色器簇程序入口寄存器的數量與統一染色陣列中染色器簇的數量相同,從而使得每個染色器簇可以從任意的染色程序入口開始處理。但需要設置的染色器簇程序入口寄存器的數量應該與第一步中已經通過主機寫入的染色任務的染色器簇的數量一致;

第三步,主機通過總線接口單元的寄存器通道訪問染色任務調度單元上的統一染色陣列調試控制寄存器,然後,染色任務調度單元根據統一染色陣列調試控制寄存器的內容訪問統一染色陣列中多個控制和狀態寄存器單元(CSR),完成不同染色器簇上染色任務的類型和掩碼信息,以及數據準備好標誌的設置。需要設置的控制和狀態寄存器單元的數量與第一步中已經通過主機寫入的染色任務的染色器簇的數量一致;

第四步,統一染色陣列中的染色器簇在與其對應的控制和狀態寄存器中數據準備好標誌有效的情況下開始進行一個或多個染色任務的處理,每個染色器簇中的染色任務處理程序從其對應的局部存儲器中取出頂點或像素染色任務的屬性數據進行計算。計算完成後將染色任務屬性數據的計算結果仍然寫回到對應的局部存儲器中;

第五步,主機通過總線接口單元的寄存器通道訪問窗口控制邏輯中的地址窗口寄存器,寫入要讀的局部存儲器地址和讀標誌;然後窗口控制邏輯會根據地址窗口寄存器中的內容將對應染色器簇中局部存儲器的數據讀回,並寫入到數據窗口寄存器中。最後窗口控制邏輯會將數據窗口寄存器中的內容通過總線接口單元的寄存器通道返回到主機。

這樣,主機就可以根據需要向統一染色陣列中的任意染色器簇中注入不超過最大染色任務數量的任意多個染色任務;並能夠隨意指定所注入染色任務的類型;還能夠通過設定染色處理程序入口地址的方式隨意指定不同染色器簇上不同類型染色任務的處理方式;還能夠獲得任意以及處理完成的染色任務的執行結果。從而,完整、方便的實現了對統一染色陣列的調試,為GPU晶片的FPGA驗證,以及晶片流片後測試過程提供了重要手段。

在正常工作模式下,向統一染色陣列中注入染色任務屬性數據的過程由染色任務調度單元完成,而不是主機。但對多個染色器簇程序入口寄存器的設置仍然由主機完成,統一染色陣列中多個控制和狀態寄存器單元(CSR)中染色任務類型、掩碼,以及屬性數據準備好標誌仍然由染色任務調度單元完成設置。

最後應說明的是,以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解;其依然可以對前述各實施例記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀