国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      于圖形處理單元中提供共享屬性計(jì)算電路的系統(tǒng)及方法

      文檔序號(hào):6609301閱讀:321來源:國(guó)知局
      專利名稱:于圖形處理單元中提供共享屬性計(jì)算電路的系統(tǒng)及方法
      技術(shù)領(lǐng)域
      本發(fā)明是有關(guān)于計(jì)算機(jī)處理,尤指于圖形處理單元的像素描繪管線內(nèi)提供分享屬性計(jì)算電路的系統(tǒng)和方法。
      背景技術(shù)
      三維計(jì)算機(jī)繪圖的技術(shù)通常是關(guān)于產(chǎn)生或描繪(render)三維對(duì)象的二維圖像,然后將其顯示或呈現(xiàn)在如陰極射線管(cathode ray tube,CRT)或液晶顯示器(liquid crystal display,LCD)的顯示設(shè)備或屏幕上,該對(duì)象可能為簡(jiǎn)單的幾何像素(primitive),例如點(diǎn)、線段、三角形或多邊形,一些更復(fù)雜的對(duì)象可通過一系列的連接平面多角形來表示,例如可通過一系列的連接平面三角形來表示該對(duì)象,因此最終可以一頂點(diǎn)或一組頂點(diǎn)描述所有的幾何像素,而用于定義點(diǎn)的坐標(biāo)(X,Y,Z)即可代表線段的終點(diǎn)或多邊形的轉(zhuǎn)折角。
      當(dāng)三維像素以二維投影的方式呈現(xiàn)在計(jì)算機(jī)屏幕或其它顯示設(shè)備上時(shí),為了產(chǎn)生用以顯示的一組數(shù)據(jù),該像素的頂點(diǎn)需經(jīng)過一系列的運(yùn)算或由圖形描繪管線內(nèi)的多個(gè)處理階段進(jìn)行處理,通常管線代表一系列串聯(lián)的處理單元或階段,其來自前一階段的輸出會(huì)做為后一階段的輸入,例如,當(dāng)圖形處理器要處理環(huán)境(context),則可能包含的階段有每一頂點(diǎn)的運(yùn)算、像素組合運(yùn)算、像素運(yùn)算,紋理(texture)組合運(yùn)算以及網(wǎng)格化(rasterization)運(yùn)算。
      請(qǐng)參閱圖1,其為已知常見像素描繪管線的方塊圖,該管線包括三角形設(shè)定(triangle setup)階段10,用以產(chǎn)生繪圖管線使用的三角幾何網(wǎng)格化相關(guān)數(shù)據(jù),于決定該三角形數(shù)據(jù)后,屬性設(shè)定階段12產(chǎn)生已知屬性以及將于管線后階決定的所需屬性的內(nèi)插變量表,像素位置階段14則計(jì)算在三角形中的特定像素的位置相關(guān)屬性,而紋理階段16則處理三角形中的像素的紋理相關(guān)屬性,該紋理階段16可能利用多種的技術(shù)以決定紋理值,一旦決定了任一像素的紋理值,像素著色器(pixel shader)18會(huì)合并色彩組成、紋理值、霧狀以及反射(spectral)色彩組成等所有的屬性,以于繪圖管線中生成該像素的效果顏色,該處理過的數(shù)據(jù)前進(jìn)至寫回(write-back)單元20,最后儲(chǔ)存在畫面緩沖區(qū)22中。
      幾個(gè)前面提及的管線階段需要屬性計(jì)算,尤其像是線性內(nèi)插技術(shù)等等,因?yàn)樗鼈冃枰獏⒖急舜说闹祦碛?jì)算屬性,所以計(jì)算這些屬性的操作是非常復(fù)雜的,本領(lǐng)域技術(shù)人員均知計(jì)算繪圖管線中的每一個(gè)像素的最終色彩值的處理程序既復(fù)雜又耗時(shí),一種加速處理的方法是以平行方式產(chǎn)生像素,不過條件是每一個(gè)平行產(chǎn)生的像素都要有自己的電路元件以計(jì)算其屬性,此附加的電路元件雖改善效率,但卻增加了復(fù)雜度、體積和費(fèi)用,另一種加速計(jì)算的技術(shù)是群組處理具有共同屬性特性的像素,不過,本方法易受顯示圖像的本身情況以及在同一三角形或其它像素內(nèi)像素?cái)?shù)據(jù)的關(guān)聯(lián)性影響,導(dǎo)致不同的效能改善水準(zhǔn)。
      因此,此領(lǐng)域迄今仍有需要克服以上所述的此等缺陷和不足。

      發(fā)明內(nèi)容
      本發(fā)明提供能于圖形處理單元內(nèi)提供共享屬性計(jì)算電路的系統(tǒng)和方法,于一實(shí)施例中,本發(fā)明為一種系統(tǒng),用以在擁有多個(gè)處理階段的圖形處理單元內(nèi)計(jì)算像素屬性,該系統(tǒng)包含計(jì)算方塊,用以處理對(duì)應(yīng)于多個(gè)像素的多項(xiàng)屬性;多個(gè)先進(jìn)先出緩沖區(qū),每一個(gè)先進(jìn)先出緩沖區(qū)均位于一個(gè)處理階段和該計(jì)算方塊之間;共享緩沖區(qū),用以在屬性處理期間儲(chǔ)存該多項(xiàng)屬性;以及處理優(yōu)先邏輯元件,用以決定對(duì)應(yīng)于該多項(xiàng)屬性的多個(gè)優(yōu)先級(jí)。
      本發(fā)明亦提供能于圖形處理單元內(nèi)計(jì)算屬性的系統(tǒng),此系統(tǒng)大體上可包含三角形設(shè)定邏輯元件,用以于繪圖管線內(nèi)決定三角形數(shù)據(jù);屬性設(shè)定邏輯元件,用以決定對(duì)應(yīng)于該三角形數(shù)據(jù)的多項(xiàng)屬性;中央緩沖邏輯元件,于處理期間儲(chǔ)存該多項(xiàng)屬性;計(jì)算邏輯元件,用以計(jì)算從每一個(gè)處理階段得到的屬性;以及判斷電路,用以建立該計(jì)算邏輯元件的優(yōu)先級(jí)。
      本發(fā)明亦提供能于圖形處理單元內(nèi)計(jì)算屬性的方法,關(guān)于這點(diǎn),此方法大體上可包括下列步驟選擇多個(gè)像素,其中每一個(gè)像素?fù)碛卸囗?xiàng)屬性;將該多項(xiàng)屬性分成多個(gè)群組,該多個(gè)群組對(duì)應(yīng)于該圖形處理單元中的多個(gè)階段;指定對(duì)應(yīng)于該多個(gè)群組的多個(gè)處理優(yōu)先級(jí);計(jì)算方塊接收多項(xiàng)屬性;以及根據(jù)該多個(gè)優(yōu)先級(jí)計(jì)算該多項(xiàng)屬性。
      本發(fā)明的系統(tǒng)、方法、特征及優(yōu)點(diǎn)可通過下列圖式及詳細(xì)說明而有更深入的了解,同時(shí),于說明中所包含的其它系統(tǒng)、方法、特征及優(yōu)點(diǎn)亦受如附申請(qǐng)專利范圍的保護(hù)。


      這里所揭露實(shí)施例的各方觀點(diǎn)可參考下列圖式以獲得更深入的了解,圖式中的元件并未限定其尺寸比例,僅用于清楚說明本發(fā)明的原則,各圖中相似的標(biāo)號(hào)代表相對(duì)應(yīng)的部分。
      圖1為已知計(jì)算機(jī)繪圖系統(tǒng)中的繪圖管線內(nèi)某些元件的功能流程圖。
      圖2A和圖2B說明根據(jù)笛卡兒和重心的技術(shù)計(jì)算圖形處理單元內(nèi)產(chǎn)生的三角形內(nèi)像素。
      圖3為于圖形處理單元內(nèi)計(jì)算屬性的一系統(tǒng)實(shí)施例的方塊圖。
      圖4為于圖形處理單元內(nèi)計(jì)算屬性的另一系統(tǒng)實(shí)施例的方塊圖。
      圖5為于圖形處理單元內(nèi)計(jì)算屬性的數(shù)據(jù)流實(shí)施例的方塊圖。
      圖6為于平行處理設(shè)計(jì)中的計(jì)算方塊實(shí)施例的方塊圖。
      圖7為擁有判斷邏輯元件的計(jì)算方塊實(shí)施例的方塊圖。
      圖8為判斷邏輯元件實(shí)施例的方塊圖。
      圖9為方塊圖,說明于圖形處理單元中,屬性計(jì)算系統(tǒng)配合共享緩沖區(qū)的具體實(shí)施例。
      圖10為于圖形處理單元中計(jì)算屬性的方法實(shí)施例的流程圖。
      本發(fā)明圖式中所包含的各元件列式如下三角形設(shè)定階段10 屬性設(shè)定階段12像素位置階段 14 紋理階段16、164、278像素著色器18 寫回單元20畫面緩沖區(qū)22 三角形100頂點(diǎn) 102 區(qū)域104像素 106 坐標(biāo)108分區(qū) 110 系統(tǒng)120、140三角形設(shè)定邏輯元件 122三角形屬性設(shè)定邏輯元件123中央緩沖邏輯元件 124計(jì)算邏輯元件 126 判斷邏輯元件128、212
      計(jì)算方塊142、210 先進(jìn)先出緩沖區(qū)144共享緩沖區(qū) 146、282 處理優(yōu)先級(jí)邏輯元件148計(jì)算方塊160、190 位置階段162、276著色器輸入階段166、280已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 168、170、172原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 174、176、178著色器180、283 原始數(shù)據(jù) 189計(jì)算電路191~198已處理數(shù)據(jù) 199位置階段已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 214紋理階段已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 216著色器輸入數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 218位置階段原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 220紋理階段原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 222著色器輸入階段原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū) 224三角形設(shè)定單元270 屬性設(shè)定單元 272存儲(chǔ)器 274 共享計(jì)算電路 28具體實(shí)施方式
      本發(fā)明的各觀念可通過下列圖式以獲得更進(jìn)一步的了解,本發(fā)明將配合圖式進(jìn)行說明,但是不限于所述實(shí)施例,相反地,還包含了所有的替代、修改、等效對(duì)象,均不脫如附申請(qǐng)專利范圍的精神與范疇。
      將參閱圖2A和圖2B,其分別說明如何根據(jù)笛卡兒(Cartesian)和重心(Barycentric)技術(shù)來計(jì)算圖形處理單元(graphics processing unit,GPU)內(nèi)產(chǎn)生的三角形內(nèi)像素,三個(gè)頂點(diǎn)102的位置定義一個(gè)三角形100,并形成區(qū)域104,通過位置坐標(biāo)和一個(gè)或多個(gè)附加屬性可定義每一個(gè)頂點(diǎn)102。附加屬性可為紋理、色彩或其它屬性,在該三角形100內(nèi),坐標(biāo)108定義了像素106的特定位置。利用笛卡兒設(shè)定方式計(jì)算該像素106的屬性值,需要用到頂點(diǎn)的X和Y軸位置坐標(biāo)以及頂點(diǎn)的屬性值,以決定該像素106的屬性值,用以決定該像素屬性值的一般方程式為P(x,y)=Px·x+Py·y+Pc其中Px、Py和Pc為針對(duì)該屬性的三角形設(shè)定參數(shù),而x和y為像素106的坐標(biāo)值108。
      圖2B的重心設(shè)定方式用到由像素106和兩個(gè)頂點(diǎn)102所定義的分區(qū)110,例如P1、P2和該像素106三個(gè)點(diǎn)可以定義分區(qū)A0,同樣地,通過點(diǎn)P0、P2和該像素106可以定義分區(qū)A1。為了決定屬性比重,對(duì)應(yīng)頂點(diǎn)P0屬性值的分區(qū)應(yīng)為分區(qū)A0,當(dāng)一像素位置遠(yuǎn)離一特定頂點(diǎn)時(shí),對(duì)應(yīng)該頂點(diǎn)的分區(qū)便會(huì)縮小,計(jì)算該像素屬性的式子為P(x,y)=A0A(x,y)&CenterDot;P0+A1A(x,y)&CenterDot;P1+A2A(x,y)&CenterDot;P2]]>其中P0、P1和P2為頂點(diǎn)屬性值,A0、A1和A2為該三角形內(nèi)坐標(biāo)為(x,y)的像素所分割的三個(gè)分區(qū)的面積,A則是P0、P1和P2所定義的三角形的總面積。依此方式,每一頂點(diǎn)屬性值會(huì)乘上該分區(qū)的對(duì)應(yīng)比例,分區(qū)比例又稱為重心坐標(biāo)α、β、γ。這里提到的笛卡兒設(shè)定和重心設(shè)定方式并非決定像素屬性的必要技術(shù),吾人可以單獨(dú)地或非單獨(dú)地利用此類技術(shù)實(shí)行本發(fā)明的系統(tǒng)和方法,亦可利用其它數(shù)值方法系統(tǒng)以執(zhí)行該計(jì)算。
      請(qǐng)參閱圖3,其為于圖形處理單元內(nèi)計(jì)算屬性的一系統(tǒng)實(shí)施例的方塊圖,該系統(tǒng)120包含三角形設(shè)定邏輯元件122,當(dāng)需要于計(jì)算機(jī)繪圖環(huán)境中描繪景象時(shí),即可以該三角形設(shè)定邏輯元件122決定所需三角形的三角形坐標(biāo)數(shù)據(jù)。該系統(tǒng)120亦包含三角形屬性設(shè)定邏輯元件123,用以決定由該三角形設(shè)定邏輯元件122所定義的三角形內(nèi)的每一個(gè)像素的屬性。該系統(tǒng)120還包含中央緩沖邏輯元件124,當(dāng)三角形像素的屬性設(shè)定數(shù)據(jù)于繪圖管線的多重處理階段中前進(jìn)時(shí),可儲(chǔ)存該屬性設(shè)定數(shù)據(jù),關(guān)于這一點(diǎn),中央緩沖邏輯元件124可以利用地址指針,使得當(dāng)特定的三角形像素處理程序通過該繪圖管線的多重階段時(shí),不需要移動(dòng)該實(shí)際屬性數(shù)據(jù),因?yàn)閭鬟f指針的效能成本比移動(dòng)該實(shí)際屬性數(shù)據(jù)要小得多,所以與圖形處理單元屬性處理有關(guān)的程序便能藉此顯著改善效能和存儲(chǔ)器利用率。
      該系統(tǒng)120還包含計(jì)算邏輯元件126,用以計(jì)算在繪圖管線內(nèi)各處理階段所需要的像素屬性,該計(jì)算邏輯元件126可以包含在計(jì)算方塊或計(jì)算電路之中,而且在本發(fā)明的系統(tǒng)和方法中,繪圖管線內(nèi)的多重處理階段可以共享此計(jì)算邏輯元件126,當(dāng)繪圖管線內(nèi)的多重處理階段產(chǎn)生多個(gè)計(jì)算要求,判斷邏輯元件128可建立該計(jì)算邏輯元件126于計(jì)算各請(qǐng)求的優(yōu)先級(jí),建立該計(jì)算邏輯元件126的優(yōu)先級(jí),該判斷邏輯元件128可讓該繪圖管線的多重處理階段以更有效的方式使用該計(jì)算邏輯元件126,依此方式,該繪圖管線內(nèi)的每一處理階段便可共享該計(jì)算邏輯元件126。該系統(tǒng)120可進(jìn)一步包含先進(jìn)先出(first in first out,F(xiàn)IFO)緩沖邏輯元件,用以儲(chǔ)存每一處理階段和該計(jì)算邏輯元件126之間所傳遞的屬性。
      請(qǐng)參閱圖4,其為于圖形處理單元內(nèi)計(jì)算屬性的另一系統(tǒng)實(shí)施例的方塊圖,該系統(tǒng)140包含計(jì)算方塊142,用以處理在該繪圖管線的多重階段內(nèi)正處理像素的多項(xiàng)屬性,該計(jì)算方塊142可以計(jì)算位于三角形中的一像素的屬性,其中三角形頂點(diǎn)的屬性值已知,雖然這里的實(shí)施例是以三角形為像素進(jìn)行說明,但是亦可使用像是線段、點(diǎn)和其它多邊形等形式的像素,亦符合申請(qǐng)專利范圍的范疇及精神,該共享計(jì)算方塊142可包含多個(gè)計(jì)算電路以支持平行像素處理。該系統(tǒng)140亦包含先進(jìn)先出緩沖區(qū)144,用以緩沖該繪圖管線內(nèi)的多重處理階段所接收和輸出的數(shù)據(jù)。
      該系統(tǒng)140亦包含共享緩沖區(qū)146,可用以儲(chǔ)存該繪圖管線內(nèi)的任一處理階段正處理像素的對(duì)應(yīng)三角形屬性設(shè)定數(shù)據(jù),利用指針和指針型態(tài)可讓位于共享緩沖區(qū)146內(nèi)的三角形屬性設(shè)定數(shù)據(jù)形同于繪圖管線內(nèi)的不同處理階段中移動(dòng),其中指針具有緩沖區(qū)地址,而指針型態(tài)可以告知儲(chǔ)存在緩沖區(qū)的屬性的型態(tài),通過將指針傳遞到繪圖管線的不同處理階段,就不需要移動(dòng)在共享緩沖區(qū)146內(nèi)的三角形屬性設(shè)定數(shù)據(jù)。該系統(tǒng)140亦包含處理優(yōu)先級(jí)邏輯元件148,用以決定在該繪圖管線的多重處理階段中處理或計(jì)算屬性的優(yōu)先級(jí),依此方式,處理優(yōu)先級(jí)邏輯元件148決定處理順序,計(jì)算方塊142便依照此更具效率的順序提供計(jì)算邏輯給該繪圖管線的每一個(gè)處理階段,該處理優(yōu)先級(jí)邏輯元件148可以利用該屬性型態(tài)及/或其它管線元件狀態(tài)等信息,以決定將給來自多重處理階段的哪個(gè)計(jì)算請(qǐng)求有最高的優(yōu)先權(quán),在某些實(shí)施例中,通過驅(qū)動(dòng)程序可編程該處理優(yōu)先級(jí)邏輯元件148,以增加其彈性及結(jié)構(gòu)性。
      請(qǐng)參閱圖5,其為于圖形處理單元內(nèi)計(jì)算屬性的數(shù)據(jù)流實(shí)施例的方塊圖,其中有三個(gè)主要的階段請(qǐng)求使用計(jì)算電路,這些階段包含位置階段162、紋理階段164以及可要求像素內(nèi)插的著色器(shader)輸入階段166,但是本發(fā)明并不受限于這些階段。圖形處理單元包含的位置階段162用以處理位置屬性,以決定像是像素位置和可見性等信息,在此階段處理的屬性可為像素X值、像素Y值、像素Z值、像素W值以及模板值。該圖形處理單元亦可包含紋理階段164,用以處理決定該像素貼圖(texture mapping)的屬性。計(jì)算對(duì)應(yīng)于位置階段162和紋理階段164的屬性的時(shí)間點(diǎn)不同,針對(duì)給定的像素,通常會(huì)先計(jì)算其位置階段162的屬性,然后再計(jì)算紋理階段162的屬性。
      該圖形處理單元亦包含著色器輸入階段166,其用以計(jì)算如擴(kuò)散和反射色彩、正常表面和霧狀或其它屬性,這些屬性將被傳遞至像素著色器180,與貼圖色彩數(shù)據(jù)一起進(jìn)行更復(fù)雜的處理。每一個(gè)處理階段162、164、166均有機(jī)會(huì)要求計(jì)算方塊160計(jì)算屬性,而每一個(gè)處理階段均有一個(gè)對(duì)應(yīng)的輸出用先進(jìn)先出緩沖區(qū)174、176、178,用以儲(chǔ)存來自各處理階段的原始數(shù)據(jù),等候該計(jì)算方塊160準(zhǔn)備好對(duì)該數(shù)據(jù)執(zhí)行計(jì)算,計(jì)算方塊160與每一個(gè)階段162、164、166間各配置一個(gè)對(duì)應(yīng)的先進(jìn)先出緩沖區(qū)174、176、178。舉例來說,原始數(shù)據(jù)可以是空白像素?cái)?shù)據(jù)及其對(duì)應(yīng)指針,對(duì)應(yīng)指針會(huì)指出相關(guān)的三角形屬性設(shè)定值在共享緩沖區(qū)146中的位置,該數(shù)據(jù)一般從位置階段162順流移動(dòng)到紋理階段164、著色器輸入階段166,并通過該計(jì)算方塊160到著色器180,該計(jì)算方塊160計(jì)算完位置數(shù)據(jù)后,將該處理過的屬性數(shù)據(jù)傳送到已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)168,儲(chǔ)存該處理過的數(shù)據(jù),等待該位置階段162能夠接收這些處理過的數(shù)據(jù)并傳遞到后續(xù)的處理階段,如紋理階段164。在某些例子中,該處理過的位置階段數(shù)據(jù)將不會(huì)被送到紋理階段164,因?yàn)橛?jì)算結(jié)果指出該結(jié)果已不再有效,例如,假設(shè)深度測(cè)試判定該像素不可見,則數(shù)據(jù)將不具意義,而在其它例子中,該處理位置階段數(shù)據(jù)是會(huì)從位置階段162進(jìn)行到紋理階段164的。
      該紋理階段164將原始數(shù)據(jù)傳送到原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)176,以供計(jì)算方塊160進(jìn)行后續(xù)的處理,對(duì)應(yīng)的已處理數(shù)據(jù)會(huì)送到已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)170儲(chǔ)存,等待紋理階段164準(zhǔn)備好接受這些已處理數(shù)據(jù),某些已處理數(shù)據(jù)將傳遞到著色器輸入階段166。來自著色器輸入階段166的原始數(shù)據(jù)會(huì)儲(chǔ)存在原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)178,等待計(jì)算方塊160準(zhǔn)備好計(jì)算這些原始數(shù)據(jù)。計(jì)算方塊160完成著色器輸入階段數(shù)據(jù)的計(jì)算后,將處理過的著色器屬性傳送到已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)172儲(chǔ)存,等待該著色器180準(zhǔn)備好進(jìn)行后續(xù)的處理,該著色器180可以通過各別的數(shù)據(jù)路徑或跟著管線的各階段,從計(jì)算方塊160接收任何或所有與位置階段162、紋理階段164、著色器輸入階段166對(duì)應(yīng)的已處理數(shù)據(jù)。
      簡(jiǎn)單說明圖6,其是說明運(yùn)用在平行處理設(shè)計(jì)中的計(jì)算方塊實(shí)施例的方塊圖,計(jì)算方塊190從該繪圖管線的多重處理階段接收對(duì)應(yīng)各種屬性的原始數(shù)據(jù)189,該計(jì)算方塊190可包含多個(gè)計(jì)算電路191~198,以同時(shí)針對(duì)多個(gè)像素平行地執(zhí)行屬性計(jì)算,例如,可將八個(gè)像素分成兩組各有四個(gè)像素的獨(dú)立群組,以進(jìn)行并行計(jì)算,當(dāng)計(jì)算電路191~198完成該計(jì)算時(shí),已處理的屬性數(shù)據(jù)199將被傳送到繪圖管線內(nèi)與特定處理階段對(duì)應(yīng)的先進(jìn)先出緩沖區(qū)。
      請(qǐng)參閱圖7,其為擁有判斷邏輯元件的計(jì)算方塊實(shí)施例的方塊圖,該計(jì)算方塊210用以決定位于圖形處理單元所描繪像素內(nèi)的像素的屬性值,計(jì)算方塊210接收從繪圖管線內(nèi)的多重處理階段所發(fā)出的計(jì)算請(qǐng)求,然后利用判斷邏輯元件212建立各計(jì)算請(qǐng)求的處理優(yōu)先級(jí),該判斷邏輯元件212可以從對(duì)應(yīng)于該繪圖管線中的多重階段的多個(gè)先進(jìn)先出緩沖區(qū)接收利用度數(shù)據(jù),例如,在該繪圖管線中,位置階段可包含已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)214以及原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)220,因應(yīng)位置階段對(duì)計(jì)算方塊210發(fā)出的計(jì)算請(qǐng)求,該位置階段原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)220儲(chǔ)存有關(guān)的空白像素?cái)?shù)據(jù)和指出屬性設(shè)定值在共享緩沖區(qū)中位置的指針,若計(jì)算方塊210完成計(jì)算,像素屬性數(shù)據(jù)則儲(chǔ)存于該位置階段已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)214;同樣地,該紋理階段亦有對(duì)應(yīng)的已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)216和原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)222。判斷邏輯元件212亦接收對(duì)應(yīng)于該著色器輸入階段原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)224的利用度數(shù)據(jù),其中該著色器輸入階段原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)224用以儲(chǔ)存將從著色器輸入階段進(jìn)入該計(jì)算方塊210的數(shù)據(jù),當(dāng)原始數(shù)據(jù)處理完畢,已計(jì)算的屬性將傳送到著色器輸入數(shù)據(jù)的先進(jìn)先出緩沖區(qū)218,以供著色器(未繪出)進(jìn)行后續(xù)的使用。當(dāng)判斷邏輯元件212接收到與各先進(jìn)先出緩沖器利用程度有關(guān)的數(shù)據(jù)后,便能夠根據(jù)目前使用項(xiàng)目(entry)的數(shù)目來決定各計(jì)算請(qǐng)求的處理優(yōu)先級(jí),例如,當(dāng)位置階段原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)220超過預(yù)先決定的利用度門坎時(shí),則指定該位置階段的計(jì)算請(qǐng)求有一個(gè)較高的優(yōu)先級(jí),在此范例中,指定該位置階段計(jì)算請(qǐng)求有一個(gè)較高的優(yōu)先級(jí)可以減少該管線在此階段延遲(stall)的風(fēng)險(xiǎn);相反地,如果位置階段已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)214超出該預(yù)先決定的利用度門坎時(shí),則判斷邏輯元件212會(huì)指定后方的位置階段計(jì)算請(qǐng)求有一個(gè)較低的優(yōu)先級(jí)。因此,該判斷邏輯元件212在接收管線中對(duì)應(yīng)于各處理階段的先進(jìn)先出緩沖區(qū)的利用度數(shù)據(jù)后,便會(huì)建立各計(jì)算請(qǐng)求的優(yōu)先級(jí),以減少造成繪圖管線中任何階段延遲的風(fēng)險(xiǎn)。
      現(xiàn)請(qǐng)參閱圖8,其為判斷邏輯元件實(shí)施的流程圖,在步驟240中,該判斷邏輯元件接收從繪圖管線內(nèi)的處理階段所發(fā)出的計(jì)算請(qǐng)求;在步驟242中,調(diào)查與各處理階段對(duì)應(yīng)的先進(jìn)先出緩沖區(qū),以獲悉它們的利用程度;然后在步驟244中,該判斷邏輯元件判斷是否有任何已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)的利用程度低于特定的門坎;如果確實(shí)有存在已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)的利用程度低于特定的門坎,則可能其對(duì)應(yīng)的處理階段在等待已計(jì)算屬性數(shù)據(jù)時(shí)發(fā)生延遲,此時(shí),于步驟246中,便指定對(duì)應(yīng)于該階段的計(jì)算請(qǐng)求有較高的處理優(yōu)先級(jí);如果所有已處理數(shù)據(jù)的先進(jìn)先出緩沖區(qū)的利用程度均高于預(yù)先決定的門坎,于步驟250中,則沿用先前建立的處理順序;在步驟252中,當(dāng)該判斷邏輯判定原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)的利用程度高于特定門坎時(shí),進(jìn)行至步驟254,指定對(duì)應(yīng)于該階段的計(jì)算請(qǐng)求有較高的處理優(yōu)先級(jí);如果沒有原始數(shù)據(jù)的先進(jìn)先出緩沖區(qū)的利用程度高于該特定門坎時(shí),該判斷邏輯元件前進(jìn)至步驟250,沿用先前建立的處理順序。當(dāng)從該繪圖管線的處理階段接收到新的計(jì)算請(qǐng)求時(shí),該判斷邏輯元件會(huì)持續(xù)運(yùn)作,如果該判斷邏輯元件無法指定計(jì)算請(qǐng)求的處理優(yōu)先級(jí),便可以利用預(yù)設(shè)的處理順序,例如循環(huán)方式(rounder robin),根據(jù)每一處理階段的預(yù)定順序來處理計(jì)算請(qǐng)求。
      現(xiàn)請(qǐng)參考圖9,其是方塊圖,說明于圖形處理單元中,屬性計(jì)算系統(tǒng)配合共享緩沖區(qū)的具體實(shí)施例,該系統(tǒng)包含三角形設(shè)定單元270,用以建立坐標(biāo)數(shù)據(jù),來定義描繪程序中需要用到的三角形。
      于另一種實(shí)施例中,可以將三角形屬性設(shè)定數(shù)據(jù)儲(chǔ)存在共享緩沖區(qū)282中,對(duì)應(yīng)于該已儲(chǔ)存的三角形屬性設(shè)定數(shù)據(jù)的指針將會(huì)隨著原始三角形數(shù)據(jù)通過該多重管線階段,當(dāng)其中之一的管線階段接收到指針時(shí),會(huì)將該指針?biāo)偷焦蚕碛?jì)算電路284,該電路便會(huì)從共享緩沖區(qū)282存取該三角形屬性設(shè)定數(shù)據(jù),依此方法,共享緩沖區(qū)282可與存儲(chǔ)器274分開使用。
      在某些具體實(shí)施例中,三角形設(shè)定數(shù)據(jù)會(huì)儲(chǔ)存在存儲(chǔ)器274并傳送到屬性設(shè)定單元272,以計(jì)算三角形的屬性設(shè)定數(shù)據(jù),當(dāng)繪圖管線處理到這個(gè)三角形時(shí),指出該三角形屬性設(shè)定數(shù)據(jù)位置的指針便會(huì)被傳送到共享緩沖區(qū)282進(jìn)行儲(chǔ)存。有時(shí),一個(gè)像素可能有32項(xiàng)或更多的屬性,其中每一項(xiàng)屬性還包括4個(gè)或多個(gè)特定組成,將這些三角形屬性設(shè)定數(shù)據(jù)傳送到存儲(chǔ)器274,而對(duì)應(yīng)于這些屬性設(shè)定數(shù)據(jù)的指針則被傳送到共享緩沖區(qū)282,同時(shí),共享緩沖區(qū)282中亦儲(chǔ)存有各指針的指針型態(tài),其中該指針型態(tài)指出此特定三角形屬于哪一屬性群組,因?yàn)樵搶傩杂?jì)算程序在進(jìn)入該像素著色器283之前,還需要經(jīng)過相當(dāng)多的處理步驟,因此使用共享緩沖區(qū)管理大量的對(duì)應(yīng)數(shù)據(jù),以儲(chǔ)存設(shè)定結(jié)果與有關(guān)特定屬性組成的指針。三角形設(shè)定單元270和屬性設(shè)定單元272可以配置(allocate)部分的緩沖區(qū),然后當(dāng)對(duì)應(yīng)數(shù)據(jù)已處理完畢,接下來的處理階段就可以恢復(fù)此部分的緩沖區(qū),舉例來說,假如位置階段276判定在此三角形內(nèi)的像素已不再可見,便可刪除共享緩沖區(qū)內(nèi)對(duì)應(yīng)于該三角形的屬性設(shè)定數(shù)據(jù)。
      該管線包含如位置階段276、紋理階段278、著色器輸入階段280等多重處理階段以及共享緩沖區(qū)282,當(dāng)該管線處理不同的像素屬性時(shí),相關(guān)的數(shù)據(jù)便會(huì)從一個(gè)階段進(jìn)行到另一個(gè)階段,舉例來說,在位置階段276的屬性利用從共享緩沖區(qū)282得到的指針和指針型態(tài),將適當(dāng)?shù)膶傩栽O(shè)定值傳送到共享計(jì)算電路284進(jìn)行屬性計(jì)算,當(dāng)共享計(jì)算電路284針對(duì)這些屬性的計(jì)算結(jié)束,已處理的數(shù)據(jù)便會(huì)傳回到該位置階段276,在某些情況下,如果這些屬性不需要進(jìn)一步的處理,則位置階段便會(huì)刪除共享緩沖區(qū)282中的對(duì)應(yīng)指針數(shù)據(jù),另一種情況則是如果后續(xù)的階段像是紋理階段278可以利用該屬性,則紋理階段278同樣會(huì)去存取該共享緩沖區(qū)282內(nèi)對(duì)應(yīng)該屬性設(shè)定值的指針和指針型態(tài)等信息,并傳送原始數(shù)據(jù)到該共享計(jì)算電路284進(jìn)行計(jì)算。注意,共享計(jì)算電路284因應(yīng)著色器輸入階段280的請(qǐng)求而計(jì)算獲得的屬性將會(huì)傳送到著色器283,處理階段276、278、280傳送到該共享計(jì)算電路284的屬性數(shù)據(jù)則包含對(duì)應(yīng)于共享緩沖區(qū)282的指針和指針型態(tài),該共享計(jì)算電路284利用該指針以存取儲(chǔ)存在存儲(chǔ)器274內(nèi)的實(shí)際屬性設(shè)定數(shù)據(jù)值,并利用該指針型態(tài)以存取各屬性型態(tài)的處理優(yōu)先級(jí)。舉例說明,一般來說,位置群組的屬性優(yōu)先于紋理群組的屬性,同樣地,紋理群組的屬性通常優(yōu)先于著色器群組的屬性,依此方式,在繪圖管線內(nèi)僅傳遞指針和指針型態(tài),如此可避免傳送與許多待處理三角形屬性相關(guān)的大量數(shù)據(jù)。
      現(xiàn)請(qǐng)參考圖10的流程圖,其是說明于圖形處理單元中用以計(jì)算屬性的方法實(shí)施例,該方法于開始的步驟310中先在三角形內(nèi)選擇多個(gè)像素,其中每一個(gè)像素均有多項(xiàng)屬性,舉個(gè)例子,每一個(gè)像素可能有32項(xiàng)或更多的屬性,而每一項(xiàng)屬性可能包含4個(gè)或更多的組成,一般而言,所選擇的像素會(huì)位于相同的像素或是三角形中。于步驟320中,將屬性分組,不同的群組對(duì)應(yīng)繪圖管線內(nèi)的不同處理階段,舉例說明,一位置群組包含決定像素位置和可見性的屬性,如像素X值、像素Y值、像素Z值、像素W值以及模板值等,但不限于這些值;同樣地,該紋理群組包括決定像素貼圖色彩的屬性;色彩群組則包括那些直接傳送到像素著色器進(jìn)行復(fù)雜色彩操作的屬性,其中包括色彩擴(kuò)散、霧狀和正常表面功能等操作,但不限于所列操作。
      于步驟330中,指定每一屬性群組的處理優(yōu)先級(jí),例如,不同群組中的屬性會(huì)因效能的理由而于不同的時(shí)間點(diǎn)進(jìn)行計(jì)算,尤其是當(dāng)所有像素均要求執(zhí)行像素著色器操作,舉個(gè)例子,處理優(yōu)先級(jí)一般為位置群組屬性優(yōu)先于紋理群組屬性,而紋理群組屬性又優(yōu)先于色彩群組屬性。于步驟340中,計(jì)算方塊從繪圖管線中的多重處理階段接收屬性。于步驟350中,根據(jù)于步驟330中指定的處理優(yōu)先級(jí)計(jì)算各屬性。如上述有關(guān)圖7和圖8的討論,可利用額外的判斷邏輯元件進(jìn)一步精算處理優(yōu)先級(jí),以增加管線的處理效率和效能。
      本發(fā)明實(shí)施例可以硬件、軟件、固件或其組合等方式實(shí)施,于某些實(shí)施例中,可利用儲(chǔ)存在存儲(chǔ)器中的軟件或固件,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng)來執(zhí)行,如果是以硬件的方式呈現(xiàn),則可利用下列已知技術(shù)或其組合,例如具有邏輯門而可對(duì)數(shù)據(jù)信號(hào)進(jìn)行邏輯功能的離散邏輯電路、具有適當(dāng)組合邏輯門的特殊應(yīng)用集成電路(application specific integrated circuit,ASIC)、可編程?hào)艠O陣列(programmable gate array,PGA)、場(chǎng)式可編程?hào)艠O陣列(fieldprogrammable gate array,F(xiàn)PGA)等等元件。
      任何的程序說明或流程步驟代表某些模塊、程序段、或是部分程序代碼,其中可包含一個(gè)或數(shù)個(gè)可執(zhí)行的指令,以進(jìn)行特定的邏輯功能或程序步驟,另有其它實(shí)施方式可執(zhí)行本發(fā)明功能,例如所說明與討論的順序并非固定不變,本領(lǐng)域技術(shù)人員可稍加變化,或是可讓某些步驟同時(shí)進(jìn)行,甚至反向執(zhí)行,只要能符合本發(fā)明的功能性即可,均屬本發(fā)明的范疇。
      應(yīng)強(qiáng)調(diào)的是,以上所述的具體例及非限定實(shí)施例僅為可能的施行范例,僅用以清楚說明本揭露的原理,即便對(duì)上述具體例及非限定實(shí)施例施以變化和修飾,然皆不脫此中所述的精神和范圍,所有此等修飾及變化應(yīng)涵括于本發(fā)明的范圍內(nèi),受如附權(quán)利要求范圍保護(hù)。
      權(quán)利要求
      1.一種于圖形處理單元中計(jì)算屬性的方法,其包括步驟選擇多個(gè)像素,其中每一像素具有多項(xiàng)屬性;將對(duì)應(yīng)于該多個(gè)像素的該多項(xiàng)屬性分成多個(gè)群組,該多個(gè)群組對(duì)應(yīng)于該圖形處理單元中的多個(gè)階段;指定每一群組的處理優(yōu)先級(jí);計(jì)算方塊接收該多項(xiàng)屬性;以及比較一群組與其它群組的處理優(yōu)先級(jí),以決定順序,依據(jù)該順序計(jì)算該多項(xiàng)屬性。
      2.根據(jù)權(quán)利要求1所述的方法,還包括將該多項(xiàng)屬性儲(chǔ)存于共享緩沖區(qū)中。
      3.根據(jù)權(quán)利要求2所述的方法,還包括于該計(jì)算方塊內(nèi)移動(dòng)該多項(xiàng)屬性通過該多個(gè)階段。
      4.根據(jù)權(quán)利要求3所述的方法,其中使該多項(xiàng)屬性移動(dòng)的步驟包括利用多個(gè)指針地址,指出儲(chǔ)存于該共享緩沖區(qū)中的該多項(xiàng)屬性。
      5.根據(jù)權(quán)利要求1所述的方法,其中分成群組的步驟包括定義位置群組,其包括決定像素位置的屬性;定義色彩群組,其包括用于執(zhí)行著色器操作的屬性;以及定義紋理群組,其包括決定像素紋理數(shù)據(jù)的屬性。
      6.根據(jù)權(quán)利要求5所述的方法,其中該位置群組包括的屬性有像素X位置、像素Y位置、像素Z位置、像素W位置或像素模板值。
      7.根據(jù)權(quán)利要求1所述的方法,其中計(jì)算的步驟包括判斷從該多個(gè)階段所發(fā)出的多個(gè)計(jì)算請(qǐng)求。
      8.根據(jù)權(quán)利要求7所述的方法,其中該判斷步驟包括判斷對(duì)應(yīng)于多個(gè)先進(jìn)先出緩沖區(qū)的多個(gè)利用程度,其中每一先進(jìn)先出緩沖區(qū)是位于一階段與該計(jì)算方塊之間。
      9.根據(jù)權(quán)利要求1所述的方法,其中指定位置群組內(nèi)的屬性具有第一處理優(yōu)先級(jí),指定紋理群組內(nèi)的屬性具有第二處理優(yōu)先級(jí),以及指定色彩群組內(nèi)的屬性具有第三處理優(yōu)先級(jí)。
      10.根據(jù)權(quán)利要求1所述的方法,其中是于該計(jì)算方塊內(nèi)平行處理該計(jì)算步驟。
      11.一種用于圖形處理單元中計(jì)算屬性的系統(tǒng),該圖形處理單元具有多個(gè)處理階段,該系統(tǒng)包含計(jì)算方塊,用以處理對(duì)應(yīng)于多個(gè)像素的多項(xiàng)屬性,其中每一像素包括部分的該多項(xiàng)屬性;多個(gè)先進(jìn)先出緩沖區(qū),每一先進(jìn)先出緩沖區(qū)是位于一處理階段與該計(jì)算方塊之間;共享緩沖區(qū),用以于屬性處理期間內(nèi)儲(chǔ)存該多項(xiàng)屬性;以及處理優(yōu)先級(jí)邏輯元件,用以決定對(duì)應(yīng)于該多項(xiàng)屬性的多個(gè)優(yōu)先級(jí)。
      12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中該多項(xiàng)屬性包括屬性設(shè)定數(shù)據(jù)。
      13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中該多項(xiàng)屬性是分成對(duì)應(yīng)于該多個(gè)處理階段的多個(gè)群組。
      14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中該多個(gè)群組包括位置群組,其包括決定像素位置的屬性;紋理群組,其包括決定像素紋理數(shù)據(jù)的屬性;以及色彩群組,其包括于像素著色器內(nèi)執(zhí)行色彩操作的屬性。
      15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中該處理優(yōu)先級(jí)邏輯元件指定該位置群組內(nèi)的屬性比該紋理群組具有較高的優(yōu)先級(jí)以及指定該紋理群組內(nèi)的屬性比該色彩群組具有較高的優(yōu)先級(jí)。
      16.根據(jù)權(quán)利要求11所述的系統(tǒng),其中該計(jì)算方塊包含判斷邏輯元件,用以決定該多個(gè)處理階段所產(chǎn)生的多個(gè)計(jì)算請(qǐng)求的處理順序。
      17.根據(jù)權(quán)利要求11所述的系統(tǒng),其中該計(jì)算方塊包含多個(gè)計(jì)算電路,用以執(zhí)行并行計(jì)算。
      18.根據(jù)權(quán)利要求11所述的系統(tǒng),其中該共享緩沖區(qū)還包含多個(gè)地址指針,用以使該屬性通過該多個(gè)處理階段。
      19.一種用于圖形處理單元中計(jì)算屬性的系統(tǒng),該系統(tǒng)包含三角形設(shè)定邏輯元件,用以決定繪圖管線中的三角形數(shù)據(jù);屬性設(shè)定邏輯元件,用以決定對(duì)應(yīng)于該三角形數(shù)據(jù)的多項(xiàng)屬性;中央緩沖邏輯元件,用以在處理期間內(nèi)儲(chǔ)存該多項(xiàng)屬性;計(jì)算邏輯元件,用以計(jì)算每一處理階段所送出的屬性;以及判斷邏輯元件,用以建立該計(jì)算邏輯元件的處理優(yōu)先級(jí)。
      20.根據(jù)權(quán)利要求19所述的系統(tǒng),還包含分組裝置,用以將該多項(xiàng)屬性分成對(duì)應(yīng)于該多個(gè)處理階段的多個(gè)群組。
      21.根據(jù)權(quán)利要求19所述的系統(tǒng),還包含先進(jìn)先出緩沖邏輯元件,用以儲(chǔ)存于每一處理階段與該計(jì)算邏輯元件間傳遞的屬性。
      22.根據(jù)權(quán)利要求21所述的系統(tǒng),其中該判斷邏輯元件利用該先進(jìn)先出緩沖邏輯元件以建立該計(jì)算邏輯的多個(gè)優(yōu)先級(jí),以及該多個(gè)優(yōu)先級(jí)決定優(yōu)先執(zhí)行哪一個(gè)計(jì)算請(qǐng)求。
      全文摘要
      本發(fā)明有關(guān)于在圖形處理單元中提供共享屬性計(jì)算電路的系統(tǒng)和方法,其一為用于圖形處理單元中計(jì)算屬性的系統(tǒng),該圖形處理單元具有多個(gè)處理階段,該系統(tǒng)可包含計(jì)算方塊,用以處理對(duì)應(yīng)于多個(gè)像素的多項(xiàng)屬性,亦包含多個(gè)先進(jìn)先出緩沖區(qū),每一先進(jìn)先出緩沖區(qū)是位于處理階段與該計(jì)算方塊之間,還可包含共享緩沖區(qū),用以于屬性處理期間內(nèi)儲(chǔ)存該多項(xiàng)屬性或指針,還可包含處理優(yōu)先級(jí)邏輯元件,用以決定對(duì)應(yīng)于該多項(xiàng)屬性的多個(gè)優(yōu)先級(jí)。
      文檔編號(hào)G06T1/00GK101051382SQ200710106499
      公開日2007年10月10日 申請(qǐng)日期2007年6月1日 優(yōu)先權(quán)日2006年8月24日
      發(fā)明者廖群峰, 約翰·柏拉勒斯 申請(qǐng)人:威盛電子股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1