新四季網

編譯可編程剔除單元的製作方法

2023-10-20 07:12:37

專利名稱:編譯可編程剔除單元的製作方法
編譯可編程剔除單元
背景技術:
本發明一般涉及數字表示的圖形,尤其涉及改善生成數字表示的圖形的性能。在20世紀80年代和90年代,出現了帶有圖形加速器的用於計算機和遊戲控制臺 的顯示適配器,從而在圖形生成中使中央處理單元(CPU)卸載。最初,顯示適配器提供2D 圖形的加速,但最終它們也包括支持加速3D圖形。現代顯示適配器使用通常稱為圖形處理 單元(GPU)的處理單元。由於3D圖形的複雜性,GPU將其大量處理能力用於執行與3D圖形有關的計算。總 是有需要更高幀率(每秒呈現的屏幕圖像)、更高解析度和更高圖像質量的新應用和遊戲, 從而產生應當在儘可能短的時間裡呈現每個屏幕圖像的要求。換言之,提高性能總是重要 的。可通過實現更高的時鐘速度、管線化、或利用並行計算以提高GPU的處理能力來 提高性能。然而,這往往產生更多熱量,從而冷卻GPU而產生更多功耗和更高風扇噪音。此 外,對每個GPU的時鐘速度是有限制的。附圖簡述

圖1是示出根據本發明實施例的在顯示適配器中不同實體如何交互的框圖。圖2是示出圖1的顯示適配器中使用的不同程序之間的關係的示意框圖。圖3示出可在圖1的顯示適配器中使用區間算術來剔除瓦塊的示例。圖如和4b示出可在圖1的顯示適配器中執行的剔除過程的流程圖。圖5示出實施圖1的顯示適配器的典型通用計算機的概覽架構。圖6a是示出圖1的顯示適配器中的輸入值的例外情形的顯示視圖。圖6b是示出圖6a的情形中的輸入值的曲線圖。圖7a和7b是可在圖1的顯示適配器中使用的紋理的說明性透視圖。圖是可在圖1的顯示適配器中使用的紋理的說明性視圖。圖9是一個實施例的流程圖。詳細描述參照圖1,顯示適配器100可包括多邊形構造塊102,其負責如所連接的中央處理 單元(CPU)570(圖5中所示)所指示地構造多邊形。儘管可使用任何多邊形,通常使用三隅 角形。對於每個多邊形,瓦塊光柵器104將要呈現的多邊形劃分成一個或多個瓦塊(tile), 其中每個瓦塊至少部分地與該多邊形交迭。一般而言,瓦塊是一群片斷。在一個實施例中, 瓦塊是包含多個片斷的二維矩形。這些片斷各自對應於一像素,且包含用於呈現該像素以 及測試是否應當在屏幕上呈現該像素所需的所有數據。瓦塊的常見大小是8x8片斷,但任 何大小的瓦塊都落在本發明的範圍內。分層深度剔除塊106執行分層深度剔除,這是基於深度緩衝的剔除。這裡,可執行 保守測試以證明該瓦塊是否被深度緩衝器中的內容覆蓋。換言之,該測試確定從觀看者的 觀點來看是否有另一個所呈現的對象完全覆蓋該瓦塊中的多邊形。如果是這種情形,則整 個瓦塊可被剔除,即被挑出以作較少處理,例如被跳過。這隨後在一些實施例中可得到性能增益。分層深度剔除可在可編程剔除單元108的剔除之前或之後執行。該單元可以是固定 函數,這在一個實施例中意味著其不執行可置換程序。在可編程剔除單元108中,根據也稱為可置換剔除模塊的可置換剔除程序118來 執行剔除。該剔除程序118的細節以及作用在下文結合圖如更詳細地解釋。在片斷光柵器110中,經可編程剔除單元108處理的瓦塊被分解成與多邊形交迭 的片斷。這些片斷各自對應於一像素,且包含用於呈現該像素以及測試是否應當在屏幕上 呈現該像素所需的數據。片斷數據可包括光柵位置、深度、色彩、紋理坐標、模板、α (阿爾 法,用於混合)等。對於每個像素,可能存在多個片斷樣本。在片斷編程單元112中,使用片斷程序120來處理從片斷光柵器輸出的片斷。該 單元的目的是為了執行諸如將先前評估的色彩與紋理組合、以及添加諸如霧等效果、以及 在可能時標識不需要呈現的片斷(即,片斷剔除)等任務。紋理單元114用於例如使用一維、二維、三維、四維和立方圖紋理進行紋理查找, 以及將這些提供給可編程剔除單元108和片斷編程單元112。混合/深度/ α單元116使用從片斷編程單元112提供的片斷在將這些片斷寫入 目標緩衝器之前執行深度測試、α測試、以及混合。圖2中所示的組合程序或編譯器程序222可用於自動生成在可編程剔除單元108 中使用的剔除程序118和在片斷編程單元112中使用的片斷程序120。任選地,程式設計師可編 寫單獨的剔除和片斷程序118、120。作為示例,考慮組合程序222的偽代碼段(1),其原始編寫成用作片斷程序DP3d, η, I (1)KIL d < 0TEX2D c, t0, rlMUL out. col, d, c該程序通過使用DP3指令將光(I)矢量與法線(η)矢量之間的點積計算成結果 (d)來執行基本漫射光照。η矢量和I矢量每片斷變化。KIL指令終止其中表面法線不面向 光(由d小於0指示)的所有片斷。TEX2D指令執行二維紋理至c的查找。最後,將結果 (d)乘以漫射材料係數(C)。KIL指令是用於剔除整個瓦塊的片斷的機會。但為了這樣做,應當保守地證明KIL 指令的條件對整個瓦塊成立。在該示例中,還必須有可能保守地評估DP3指令,因為KIL指 令取決於該指令的結果。此外,必須有可能找出整個瓦塊的輸入(該情形中為法線η和光 I的矢量)的保守界限,因為DP3指令又取決於這些值。為了實現該保守評估鏈,可編程剔除單元與片斷編程單元基於相同的指令集。然 而,代替將浮點變量作為指令的源和目的寄存器——在處理片斷時使用區間並且指令是使 用區間算術的原理來實現是典型的。作為簡單示例,考慮標準ADD (加法)指令。ADD c,a,b c = a + b(2)對於相應的可編程剔除單元區間指令,這些操作數被區間<5、糸6代替,其中區間例 如射皮定義為 ^[α,α\={χ I a<x< a)(3)可編程剔除單元ADD指令則為
5
ADD c,a, b c, = a+ b(4)其中區間加法運算實現為a + b= [a, a\ + [b, b]^[a + b,a + b\(5)由此可見,區間加法的結果包含「正常」加法的所有可能結果,或者更正式地,給定 ae 5且be 6,則a + b e S + 6。因此這在保守情況下是正確的。以類似方式,片斷程序指 令集中的每條指令的行為被重新定義。除了使用區間指令以外,輸入也可被定義為區間。因此,必須有可能計算在整個瓦 塊的片斷上插值的量的保守界限。注意,儘管本文使用區間算術,但是可使用表示整個瓦塊 的任何合適算術。例如,也可在本發明的範圍內等同地使用仿射算術和泰勒算術。通過以上推理,可從組合程序(1)自動推導出剔除程序118。推導出的剔除程序 為DP3 d, h, I(6)KIL d <0此外,這裡從組合程序(1)推導出片斷程序120,其將等同於組合程序220。片斷 程序為DP3 d, η, I(7)KIL d < 0TEX2D c, t0, rlMUL out. col, d, c對於整個瓦塊的片斷,假設確定其法線330的輸入區間334為 A =(卜力/2,-1/2],[1/2, V5/2]),以及其光矢量332的區間336為
/ = ([1/V^,1],[-1/V^,0]),如圖3中所示。假設ζ坐標為0,這簡化了該示例。這些區間
表示之間的點積得到鄉=A /-[-(^ +力)/^,-!/·^。因此,可得出結論j至多可為
J = -1/·^。由於該值嚴格小於0,在以上參照圖2解釋的剔除程序中,該整個瓦塊可被剔除 而不對每個片斷執行片斷程序,這將在以下參照圖如更詳細地解釋。在本發明的一些實施 例中,這是性能增益的來源。圖如示出可在圖1的顯示適配器100中執行的剔除過程的流程圖。在該過程開 始時,可選擇要呈現的多邊形。在「選擇瓦塊進行處理」步驟440中,選擇瓦塊,其中所選擇 的瓦塊至少部分地與該多邊形交迭。隨後在「執行剔除程序」步驟452中執行剔除程序。在該實施例中,在剔除程序請求輸入值時,該過程繼續到「向剔除程序提供輸入 值」步驟45如。輸入值是與以某種方式表示瓦塊中的所有片斷的特性有關的值。例如,輸 入值可以是法線、位置坐標、光矢量、色彩、紋理坐標等。在該實施例中,使用區間算術來計 算所請求的輸入值。換言之,僅在需要輸入值時根據『拉』機制計算輸入值,這與參照圖4b 解釋的『推』機制不同。剔除程序的結果是當前處理的瓦塊是否應當被剔除。這可以嚴格 地確定,由此僅在當前多邊形對該瓦塊的區域中最終呈現的圖像沒有貢獻時,該瓦塊才被 剔除。替換地,可執行有損剔除,由此若當前多邊形對該瓦塊的區域中最終呈現的圖像的貢 獻低於某個閾值,該瓦塊被剔除。當剔除程序已完成處理時,該過程繼續到「條件剔除條件為真」步驟456。在該步驟中,根據剔除程序的輸出確定是否應當對當前處理的瓦塊執行剔除。若要執行剔除,則該 過程繼續到「執行指令集A」步驟458。否則,該過程繼續到「執行指令集B」步驟460。在 一個實施例中,若剔除條件為假,則該瓦塊被分解成若干較小瓦塊且該過程返回到「選擇瓦 塊進行處理」步驟440。這可以對越來越小的瓦塊相繼地重複,從而實現分層式多級剔除過程。剔除程序也可輸出除剔除條件以外的結果。這些結果可沿圖形管線向下發送以作 進一步處理。此類實施例的示例可包括顛倒分層深度剔除單元106(圖1)和可編程剔除單 元108(圖1)的次序。可編程剔除單元計算瓦塊中的深度值的界限或區間,且該區間被發 送給分層深度剔除單元。分層深度剔除單元隨後基於程序計算出的深度值執行剔除。在「執行指令集A」步驟458中,對瓦塊的子集(通常為片斷)執行指令集A。這 些片斷共同覆蓋與正被處理的三隅角形交迭的該瓦塊的所有像素。在「執行指令集B」步驟460中,對瓦塊的子集(通常為片斷)執行指令集B。這 通常是在瓦塊級之後對片斷的呈現的常規處理。指令集A通常比指令集B的要求低,導致在確定剔除條件為真時對該瓦塊作處理 的指令數量減少,從而導致性能提高。在一個實施例中,指令集A為空,從而大量減少了處 理,即大量提高了性能。該流程繼續迭代直至在步驟462沒有更多瓦塊。圖4b示出與參照圖如描述的過程基本上等同的過程。「選擇瓦塊進行處理」步驟 440、「執行剔除程序」步驟452、「條件剔除條件為真」步驟456、「執行指令集A」步驟458、 「執行指令集B」步驟460和「條件更多瓦塊」步驟462皆等同於圖如的相應步驟。然而,這裡在執行剔除程序之前處理「向剔除程序提供輸入值」步驟454b。在該步 驟中,在該實施例中使用區間算術計算並提供所有相關輸入值,從而剔除程序能訪問這些 值。這實現了輸入值計算的『推』機制。圖5示出實施圖1的顯示適配器100的典型通用計算機583的概覽架構。該計算 機具有能夠執行軟體指令的控制器570,諸如CPU。在一些實施例中,控制器570連接到諸 如動態隨機存取存儲器(RAM)之類的易失性存儲器571以及可與圖1的顯示適配器100相 同的顯示適配器500。顯示適配器500又連接到諸如監視器之類的顯示器576。控制器570 還連接到諸如硬驅動器或快閃記憶體之類的永久存儲573以及諸如光學介質(如⑶、DVD、HD-DVD 或藍光碟)的讀取器和/或寫入器之類的光學存儲574。網絡接口 581也連接到控制器570 以提供對諸如區域網、廣域網(例如,網際網路)、無線區域網或無線城域網之類的網絡582的 接入。通過外圍設備接口 577,CPU 570可與滑鼠578、鍵盤579或任何其他外圍設備580 (包 括操縱杆、印表機、掃描儀等)通信。注意,儘管以上描述了通用計算機來實施本發明,但本發明也可等同地實施在利 用數字圖形尤其是3D圖形的任何環境中,例如遊戲機、行動電話、移動網際網路設備(MID)、 MP3播放器等。可以使用任何計算機架構。在以上所述的指令集的一種實現中,可以使用區間算術來計算輸入值。隨後可對 整個瓦塊的片斷執行剔除程序。然而,為了這樣做,還需要計算變化的(或插值的)輸入的 界限區間。最初,使用插值來計算瓦塊的所有四個隅角中變化的屬性的值。隨後計算 這四個值的界限區間並將其稱為弋ij。還計算三隅角形頂點處變化的屬性的界限區間並將其稱為『 =k,Gj。整個瓦塊上變化的屬性的最終界限區間可計算為
權利要求
1.一種方法,包括在運行時之前確定可編程剔除單元的代碼是否具有能確定的界限;以及 若是則對於每個變量在編譯時在所述代碼中跟蹤所述界限。
2.如權利要求1所述的方法,其特徵在於,包括使用關於區間指令的信息來生成標量 指令。
3.如權利要求2所述的方法,其特徵在於,使用數據包括使用被跟蹤的區間界限。
4.如權利要求1所述的方法,其特徵在於,若在編譯時不能確定所述界限,則在編譯時 作出對所述區間界限的假設。
5.如權利要求1所述的方法,其特徵在於,包括將一個或多個界限簡化為單側界限。
6.如權利要求4所述的方法,其特徵在於,包括在運行時重新評價所述假設。
7.如權利要求6所述的方法,其特徵在於,若確定所述假設是有效的,則運行所述代碼。
8.如權利要求6所述的方法,其特徵在於,包括若確定所述假設不是有效的,則作出新 假設並在所述新假設下編譯所述代碼。
9.如權利要求8所述的方法,其特徵在於,若所述新假設不成立,則在不使用區間界限 的情況下編譯所述代碼。
10.如權利要求1所述的方法,其特徵在於,跟蹤所述界限包括使用界限算術來評估指令。
11.如權利要求10所述的方法,其特徵在於,使用界限算術來評估指令包括使用區間 算術、仿射算術或泰勒算術之一。
12.—種存儲指令的計算機可讀介質,所述指令由計算機執行以 在編譯期間確定可編程剔除單元的代碼是否具有能計算的界限;以及 若是則對於每個變量在編譯期間在所述代碼中跟蹤所述界限。
13.如權利要求12所述的介質,其特徵在於,還存儲用於使用關於區間指令的信息來 生成標量指令的指令。
14.如權利要求13所述的介質,其特徵在於,還存儲用於將被跟蹤的區間界限用作所 述數據的指令。
15.如權利要求12所述的介質,其特徵在於,還存儲用於若在編譯時不能計算所述區 間界限則在編譯時作出對所述區間界限的假設的指令。
16.如權利要求12所述的介質,其特徵在於,還存儲用於將一個或多個雙側區間界限 簡化為單側區間界限的指令。
17.如權利要求15所述的介質,其特徵在於,還存儲用於在運行時重新評價所述假設 的指令。
18.如權利要求17所述的介質,其特徵在於,還存儲用於若確定所述假設是有效的則 運行所述代碼的指令。
19.如權利要求17所述的介質,其特徵在於,還存儲用於若確定所述假設不是有效的 則作出新假設並在所述新假設下編譯所述代碼的指令。
20.如權利要求19所述的介質,其特徵在於,還存儲用於若所述新假設不是有效的則 在不使用區間界限的情況下編譯所述代碼的指令。
21.一種裝置,包括 可編程剔除單元;以及耦合到所述可編程剔除單元的編譯器,所述編譯器用於確定所述可編程剔除單元的代 碼是否具有能計算的界限,以及若是則對於每個變量在編譯期間在所述代碼中跟蹤所述界 限。
22.如權利要求21所述的裝置,其特徵在於,所述裝置是顯示適配器。
23.如權利要求21所述的裝置,其特徵在於,若不能計算所述區間界限,則所述編譯器 在編譯時作出對所述區間界限的假設。
24.如權利要求23所述的裝置,其特徵在於,包括控制器。
25.如權利要求M所述的裝置,其特徵在於,所述控制器用於在運行時重新評價所述 假設。
26.如權利要求25所述的裝置,其特徵在於,所述控制器用於在確定所述假設有效時 運行所述代碼。
27.如權利要求25所述的裝置,其特徵在於,若確定所述假設不是有效的,則所述編譯 器作出新假設並在所述新假設下編譯代碼。
28.如權利要求27所述的裝置,其特徵在於,若所述新假設不是有效的,則所述編譯器 在不使用界限的情況下編譯所述代碼。
29.如權利要求21所述的裝置,其特徵在於,所述編譯器使用關於區間指令的信息來 生成標量指令。
30.如權利要求四所述的裝置,其特徵在於,所述編譯器使用區間界限來生成標量指令。
全文摘要
在編譯期間,若有可能則計算可編程剔除單元的區間界限。對於每個變量,在編譯期間計算區間界限,且這些界限連同其他元數據一起被用於生成優化剔除程序。若不可能,則可作出假設且該假設用於編譯代碼。在一些實施例中,若該假設證明是無效的,則可作出新假設並且可重新編譯代碼。
文檔編號G06F9/45GK102103512SQ201010620058
公開日2011年6月22日 申請日期2010年12月21日 優先權日2009年12月22日
發明者C·J·穆克伯格, F·P·克萊伯格, J·N·哈塞爾格林, R·M·託特, T·G·阿凱奈-莫勒 申請人:英特爾公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀