欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

于計算機環(huán)境中共享緩沖器的系統(tǒng)及方法

文檔序號:6615469閱讀:219來源:國知局
專利名稱:于計算機環(huán)境中共享緩沖器的系統(tǒng)及方法
技術領域
本發(fā)明有關于計算機處理,尤其是指于繪圖處理系統(tǒng)中使 用共用數(shù)據(jù)緩沖器。
背景技術
三維計算機繪圖的技術通常是關于產(chǎn)生或描繪(render)三 維物件的二維影像,然后將其顯示或呈現(xiàn)在如陰極射線管 (cathode ray tube, CRT)或液晶顯示器(liquid crystal display, LCD)的顯示設備或屏幕上,該物件可能為 一 簡單的幾何圖元 (primitive),例如一點、 一線段、 一三角形或一多邊形, 一些更 復雜的物件可通過一 系列的連接平面多邊形來表示,例如可通 過一系列的連接平面三角形來表示該物件,因此最終可以一頂 點或 一 組頂點描述所有的幾何圖元,而用于定義 一 點的坐標 (X, Y,Z)即可為 一 線段的終點或 一 多邊形的轉折角。
當 一 三維圖元以二維投影的方式呈現(xiàn)在計算機屏幕或其它 顯示設備上時,為了產(chǎn)生用以顯示的一組數(shù)據(jù),該圖元的頂點 需經(jīng)過一系列的運算或由圖形描繪管線內的多個處理階段進行 處理,通常管線代表一系列串聯(lián)的處理單元或階段,其來自前 一階段的輸出會做為后一階段的輸入,例如,當一圖形處理器 要處理 一 環(huán)境(context),則可能包括的階段有每 一 頂點的運算、 圖元組合運算、像素運算,紋理(texture)組合運算、網(wǎng)格化 (rasterization)運算以及分割運算。
于一傳統(tǒng)的繪圖顯示系統(tǒng)中,影像數(shù)據(jù)庫(如命令列表) 可以儲存如何描繪景象中物件的相關描述,物件會描述成由多
個涵蓋物件表面的小多邊形所形成,就像墻壁或其他表面上覆 蓋多個小磁磚。每一個多邊形由一組頂點坐標(模型坐標的X、
Y、 Z及目視坐標的X、 Y、 Z、 W)及其他材料表面性質(如色 彩、紋理、光澤等)等規(guī)格所構成,另外可能包括在每一頂點 位置的表面正向量,如果三維物件具有復雜的曲線表面,則多 邊形通常為三角形或四邊形,而四邊形通常會再分成一對三角形。
變換引擎會因應使用者所選擇的視角變換物件坐標,另夕卜, 使用者也可以指定視場(field of view)、產(chǎn)生影l(fā)象的尺寸及觀察 空間的末端(back end of viewing volume),以— 見需要包括或刪除背景。
一旦決定了目視區(qū)域,裁切邏輯元件便會刪除目視區(qū)域外 的多邊形(如三角形),或"裁切"僅有部分位于目視區(qū)域內的多 邊形,這些裁切后的多邊形變成位于視覺區(qū)域內的部分多邊形, 邊緣跟著目視區(qū)域的邊緣改變,這些多邊形的頂點以坐標形式 (對應視屏的XY坐標及對應視深的Z坐標)傳送給下一階段。 于一典型的系統(tǒng)中,根據(jù)光源帶入照光模型,然后將多邊形及 色彩值傳送給網(wǎng)格引擎(rasterizer)。
針對每一個多邊形,網(wǎng)格引擎決定多邊形里有哪些像素, 并嘗試將相關的色彩值及視深(Z值)寫入畫面緩沖器,網(wǎng)格 引擎比較正在處理中的多邊形的視深(Z值)以及已寫入畫面 緩沖器的像素的視深值,如果新多邊形像素的視深值比較小, 代表新多邊形比畫面緩沖器內的多邊形還要前面,那么新多邊 形會遮住先前已處理而存入畫面緩沖器內的多邊形,所以使用 新的值取代畫面緩沖器的值,此程序重復進行,直到網(wǎng)格處理 完畢所有的多邊形,此時,視頻控制器將畫面緩沖器的內容播 出在顯示器上,依照光網(wǎng)格順序一次顯示一掃描線。
圖l的功能流程圖說明此種已知技術,其說明計算機繪圖系 統(tǒng)中的繪圖管線內的若干元件,不同系統(tǒng)的繪圖管線可能具有 不同的元件,所以會有不同的表達方式。主機10(或主機執(zhí)行
的纟會圖應用,呈序4妾口 ( application programming interface, API))
可以產(chǎn)生命令列表12,其中包括一系列的繪圖命令及數(shù)據(jù),用 于在圖形顯示器上描繪"環(huán)境",因此,繪圖管線內的元件根據(jù) 命令列表12的數(shù)據(jù)及命令于圖形顯示器上描繪景象。
解析器14從命令列表12取出數(shù)據(jù)并"解析"數(shù)據(jù),解譯命令 并將定義圖元的數(shù)據(jù)傳送到繪圖管線,如此,利用位置數(shù)據(jù)(如 坐標X、 Y、 Z、 W)、照光及紋理信息定義繪元,解析器14 從命令列表12取出每一個圖元的所有信息,并將其傳送至頂點 著色器(vertex shader) ] 6,頂點著色器16可以轉換從命令列表12 得到的圖形數(shù)據(jù),從世界坐標(World coordinates)轉換成模型視 覺坐標(Model View coordinates)、 才更影坐標(Projection coordinates), 最纟冬辟爭^奐成屏幕坐標(Screen coordinates), 之后, 圖形數(shù)據(jù)送至網(wǎng)格引擎18,前面已敘述其操作方式。
之后,對圖元里的每一個像素進行Z測試20,針對對應的 像素位置,比較目前的Z值(如目前圖元中特定像素的Z值)以 及儲存的Z值,進行Z測試,儲存的Z值代表先前描繪圖元在特 定像素位置的視深值,如果目前的Z值顯示目前的像素比儲存 的像素更靠近觀察者的眼睛,則目前的Z值將取代儲存的Z值, 而目前的繪圖信息(如色彩)也會取代儲存在對應畫面緩沖器 像素位置(像素著色器22決定的)的舊色彩信息;如果目前的 Z值顯示目前的像素并不會比儲存的像素更靠近視點,則不用 更新畫面緩沖器及Z測試內容,因為先前描繪的像素位于目前 的像素之前。如果描繪圖元內的像素比先前儲存的像素更靠近 視點,便將圖元相關信息傳送至像素著色器22,以決定圖元內
一個或多個像素的色彩信息。
管線內的多個處理步驟可能伴隨著使用多個數(shù)據(jù)儲存緩沖 器,供繪圖管線的多個階段使用,有效率的數(shù)據(jù)儲存緩沖器可 以提升性能效益,并減少數(shù)據(jù)緩沖硬件消耗,現(xiàn)今的繪圖處理 單元管線要處理復雜的圖形形狀,同時又要兼顧數(shù)據(jù)儲存緩沖 器的效能,實為一大挑戰(zhàn),迄今仍亟需解決上述缺失。

發(fā)明內容
本發(fā)明提供可共享緩沖器的系統(tǒng),應用于具有多個先進先
出裝置的計算機繪圖處理環(huán)境,該系統(tǒng)包括 一共享緩沖器, 用于接收對應于多個圖形數(shù)據(jù)值的多個屬性值;多個數(shù)據(jù)處理 元件,依序配置于計算機繪圖管線中,用于處理該多個圖形數(shù) 據(jù)值;多個指針陣列,依序配置于該計算機繪圖管線中,其內 有多個指針,指向共享緩沖器內的多個對應屬性值;以及一緩 沖器遮罩,用于指出該共享緩沖器內的可用存儲器位置。
簡而言之,本發(fā)明架構為使用共用緩沖器的系統(tǒng),應用于 具有多個先進先出裝置(first-in-first-out )的計算^/L環(huán)境,該 系統(tǒng)包括 一閑置項目列表邏輯元件,其內具有共用緩沖器的 多個項目地址的可用性信息; 一先進先出邏輯元件,用于儲存 并傳送多個指針值通過依序排列于管線區(qū)塊間的多個先進先出 裝置; 一管線邏輯元件,利用依序排列的多個處理單元來處理 數(shù)據(jù);以及一指針邏輯元件,當剔除一繪元的數(shù)據(jù)時,便 可丟棄從接下來的先進先出裝置所送出的對應指針。
本發(fā)明亦提供一方法,可在具有多個先進先出裝置的計算 機環(huán)境中提供一共用緩沖器,此方法可簡化為下列步驟采用 一屬性設定單元決定多個屬性值;讀取閑置項目列表,該閑置 項目列表會遮蔽共用緩沖器中的不可用地址,因而于該共用緩
沖器內建立與該多個屬性值對應的多個項目地址;將該多個屬 性值寫入該共用緩沖器內的該多個項目地址;將對應于該多個 項目地址的多個指針寫入第一指針先進先出裝置;第一處理單 元追蹤多個圖元像素圖塊,決定是否剔除任何圖元;將對應該 剔除圖元的部分指針復制到閑置項目列表;將對應未剔除圖元 的指針傳送到第二指針先進先出裝置。
本發(fā)明亦提供降低一共用緩沖器存儲器頻寬使用的方法, 應用于具有多個先進先出裝置的計算機系統(tǒng),其包括步驟采 用多個管線處理單元依序處理多個數(shù)據(jù)值;將對應該多個數(shù)據(jù) 值的圖元屬性S數(shù)據(jù)及狀態(tài)數(shù)據(jù)儲存于共用緩沖器;多個先進出 緩沖器保留對應該多個數(shù)據(jù)值的多個指針;當 一管線處理單元 剔除部分的圖元數(shù)據(jù)值時,丟棄對應的部分指針。
本發(fā)明還提供一種使用 一共用緩沖器的系統(tǒng),應用于具有 多個先進先出裝置的計算機環(huán)境,該系統(tǒng)包括 一閑置項目列 表邏輯元件,用于保留該共用緩沖器內的多個項目地址的可用 性信息; 一先進先出邏輯元件,用于儲存多個指針值及通過連 續(xù)排列的多個先進先出裝置傳送該多個指針值; 一管線邏輯元 件,利用連續(xù)排列的多個處理單元處理數(shù)據(jù);以及一指針邏輯 元件,當剔除一數(shù)據(jù),該指針邏輯元件丟棄該連續(xù)排列的多個 先進先出裝置所送出的任何對應指針。
本發(fā)明的系統(tǒng)、方法、特征及優(yōu)點可通過下列圖式及詳細 說明而有更深入的了解,同時,于說明中所包括的其他系統(tǒng)、 方法、特征及優(yōu)點亦屬本發(fā)明的范疇,受如附權利要求書的保 護。
本發(fā)明所述的于計算機環(huán)境中共享緩沖器的系統(tǒng)及方法, 可減少數(shù)據(jù)緩沖硬件消耗,并提升系統(tǒng)性能。


圖1為計算機繪圖系統(tǒng)的繪圖管線中若千元件的功能流程圖。
圖2為執(zhí)行管線緩沖操作的例示系統(tǒng)2 0 0的方塊圖。
圖3表示本發(fā)明實施例的若干基本元件。
圖4為實施例的方塊圖,說明系統(tǒng)元件間的作用方式。
圖5為共用緩沖器實施例的方塊圖。
圖6說明指針先進先出裝置或陣列的實施例。
圖7說明緩沖器遮罩或閑置項目列表的實施例。
圖8為說明閑置項目列表、指針、共用緩沖器間作用的方塊圖。
圖9為說明屬性設定單元實施例及功能的方塊圖。 圖IO為說明第 一級Z測試單元、第二級Z測試單元與相關屬 性指針先進先出裝置的實施例的方塊圖。
圖ll說明內插單元與相關屬性指針先進先出裝置的實施例。
圖12為說明本發(fā)明方法實施例的方塊圖。
圖13為說明本發(fā)明另 一方法實施例的方塊圖。
具體實施例方式
本發(fā)明的各觀念可通過下列圖式以獲得更進一步的了解, 本發(fā)明將配合圖式進行說明,但是不限于所述實施例,相反地, 還包括了所有的替代、修改、等效物件,均不脫如附權利要求 書的精神與范疇。
下列說明針對繪圖系統(tǒng)的若干位置,特別針對牽涉本發(fā)明 的特征與觀念部分,不過本發(fā)明的概念也可應用至其他非計算 機繪圖的系統(tǒng)及環(huán)境。
請參閱圖2,其為一例示系統(tǒng)200的方塊圖,說明本發(fā)明執(zhí) 行管線緩沖操作方式,系統(tǒng)2 0 0可以是計算機的繪圖處理系統(tǒng)或 類似的處理裝置,系統(tǒng)200包括圖元處理器202、數(shù)據(jù)采樣單元 204、紋理濾鏡(filter)單元206、用于儲存紋理的隨機存取存儲 器(random-access memory, RAM) 208、 4象素處理器210以及 描繪緩沖器212,于一非限定實施例中,另外還可包括內插單元 207。
圖元處理器202可以是三角形設定處理器,可接收三維幾何 元素(如三角形或其他繪元),并處理數(shù)據(jù),數(shù)據(jù)內含該繪 元的尺寸、形狀、位置、其他相關特征等數(shù)據(jù),于某些實 施例中,圖元處理器202有圖元邊緣產(chǎn)生功能,可以利用三維的 g欠幾里德、坐才示(Euclidean coordinates)或四維的同次坐才示 (homogenous coordinates)定義—這些圖元,才妄著,利用已知的運 算法投影至二維平面。
數(shù)據(jù)采樣單元2 04從圖元處理器2 0 2所接收到的多邊形數(shù)據(jù) 內選擇若干組的數(shù)值,多邊形數(shù)據(jù)的采樣可能會有不同的解析 度,舉個例子,多邊形內部的采樣速度主要是跟著目標屏幕解 析度,而多邊形的邊緣偵測則會有較高的釆樣速度以因應較高 的解析度。
紋理濾鏡單元206進行一個(或多個)濾鏡技術(如雙線 性濾鏡、三線性濾鏡、盒濾及/或其綜合利用),計算將指派給 一特定像素的新紋素(texcl)的色彩值(或其他屬性),紋理濾鏡 單元206可以根據(jù)從隨機存取存儲器208所接收到的數(shù)據(jù)來產(chǎn)生 過濾紋理像素值,另外,紋理濾鏡單元206的應用廣泛,例如可 用于描繪多速率數(shù)據(jù)采樣(以不同的解速度采樣多邊形數(shù)據(jù))。
像素處理器210可以進行描繪操作,描繪操作依據(jù)選擇的方 式而產(chǎn)生不同的效果,例如模擬光源及陰影,像素處理還牽涉
到內插單元207,內插單元207會接收屬性值,例如接收組成的 差量(5)及狀態(tài)值或從紋理濾鏡單元206接收額外的紋理數(shù)據(jù), 最后,描繪緩沖器212儲存影像,該影像可顯示于顯示器裝置或 用于描繪其他影像,另外還有內插單元207,將于圖4進行說明。 現(xiàn)請參閱圖3,說明本發(fā)明實施例的若干基本元件,圖3中 標示為"計算機系統(tǒng)3 1 0"的元件是指繪圖管線內的硬件裝置,這 個裝置中具有管線邏輯元件312,以依序處理數(shù)據(jù);這個裝置還 包括先進先出邏輯元件314,可以儲存并傳送與圖元組成的差量 (5)及狀態(tài)值有關的指針,S及狀態(tài)值則依閑置項目列表邏輯元 件316的分配儲存在共享或共用緩沖器中;閑置項目列表邏輯元 件316存有共用緩沖器各項目地址的可用性狀態(tài);當管線邏輯元 件312剔除某些數(shù)據(jù),指針邏輯元件318便會丟棄對應的指針, 通過丟棄指針,對應該指針的共用緩沖器內項目地址便會標示 成可用或閑置,之后圖元處理器202會以新數(shù)據(jù)項目去覆蓋此項 目地址。
現(xiàn)請參閱圖4,其為實施例的方塊圖,說明系統(tǒng)元件間的作 用方式,屬性i殳定單元(attribute setup unit, ASU)410是圖元 處理器202的 一部分,可以產(chǎn)生圖元組成的差量(S)及狀態(tài)值, 內插單元420讀取這些值,計算像素著色器(未繪出)所需的紋 理坐標及像素組成,還有ZL1 (第一級Z測試單元)416及ZL2 (第二級Z測試單元)418于Z內插所需的差量(5)值,圖元的差 量(5)及狀態(tài)值儲存在共用緩沖器412內,屬性設定單元410讀取 緩沖器遮罩414,這里亦稱為閑置項目列表,以判斷共用緩沖器 412內的哪一個項目地址是空著可以用來接收差量(5)/狀態(tài)值, 當屬性設定單元410從緩沖器遮罩414接收閑置項目地址數(shù)據(jù), 便會將差量(5)/狀態(tài)值儲存在指定的項目地址,并將對應該項目 地址的指針值儲存在屬性設定/第 一級Z測試的先進先出裝置
(ASU/ZL1 FIFO)432中,本領域技術人員當知指針先進先出裝 置亦可以較上位的"指針陣列"稱之,依舊符合本發(fā)明的范疇和 精神,屬性設定單元410、 Z測試單元416與418、內插單元420 則可通稱為數(shù)據(jù)處理元件。
屬性設定/第 一級Z測試的先進先出裝置432是屬性先進先 出裝置群組(又稱為指針先進先出裝置群組或指針陣列)430 中的一個,當管線剔除某筆數(shù)據(jù),便可略過繼續(xù)處理該筆數(shù)據(jù) 的動作,并在管線區(qū)塊的各階段間傳送5/狀態(tài)值,前三個先進 先出裝置的排列方式剛好位于依序排列的各管線處理單元之 間,于管線中,屬性設定單元410之后的處理單元有第一級Z測 試單元416、第二級Z測試單元418以及內插單元420,每兩個相 鄰的管線處理單元間都夾有一個指針先進先出裝置,因此,如 果是上列的管線處理單元,屬性先進先出裝置群組430就會包括 與其搭配的屬性設定/第 一級Z測試的先進先出裝置432、第 一級 Z測試/第二級Z測試的先進先出裝置(ZL1/ZL2 FIFO)434、第二 級Z測試/內插的先進先出裝置(ZL2/IU FIFO)436,另夕卜,因為 內插單元4 2 0在處理某些值的時候也要等候紋理數(shù)據(jù),所以設置 了內插的先進先出裝置(IU FIFO)438補償數(shù)據(jù)延遲,請注意第 一級Z測試單元416和第二級Z測試單元418可以合成 一 個Z測試 單元,這同樣符合本發(fā)明的范疇及精神。
各特定處理單元可以利用屬性指針擷取圖元屬性數(shù)據(jù),以 便加以處理,數(shù)據(jù)可從共用或共享緩沖器412經(jīng)由數(shù)據(jù)路徑傳送 到一個或多個管線單元410、 416、 418、 420。
通常指針數(shù)據(jù)會從指針先進先出裝置群組430中的一個先 進先出裝置傳送到下一個先進先出裝置,亦即指針會從一個屬 性指針先進先出裝置傳送到下一個屬性指針先進先出裝置,以 配合管線里的相關數(shù)據(jù)流。如果第 一 級Z測試單元416剔除 一 三 角形,指向該三角形屬性的指針就不會從屬性設定/第一級Z測
試的先進先出裝置4 3 2傳送到第 一 級Z測試/第二級Z測試的先進 先出裝置434,而是更新緩沖器遮罩414,釋放共用緩沖器中與 該指針對應的項目地址,因此共用緩沖器412可以存入新的數(shù) 據(jù),不再招致覆寫有效數(shù)據(jù)的風險,在各管線處理單元間的傳 輸動作都有機會丟棄剔除的指針,并釋放共用緩沖器412內的部 分空間,因此到達內插單元420的指針只有指向有效數(shù)據(jù)的指 針。
請參閱圖5,其共用緩沖器實施例的方塊圖,共用緩沖器500 可以想成是一個儲存數(shù)據(jù)的存儲器區(qū)塊,其中具有多個數(shù)據(jù)儲 存欄位(field)520,每一 個位置有 一 個對應的項目地址510,雖 然圖中的項目地址510位于共用緩沖器500中,本領域技術人員 應知項目地址也可以;故在存〗諸器以外的地方,利用基礎地址與 偏移量(offset)加以定義,雖然圖中的數(shù)據(jù)儲存欄位520顯示為 單一欄位,但是本領域技術人員可知每一個數(shù)據(jù)儲存位置可能 實質或邏輯上包括超過一個欄位,可以儲存超過一個數(shù)值,這 也符合本發(fā)明的范疇及精神,共用緩沖器500包括N個項目,可 以儲存N筆數(shù)據(jù)值或N組數(shù)據(jù)值。
請參閱圖6,其說明指針先進先出裝置或陣列的實施例,指 針先進先出裝置600包括N個項目630,每一個指針先進先出裝 置的項目610可以儲存一個指針,所以指針先進先出裝置600可 以儲存指向共用緩沖器的所有項目的指針,如前所述,指針包 括緩沖器項目地址650,雖然實施例中的緩沖器項目地址650包 括八位的數(shù)據(jù)儲存空間670,本領域技術人員可知緩沖器項目地 址650可以使用多于或少于八位的地址,其仍屬本發(fā)明的范疇及 精神,指針還可以包括一個放置狀態(tài)標志640的欄位,狀態(tài)標志 640包括多個分別的位660,可通知區(qū)別5值及狀態(tài)值,或是指出
某特定S值為該三角形的最后數(shù)據(jù)值,這些范例僅用于說明,并 不限制權利要求書所主張的權利,其他實施例可使用兩個以上 或少于兩個的狀態(tài)標志,仍不脫本發(fā)明的范疇及精神,。
請參閱圖7,其說明緩沖器遮罩或閑置項目列表,閑置項目
列表700包括N個一位的項目720,對應共用緩沖器內部的每一 個項目地址,根據(jù)共用緩沖器的項目是使用中或可供使用,閑 置項目列表的對應項目儲存邏輯值"0"或"1",例如,閑置項目 列表的項目710如果為邏輯值'T,,表示接下來的程序可以使用 共用緩沖器的這個項目儲存數(shù)據(jù),閑置項目列表的項目710如果 為邏輯值"O,,,則表示共用緩沖器內的這個項目正使用中,如此, 共用緩沖器可以保護有效數(shù)據(jù)不被覆寫,同時有效的取回剔除 像素所占用的存儲器空間,特殊的邏輯元件可以對閑置項目列 表700的位位置進行編碼,成為項目或指針號碼,屬性設定單元 便可據(jù)以將數(shù)據(jù)寫入共用緩沖器中。
現(xiàn)請參閱圖8,其為閑置項目列表、指針、共用緩沖器間相 互作用的實施例的方塊圖,共用緩沖器810提供多個數(shù)提儲存位 置812,指針822會指明每一個對應的數(shù)據(jù)儲存位置812,另夕卜, 每一個數(shù)據(jù)儲存位置8]2在閑置項目列表830里會有一個對應的 遮罩位8 3 2,共用緩沖器810和閑置項目列表8 3 0包括同樣數(shù)量的 N個項目,并有N個對應的項目地址820, i青注意閑置項目列表 830中的項目如果標示為"O",表示共用緩沖器內的對應位置是 "使用中",如果閑置列表中的項目標示為"l",則表示共用緩沖 器內的對應位置是"閑置中"。
請參閱圖9,其為說明屬性設定單元及其功能的方塊流程 圖,于步驟912中,屬性設定單元910檢查閑置項目列表920以找 出共用緩沖器內的可用項目地址;然后于步驟914中,屬性設定 單元910將5值及/或狀態(tài)值寫入共用緩沖器930中;于步驟916 中,將指針值寫入指針先進先出裝置940,并于步驟918中將邏 輯值"O"寫入閑置項目列表920的對應位置;屬性設定單元910 處理完畢之后,數(shù)據(jù)處理程序進入第 一級Z測試單元IOIO (如 圖10)。
請參閱圖10,其為第 一級z測試單元與第二級z測試單元及
相關屬性指針先進先出裝置的實施例的方塊圖,要減少存儲器 負載需要減少對共用緩沖器不必要的讀取動作,首先,于步驟
1012中,判斷第一級Z測試單元1010是否剔除一三角形;如果 沒有剔除該三角形,于步驟1014中,指針從屬性設定/第一級Z 測試的先進先出裝置傳送到第 一級Z測試/第二級Z測試的先進 先出裝置;相反地,如果第一級Z測試單元1010剔除該三角形, 則于步驟1016中讀取該指針的狀態(tài)標志,以判斷儲存在共用緩 沖器內的屬性是否為差量(S)值;如果屬性不是差量(5)值,那么 便是狀態(tài)值,保留給內插單元處理,依照前述步驟1014傳送指 針;如果屬性是差量(S)值,于步驟1018中,將邏輯值"l"寫入 與共用緩沖器內項目所對應的閑置項目列表中;然后于步驟 1020中,將指針先進先出裝置送出的指針丟棄。
元進行到第二級Z測試單元,未被剔除的屬性指針跟著指針路 徑1024傳送到下一個指針先進先出裝置,第二級Z測試單元的 內部處理步驟1032、 1036、 1038、 1040類似第 一 級Z測試單元, 不過有關指針先進先出裝置的部分,于步驟1034中,剩下的有 效指針將從第 一級Z測試/第二級Z測試的先進先出裝置傳送到 第二級Z測試/內插的先進先出裝置。將邏輯值"l"寫入閑置項目 列表的對應位中,接下來的程序便能有效存取共用緩沖器,不 需擔心覆寫有效數(shù)據(jù),另外,丟棄剔除像素的對應指針,內插 單元便可以只使用必須的數(shù)據(jù)流量,只從共用緩沖器請求剔除
后剩下的有效三角形的相關數(shù)據(jù)值。請注意,實施例中的屬性
設定單元410、 Z測試單元416和418、內插單元420等等都可稱 為數(shù)據(jù)處理元件,管線數(shù)據(jù)從第二級Z測試單元跟著數(shù)據(jù)路徑 1042送出,同樣地,未被剔除的屬性指針跟著指針路徑1046傳 送到下一個指針先進先出裝置。
現(xiàn)請參閱圖11,其說明內插單元及相關屬性指針先進先出 裝置的實施例,內插單元1110于步驟1120以及1122中利用指針 值分別讀取5值及狀態(tài)值;讀取狀態(tài)值之后,于步驟1124中,內 插單元1110將邏輯值"1"寫入與項目地址對應的閑置項目列表 中,并丟棄指針先進先出裝置送出的對應指針;至于Mi,于步 驟112 6中,內插單元1110判斷像素著色器是否需要U V R Q值; 如果不需要UVRQ值,于步驟1132中處理5數(shù)據(jù),并于步驟1134 中將邏輯值'T,寫入閑置項目列表;相反地,如果像素著色器需 要UVRQ值,則于步驟1]28中,將(數(shù)據(jù)指針從第二級Z測試/內 插測試的先進先出裝置傳送到內插的先進先出裝置,內插的先 進先出裝置可以調節(jié)延遲,等到步驟1130接收到紋理數(shù)據(jù);之 后于步驟1132中處理(數(shù)據(jù),并將邏輯值"l"寫入閑置項目列表。 內插單元U10最后會清空第二級Z測試/內插的先進先出裝置及 內插的先進先出裝置的所有項目。另外,某些實施例可包括對 應(數(shù)據(jù)的(數(shù)據(jù)指針,同樣地,某些實施例可包括對應三角形 狀態(tài)數(shù)據(jù)的狀態(tài)數(shù)據(jù)指針,根據(jù)某些特定結構,便可將狀態(tài)數(shù) 據(jù)指針傳送到相鄰的指針陣列,根據(jù)可見性,可能會丟棄屬性 (數(shù)據(jù)指針,而保留狀態(tài)數(shù)據(jù)指針,標簽可以傳遞與指定數(shù)據(jù)形
式有關的信息(屬性(或狀態(tài)),狀態(tài)數(shù)據(jù)指針和屬性5數(shù)據(jù)指針 類似,但是標簽(標志欄位)值不同。
現(xiàn)請參閱圖12,其為本發(fā)明方法實施例的方塊流程圖,首 先,于步驟1210中,決定多個屬性值,這些屬性值通常會是圖
元組成S值或狀態(tài)值;于步驟1220中,讀取閑置項目列表(亦稱 為緩沖器遮罩),判斷共用緩沖器的哪一個項目地址可供后續(xù)使 用;于步驟1230中,將屬性值寫入共用緩沖器中的可用地址; 于步驟1240中,將緩沖器項目地址的對應指針寫入指針陣列或 先進先出裝置;于步驟1250中,追蹤管線程序里的三角形(圖 元),判斷是否有剔除的三角形;于步驟1260中,將被剔除三角 性的指針的對應位復制到閑置項目列表;于步驟1270中,將非 剔除圖元的對應指針傳送到后面的指針先進先出裝置。如前所 述,有效數(shù)據(jù)的指針最后會傳送到內插的先進先出裝置,可降 低內插單元和共用緩沖器間的存儲器負載,再則,如果第一級 Z測試單元丟棄一三角形,則第二級Z測試單元便不會從共用緩 沖器讀取到這個三角形的屬性,請注意,于某些實施例中,指 針可包括索引位、索引欄位、 一個或多個狀態(tài)標志位、標志欄 位等等。
現(xiàn)請參閱圖13,其為本發(fā)明方法實施例的方塊流程圖,于 步驟1310中,依序排列的管線處理單元進行數(shù)據(jù)處理;于步驟 1320中,共用緩沖器儲存5值及狀態(tài)值,供之后的內插單元使用, 以計算紋理坐標及像素組成;于步驟1330中,多個指針先進先 出裝置保留指向共用緩沖器內的項目地址的對應指針;于步驟 1340中,在管線剔除數(shù)據(jù)的對應指針到達內插單元前將其丟棄, 丟棄剔除數(shù)據(jù)的指針可以降低內插單元與共用緩沖器間的存儲 器負載,因為不再需要向共用緩沖器要求無用的數(shù)據(jù),請注意, 于某些實施例中,指針可以包括索引位、索引欄位、 一個或多 個狀態(tài)標志位、標志欄位等等。
本發(fā)明實施例可以硬件、軟件、韌體或其組合等方式實施, 于某些實施例中,可利用儲存在存儲器中的軟件或韌體,由適 當?shù)闹噶顖?zhí)行系統(tǒng)來執(zhí)行,如果是以硬件的方式呈現(xiàn),則可利
用下列已知技術或其組合,例如具有邏輯門而可對數(shù)據(jù)信號 進行邏輯功能的離散邏輯電路、具有適當組合邏輯門的專用集
成電路(application specific integrated circuit, ASIC )、 可編程 門陣歹ll ( programmable gate array, PGA )、玉見場可編禾呈門陣列 (field programmable gate array, FPGA ) 等等元件。
任何的程序說明或流程步驟代表某些模塊、程序段、或是 部分程序碼,其中可包括一個或多個可執(zhí)行的指令,以進行特 定的邏輯功能或程序步驟,另有其他實施方式可執(zhí)行本發(fā)明功 能,例如所說明與討論的順序并非固定不變,本領域技術人員 可稍加變化,或是可讓某些步驟同時進行,甚至反向執(zhí)行,只 要能符合本發(fā)明的功能性即可,均屬本發(fā)明的范疇。
以上所述僅為本發(fā)明較佳實施例,然其并非用以限定本發(fā)
明的范圍,任何熟悉本項技術的人員,在不脫離本發(fā)明的精神 和范圍內,可在此基礎上做進一步的改進和變化,因此本發(fā)明 的保護范圍當以本申請的權利要求書所界定的范圍為準。
附圖中符號的簡單說明如下
10:主機12:命令列表
14:解析器16:頂點著色器
18:網(wǎng)格引擎20: Z測試單元
22:像素著色器24:畫面緩沖器
200:系統(tǒng)202:圖元處理器
204:數(shù)據(jù)釆樣單元206: 紋理濾鏡單元
207:內插單元208:隨機存取存儲器
210:像素處理器212:描繪緩沖器
310:計算機系統(tǒng)312:管線邏輯元件
314:先進先出邏輯元件316:閑置列表邏輯元件
318:指針邏輯元件410:屬性設定單元
412:共享或共用緩沖器414:緩沖器遮罩
416:第一級Z測試單元418:第二級Z測試單元
420:內插單元430:屬性先進先出裝置
432:屬性設定/第 一級Z測試的先進先出裝置434第 一 級Z測試/第二級Z測試的先進先出裝置436第二級Z測試/內插的先進先出裝置438內插的先進先出裝置500:共用緩沖器
510項目地址520:數(shù)據(jù)儲存欄位
530:N個項目600:指針先進先出裝置
610:項目630: N個項目
640:狀態(tài)標志650:緩沖器項目地址
660:位670:位
700:閑置項目列表710:項目
720:N個項目810:共用緩沖器
812:數(shù)據(jù)儲存位置820:項目;也址
822:指針830:閑置項目列表
832:遮罩位910:屬性設定單元
920:閑置項目列表930:共用緩沖器
940:指針先進先出裝置1010:第一級Z測試單元
1022:數(shù)據(jù)路徑1024:指針^各徑
1030:第二級Z測試單元1042:數(shù)據(jù)路徑
1046:指針路徑1110:內插單元。
權利要求
1.一種共享一緩沖器的系統(tǒng),其特征在于,應用于具有多個先進先出裝置的計算機繪圖處理環(huán)境,該系統(tǒng)包括一共享緩沖器,其接收與多個圖形數(shù)據(jù)值對應的多個屬性值;多個數(shù)據(jù)處理元件,依序排列于一計算機繪圖管線中,用于處理該多個圖形數(shù)據(jù)值;多個指針陣列,依序排列于該計算機繪圖管線中,用以保留對應該多個屬性值的多個指針;以及一緩沖器遮罩,用以指出該共享緩沖器內的至少一個可用存儲器位置。
2. 根據(jù)權利要求l所述的共享一緩沖器的系統(tǒng),其特征在 于,該緩沖器遮罩包括與該共享緩沖器的多個地址對應的多個位。
3. 根據(jù)權利要求l所述的共享一緩沖器的系統(tǒng),其特征在 于, 一數(shù)據(jù)處理元件包括一屬性設定單元,用于產(chǎn)生該多個屬 性值,而另 一數(shù)據(jù)處理元件包括一Z測試單元。
4. 根據(jù)權利要求3所述的共享一緩沖器的系統(tǒng),其特征在 于, 一指針陣列包括一第一指針陣列,位于該屬性設定單元及 該Z測試單元之間。
5. 根據(jù)權利要求4所述的共享一緩沖器的系統(tǒng),其特征在 于,更包括一第一三角形;一第一位,對應一第一共享緩沖器存儲地址,如果該Z測 試單元剔除該第 一 三角形,則將該第 一位寫入該緩沖器遮罩; 以及一第一指針,如果該Z測試單元剔除該第一三角形,則該 第 一 指針陣列丟棄對應該第 一 三角形的該第 一 指針。
6. 根據(jù)權利要求l所述的共享一緩沖器的系統(tǒng),其特征在 于,每一指針陣列對應兩個數(shù)據(jù)處理元件。
7. 根據(jù)權利要求6所述的共享一緩沖器的系統(tǒng),其特征在 于,更包括一三角形;一屬性差量數(shù)據(jù)指針,對應該三角形的三角形差量數(shù)據(jù);以及一狀態(tài)數(shù)據(jù)指針,對應該三角形的狀態(tài)數(shù)據(jù),該狀態(tài)數(shù)據(jù) 指針傳送至一相鄰的指針陣列;其中如果一數(shù)據(jù)處理元件剔除該三角形,則對應該數(shù)據(jù)處 理元件的 一 指針陣列丟棄該屬性差量數(shù)據(jù)指針。
8. 根據(jù)權利要求l所述的共享一緩沖器的系統(tǒng),其特征在 于,部分的該多個屬性值包括三角形差量數(shù)據(jù),而另一部分的 該多個屬性值包括狀態(tài)數(shù)據(jù)。
9. 根據(jù)權利要求l所述的共享一緩沖器的系統(tǒng),其特征在 于,每一指針陣列的容量能夠容納多個指針,該多個指針的數(shù) 量等于該共享緩沖器的地址的數(shù)量。
10. 根據(jù)權利要求l所述的共享一緩沖器的系統(tǒng),其特征在 于, 一數(shù)據(jù)處理元件包括一 內插單元;以及一指針陣列用于補償紋理讀取延遲,并對應該內插單元, 每一指針陣列均包括一先進先出緩沖器。
11. 一種于一計算機環(huán)境中提供共用緩沖器的方法,其特 征在于,該計算機環(huán)境具有多個包括指針的先進先出裝置,該 方法包括采用 一屬性設定單元決定多個屬性值; 讀取一閑置項目列表,以于一共用緩沖器內建立對應該多 個屬性值的多個項目地址,該閑置項目列表用于遮蔽該共用緩 沖器的不可用地址;將該多個屬性值寫入該共用緩沖器內的該多個項目地址; 將對應該多個項目地址的多個指針寫入一第一指針先進先出裝置;于 一 第 一 處理單元追蹤多個三角形,判斷是否剔除任何三 角形;將對應被剔除的該三角形的部分指針復制到該閑置項目列 表;以及將對應未被剔除的該三角形的所有指針傳送到 一第二指針 先進先出裝置。
12. 根據(jù)權利要求11所述的于 一計算機環(huán)境中提供共用緩 沖器的方法,其特征在于,該決定步驟還包括下列至少一步驟建立至少一差量值為一先進先出裝置項目;以及 建立至少 一狀態(tài)值為 一屬性值。
13. 根據(jù)權利要求12所述的于一計算機環(huán)境中提供共用緩 沖器的方法,其特征在于,如果該部分指針對應至少一狀態(tài)值, 則不將對應的指針復制到該閑置項目列表;以及以 一邏輯位標示對應該至少 一狀態(tài)值的該部分指針。
14. 根據(jù)權利要求11所述的于 一 計算機環(huán)境中提供共用緩 沖器的方法,其特征在于,該閑置項目列表包括多個位,且該 多個位的總數(shù)與該共用緩沖器內的項目地址的總數(shù)相同。
15. 根據(jù)權利要求11所述的于 一 計算機環(huán)境中提供共用緩 沖器的方法,其特征在于,還包括于一第二處理單元追蹤該多個三角形,判斷該第二處理單 元是否剔除任何三角形;將對應被該第二處理單元剔除的三角形的部分指針復制到 該閑置項目列表;以及 將對應未被該第二處理單元剔除的三角形的所有指針從該 第二指針先進先出裝置傳送到一第三指針先進先出裝置。
16. 根據(jù)權利要求1 1所述的于 一 計算機環(huán)境中提供共用緩沖器的方法,其特征在于,該復制步驟包括丟棄該第一指針先進先出裝置送出且對應被剔除的該三角 形的該部分指針。
17. 根據(jù)權利要求ll所述的于一計算機環(huán)境中提供共用緩 沖器的方法,其特征在于,該復制步驟還包括寫入多個位,其中每一位對應該共用緩沖器的一項目地址。
18. —種于一共用緩沖器中降低存儲器頻寬使用的方法, 其特征在于,應用于具有多個先進先出裝置的計算機環(huán)境,該 方法包4舌采用多個管線處理元件依序處理多個數(shù)據(jù)值;將對應于該多個數(shù)據(jù)值的屬性數(shù)據(jù)儲存于該共用緩沖器中;多個先進先出緩沖器保留對應該多個數(shù)據(jù)值的多個指針;以及當 一 管線處理單元剔除部分的數(shù)據(jù)值,丟棄對應的部分指針。
19. 根據(jù)權利要求18所述的于 一共用緩沖器中降低存儲器 頻寬使用的方法,其特征在于,還包括使用一閑置項目列表遮蔽部分的該共用緩沖器,以避免覆 寫該部分的該共用緩沖器。
20. 根據(jù)權利要求9所述的于 一 共用緩沖器中降低存儲器 頻寬使用的方法,其特征在于,該遮蔽步驟還包括因應該丟棄的部分指針更新該閑置項目列表。
21. 根據(jù)權利要求.8所述的于 一 共用緩沖器中降低存儲器頻寬使用的方法,其特征在于,每一先進先出緩沖器能夠容納 該共用緩沖器內的所有地址項目。
22. 根據(jù)權利要求8所述的于 一共用緩沖器中降低存儲器 頻寬使用的方法,其特征在于,還包括將多個索引位儲存至每一個指針的索引欄位;以及 將多個狀態(tài)標志位儲存至每一個指針的標志欄位。
23. 根據(jù)權利要求18所述的于一共用緩沖器中降低存儲器 頻寬使用的方法,其特征在于,將對應未被剔除的數(shù)據(jù)值的部 分指針從一先進先出緩沖器傳送至次一先進先出緩沖器。
24. 根據(jù)權利要求1 8所述的于 一共用緩沖器中降低存儲器 頻寬使用的方法,其特征在于,該多個屬性數(shù)據(jù)包括至少下列 一數(shù)據(jù)屬性差量數(shù)據(jù)及狀態(tài)數(shù)據(jù)。
25. —種使用一共用緩沖器的系統(tǒng),其特征在于,應用于 具有多個先進先出裝置的計算機環(huán)境,該系統(tǒng)包括一閑置項目列表邏輯元件,用于保留該共用緩沖器內的多 個項目地址的可用性信息;一先進先出邏輯元件,用于儲存多個指針值及通過連續(xù)排 列的多個先進先出裝置傳送該多個指針值;一管線邏輯元件,利用連續(xù)排列的多個處理單元處理數(shù)據(jù);以及一指針邏輯元件,當剔除一數(shù)據(jù),該指針邏輯元件丟棄該 連續(xù)排列的多個先進先出裝置所送出的任何對應指針。
全文摘要
本發(fā)明提供一種于計算機環(huán)境中共享緩沖器的系統(tǒng)及方法,特別有關于一種于共用緩沖器中降低存儲器頻寬使用的方法及系統(tǒng),應用于具有多個先進先出裝置的計算機環(huán)境,該多個先進先出裝置的排列方式配合依序排列的處理單元,例如一管線處理環(huán)境,該多個先進先出裝置包括指針,指向共用緩沖器的項目地址,每一先進先出裝置僅接受未被對應處理單元剔除的數(shù)據(jù)的對應指針,已剔除的指針將移動到一閑置項目列表,以重新安排后續(xù)數(shù)據(jù)的位置。本發(fā)明所述的于計算機環(huán)境中共享緩沖器的系統(tǒng)及方法,可減少數(shù)據(jù)緩沖硬件消耗,并提升系統(tǒng)性能。
文檔編號G06T1/60GK101183459SQ20071030066
公開日2008年5月21日 申請日期2007年12月19日 優(yōu)先權日2006年12月19日
發(fā)明者約翰·柏拉勒斯 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蕲春县| 阿荣旗| 涿鹿县| 佳木斯市| 伊金霍洛旗| 田东县| 从化市| 安达市| 博白县| 行唐县| 青浦区| 深州市| 上思县| 社会| 黔江区| 吉安市| 苏尼特右旗| 舒兰市| 周至县| 象州县| 耿马| 富宁县| 梨树县| 泊头市| 建平县| 乐平市| 固安县| 贵德县| 化德县| 石泉县| 文安县| 大悟县| 商城县| 宜兴市| 安泽县| 齐河县| 武胜县| 旬阳县| 丹巴县| 茌平县| 托克逊县|