專(zhuān)利名稱(chēng):圖形處理器的可變時(shí)鐘控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明揭示內(nèi)容大體上涉及圖形成像,且更明確地說(shuō)涉及用于動(dòng)態(tài)地調(diào)節(jié)圖形處理器的個(gè)別模塊的時(shí)鐘的系統(tǒng)和技術(shù)。
背景技術(shù):
電子游戲和多媒體演示集成到個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動(dòng)電話(huà)、個(gè)人數(shù)字助理(PDA)和其它裝置中已變成如今的消費(fèi)者電子市場(chǎng)中的主流。這些電子游戲和多媒體演示通過(guò)稱(chēng)為三維(3D)圖形的技術(shù)來(lái)支持。3D圖形用來(lái)產(chǎn)生圖形圖像,并將那些圖像投影到二維(2D)顯示器上。這可通過(guò)將圖形圖像轉(zhuǎn)化成3D線(xiàn)框結(jié)構(gòu)來(lái)實(shí)現(xiàn),3D線(xiàn)框結(jié)構(gòu)由較小組件組成,例如三角形、正方形、長(zhǎng)方形、平行四邊形或其它合適的表面。接著,3D線(xiàn)框結(jié)構(gòu)可轉(zhuǎn)變成2D顯示空間,其中線(xiàn)框的每個(gè)表面都由其頂點(diǎn)的坐標(biāo)來(lái)界定??蓪⒗珙伾⒓y理、透明度和深度的屬性標(biāo)記到每個(gè)表面的頂點(diǎn)上。將表面渲染成像素信息的過(guò)程涉及將頂點(diǎn)的屬性?xún)?nèi)插在表面上。
將表面渲染成像素信息所花費(fèi)的時(shí)間的量取決于表面的面積。與具有較少像素的較小表面相比,具有許多像素的大表面花費(fèi)相對(duì)較長(zhǎng)時(shí)間來(lái)渲染。因此,連續(xù)地將小表面渲染成像素信息的像素處理引擎可能極需新表面的恒定流。相反,當(dāng)表面較大時(shí),像素處理引擎可能不能夠足夠快速地渲染表面,從而需要某一類(lèi)型的緩沖方案。對(duì)于任一方式來(lái)說(shuō),增加的功率消耗可能由小表面情況下的閑置的像素處理引擎或大表面情況下的緩沖而導(dǎo)致。因此,需要一種3D圖形系統(tǒng),在所述3D圖形系統(tǒng)中,像素處理引擎一完成當(dāng)前表面的處理就可向像素處理引擎提供新表面。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面,一種圖形處理器包含表面處理引擎,其經(jīng)配置以接收頂點(diǎn)信息并基于所述頂點(diǎn)信息來(lái)組合復(fù)數(shù)個(gè)表面,所述表面表現(xiàn)圖形圖像;像素處理引擎,其經(jīng)配置以將所述經(jīng)組合的表面渲染成像素信息;和時(shí)鐘控制模塊,其經(jīng)配置以向所述表面處理引擎提供表面時(shí)鐘,并向所述像素處理引擎提供像素時(shí)鐘,所述時(shí)鐘中的每一者都具有可獨(dú)立于另一時(shí)鐘而調(diào)節(jié)的速率。
本發(fā)明的另一方面,一種圖形成像的方法包含使用表面時(shí)鐘來(lái)基于頂點(diǎn)信息而組合復(fù)數(shù)個(gè)表面,所述表面表現(xiàn)圖形圖像。所述方法還包含使用像素時(shí)鐘將所述經(jīng)組合的表面渲染成像素信息,和獨(dú)立于另一時(shí)鐘來(lái)調(diào)節(jié)所述時(shí)鐘中的每一者的速率。
本發(fā)明的又一方面,一種圖形處理器包含用于基于頂點(diǎn)信息來(lái)組合復(fù)數(shù)個(gè)表面的裝置,所述表面表現(xiàn)圖形圖像。所述圖形處理器還包含用于將所述經(jīng)組合的表面渲染成像素信息的裝置,和用于產(chǎn)生表面時(shí)鐘以支持表面的組合并產(chǎn)生像素時(shí)鐘以支持將所述經(jīng)組合的表面渲染成像素信息的裝置,所述時(shí)鐘中的每一者都具有可獨(dú)立于另一時(shí)鐘而調(diào)節(jié)的速率。
應(yīng)了解,所屬領(lǐng)域的技術(shù)人員從以下具體實(shí)施方式
中將容易了解本發(fā)明的其它實(shí)施例,其中以說(shuō)明的方式來(lái)展示并描述本發(fā)明的各種實(shí)施例。如將認(rèn)識(shí)到,在全部都不脫離本發(fā)明的精神和范圍的情況下,本發(fā)明能夠具有其它和不同的實(shí)施例,且其若干細(xì)節(jié)能夠在各種其它方面進(jìn)行修改。因此,附圖和具體實(shí)施方式
本質(zhì)上應(yīng)視為說(shuō)明性的而非限制性的。
附圖中,以實(shí)例的方式而非以限制的方式說(shuō)明本發(fā)明的各個(gè)方面,其中圖1是3D圖形系統(tǒng)的概念方框圖,其說(shuō)明應(yīng)用程序處理器的操作;圖2是3D圖形系統(tǒng)的概念方框圖,其說(shuō)明圖形處理器的操作;圖3是圖形處理器中的時(shí)鐘控制模塊的概念方框圖;圖4是圖形處理器中的時(shí)鐘控制模塊的替代實(shí)施例;和圖5是圖形處理器中的時(shí)鐘控制模塊的又一實(shí)施例。
具體實(shí)施例方式
下文結(jié)合附圖而陳述的具體實(shí)施方式
希望作為對(duì)本發(fā)明各個(gè)實(shí)施例的描述,且不希望代表可實(shí)踐本發(fā)明的僅有的實(shí)施例。
具體實(shí)施方式
包含用于提供對(duì)本發(fā)明的全面了解的目的的特定細(xì)節(jié)。然而,所屬領(lǐng)域的技術(shù)人員將了解,可在沒(méi)有這些特定細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在一些情況下,以方框圖形式來(lái)展示眾所周知的結(jié)構(gòu)和組件以便避免混淆本發(fā)明的概念。
圖1是說(shuō)明集成到個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動(dòng)電話(huà)、PDA或其它合適的裝置的3D圖形系統(tǒng)的概念方框圖。所述3D圖形系統(tǒng)可包含應(yīng)用程序處理器102。應(yīng)用程序處理器102的目的是產(chǎn)生3D圖形圖像,并將那些圖像轉(zhuǎn)化成線(xiàn)框結(jié)構(gòu)。
應(yīng)用程序處理器102可為任何軟件或硬件實(shí)施的實(shí)體。在圖1所示的3D圖形系統(tǒng)的實(shí)施例中,應(yīng)用程序處理器102包含微處理器104和外部存儲(chǔ)器106。系統(tǒng)總線(xiàn)108可用來(lái)支持所述兩者之間的通信。微處理器104可用來(lái)提供運(yùn)行例如用于電子游戲的3D圖形軟件的各種軟件程序的平臺(tái)??稍诠S處將軟件編程到外部存儲(chǔ)器106中,或者在操作期間通過(guò)無(wú)線(xiàn)鏈接、電話(huà)線(xiàn)連接、電纜調(diào)制解調(diào)器連接、數(shù)字用戶(hù)線(xiàn)(DSL)、光纖鏈接、衛(wèi)星鏈接或任何其它合適的通信鏈接從遠(yuǎn)程服務(wù)器下載軟件。
在電子游戲應(yīng)用中,軟件可用來(lái)產(chǎn)生虛擬的3D世界以便表現(xiàn)游戲?qū)⒃谄渲羞M(jìn)行的物理環(huán)境。用戶(hù)可能能夠通過(guò)操縱用戶(hù)界面110來(lái)探索此虛擬的3D世界。用戶(hù)界面110可為鍵盤(pán)、操縱桿、軌跡球、鼠標(biāo)或允許用戶(hù)操縱歷經(jīng)虛擬的3D世界(向前或向后、向上或向下、向左或向右移動(dòng))的任何其它合適的裝置。軟件可用來(lái)產(chǎn)生表現(xiàn)用戶(hù)操縱歷經(jīng)此虛擬的3D世界時(shí)可能看到的東西的一系列3D圖形圖像。
應(yīng)用程序處理器102還可包含連接到系統(tǒng)總線(xiàn)108的DSP 112。DSP 112可實(shí)施有內(nèi)嵌的圖形軟件層,其運(yùn)行專(zhuān)用算法(application specific algorithm)以便減少對(duì)微處理器104的處理要求。DSP 112可用來(lái)將3D圖形圖像中的每一者都分解成表面以便產(chǎn)生線(xiàn)框結(jié)構(gòu)。在應(yīng)用程序處理器102的至少一個(gè)實(shí)施例中,所述表面為三角形?;蛘?,所述表面可為正方形、矩形、平行四邊形或任何其它合適的表面。接著,可為線(xiàn)框結(jié)構(gòu)給定包含顏色、高光顏色(specular color)、透明度和紋理的外部表面。DSP 112還可向外部表面元素施加各種照明模式。
DSP 112還可執(zhí)行例如背面剔除和剪輯(back face culling and clipping)的其它處理功能。背面剔除可用來(lái)去除3D圖形圖像的一些部分,且尤其是用戶(hù)將無(wú)法看到的圖像的背側(cè)。3D圖形圖像還可經(jīng)剪輯以去除圖像的在顯示器外的那些部分。
接著,DSP 112可將線(xiàn)框結(jié)構(gòu)連同其外部表面元素從3D數(shù)學(xué)空間轉(zhuǎn)變?yōu)?D顯示空間。在2D顯示空間中,每個(gè)表面都可由其面積和其頂點(diǎn)的顯示坐標(biāo)來(lái)界定。表面屬性可包含深度(Z)、顏色(R、G、B)、高光顏色(Rs、Gs、Bs)、紋理(U、V)和混合信息(A)。混合信息涉及透明度,并規(guī)定像素的顏色應(yīng)如何與另一像素融合(當(dāng)兩者重疊,一者在另一者之上時(shí))。本文中,每個(gè)表面的顯示坐標(biāo)和表面屬性將被稱(chēng)為“頂點(diǎn)信息”。由DSP 112產(chǎn)生的頂點(diǎn)信息可存儲(chǔ)在外部存儲(chǔ)器106中,或者存儲(chǔ)在DSP的內(nèi)部存儲(chǔ)器中。
圖形處理器114可用來(lái)通過(guò)將每個(gè)表面的頂點(diǎn)的屬性?xún)?nèi)插在整個(gè)表面上而將每個(gè)表面渲染成像素信息。圖形處理器114可集成到應(yīng)用程序處理器102中,并與微處理器104、DSP 112或應(yīng)用程序處理器102中的任何其它組件一起構(gòu)建?;蛘撸瑘D形處理器114的功能可分布在微處理器104、DSP 112和/或應(yīng)用程序處理器102中的任何其它組件之間。
在3D圖形系統(tǒng)的至少一個(gè)實(shí)施例中,圖形處理器114是獨(dú)立處理器,其通過(guò)外部總線(xiàn)116或通過(guò)其它方法與應(yīng)用程序處理器102通信。橋接器118可用來(lái)在外部總線(xiàn)116與系統(tǒng)總線(xiàn)108之間傳遞數(shù)據(jù)。獨(dú)立圖形處理器114的目的是通過(guò)將表面渲染功能移到專(zhuān)用硬件組件來(lái)減少應(yīng)用程序處理器102上的負(fù)載。專(zhuān)用硬件組件的使用可允許圖形處理器114非??焖俚貓?zhí)行其處理功能。然而,如所屬領(lǐng)域的技術(shù)人員將了解,圖形處理器114不限于硬件配置。圖形處理器114可以任何方式構(gòu)建,這取決于特定圖形應(yīng)用程序和系統(tǒng)的總體設(shè)計(jì)限制。
圖2是一圖形處理器的概念方框圖。圖形處理器114可用來(lái)通過(guò)使用內(nèi)插方法基于表面內(nèi)的像素位置和在頂點(diǎn)處界定的屬性來(lái)填充表面的內(nèi)部而將應(yīng)用程序處理器102產(chǎn)生的每個(gè)表面都渲染成像素信息。
為了說(shuō)明此概念的實(shí)例,下文將給出三角形表面的簡(jiǎn)要論述,條件是所屬領(lǐng)域的技術(shù)人員可容易地將這些原理擴(kuò)展到其它表面。頂點(diǎn)的每一屬性可由線(xiàn)性方程表示為顯示坐標(biāo)(x,y)的函數(shù),如下K(x,y)=Akx+Bky+Ck(1)其中k=Z、A、R、G、B、Rs、Gs、Bs、U、V。
三角形的內(nèi)部可由邊方程來(lái)界定。三角形的三條邊可由線(xiàn)性方程表示為顯示坐標(biāo)(x,y)的函數(shù),如下E0(x,y)=A0x+B0y+C0(2)E1(x,y)=A1x+B1y+C1(3)E2(x,y)=A2x+B2y+C2(4)圖形處理器114可包含表面處理引擎202和像素處理引擎204。表面處理引擎202可用來(lái)從應(yīng)用程序處理器102檢索頂點(diǎn)信息,并依據(jù)檢索到的頂點(diǎn)信息來(lái)組合三角形。組合三角形的過(guò)程涉及從頂點(diǎn)信息提取三角形的面積、三角形的三個(gè)頂點(diǎn)的顯示坐標(biāo)和0三角形的頂點(diǎn)屬性。所述信息可用來(lái)計(jì)算三角形的屬性系數(shù)(Ak、Bk、Ck)和邊系數(shù)(A0-2、B0-2、C0-2)。經(jīng)組合的三角形包含所述三角形的所提取的頂點(diǎn)信息加上三角形的屬性系數(shù)和邊系數(shù)。在圖形處理器114的至少一個(gè)實(shí)施例中,表面處理引擎202每次向像素處理引擎204提供一個(gè)經(jīng)組合的三角形。
像素處理引擎204可用來(lái)為經(jīng)組合的三角形內(nèi)每個(gè)像素的屬性執(zhí)行線(xiàn)性?xún)?nèi)插。這可以多種方式來(lái)完成。舉例來(lái)說(shuō),像素處理引擎204可在三角形周?chē)a(chǎn)生邊界框,并接著以光柵掃描方式逐像素地步入所述邊界框。對(duì)于每個(gè)像素來(lái)說(shuō),像素處理引擎204使用上述方程(2)-(4)中所陳述的邊方程來(lái)確定像素是否在三角形中。如果像素處理引擎204確定像素不在三角形中,那么像素處理引擎204轉(zhuǎn)向下一像素。然而,如果像素處理引擎204確定像素在三角形中,那么像素處理引擎204可依據(jù)方程(1)米計(jì)算像素的屬性。此過(guò)程在所屬領(lǐng)域中是眾所周知的。
一旦將三角形渲染成像素信息,當(dāng)一個(gè)對(duì)象在另一對(duì)象前方時(shí),就可使用像素處理引擎204來(lái)去除隱藏像素。這可通過(guò)將新像素的深度屬性與具有相同顯示坐標(biāo)的先前渲染的像素的深度屬性進(jìn)行比較并丟棄不可見(jiàn)的像素來(lái)實(shí)現(xiàn)。
像素處理引擎204可使用內(nèi)插的紋理屬性來(lái)從存儲(chǔ)器(未圖示)中檢索紋理數(shù)據(jù)。接著,可將每個(gè)像素的屬性與所述紋理數(shù)據(jù)混合??蛇M(jìn)一步將每個(gè)像素的屬性與具有相同顯示坐標(biāo)的任何先前渲染的像素混合以便產(chǎn)生透明效果??稍趯⒔Y(jié)果呈現(xiàn)給顯示器120(參看圖1)之前將所述結(jié)果存儲(chǔ)在幀緩沖器206中。
時(shí)鐘控制模塊208可用來(lái)向表面處理引擎202和像素處理引擎204提供時(shí)鐘。如先前所述,表面處理引擎202可經(jīng)配置以每次向像素處理引擎204提供一個(gè)經(jīng)組合的表面。為了避免不必要的處理延遲,表面處理引擎202應(yīng)如像素處理引擎204可處理新表面的速度那樣快地向像素處理引擎204提供新表面。然而,不應(yīng)將由表面處理引擎202組合的表面過(guò)分快地提供給像素處理引擎204。像素處理引擎204需要有限量的時(shí)間來(lái)渲染每個(gè)表面,且如果在像素處理引擎204準(zhǔn)備好處理表面之前將表面提供給像素處理引擎204,那么可能需要緩沖。另外,因?yàn)楸砻嫣幚硪?02正操作得比其需要的快,所以可能產(chǎn)生增加的功率消耗。使問(wèn)題進(jìn)一步變復(fù)雜的是,像素處理引擎204將表面渲染成像素信息所花費(fèi)的時(shí)間的量會(huì)變化。與較小的表面相比,具有許多像素的大表面花費(fèi)相對(duì)較長(zhǎng)的時(shí)間來(lái)渲染。
為了優(yōu)化性能,時(shí)鐘控制模塊208可向表面處理引擎202和像素處理引擎204提供單獨(dú)的時(shí)鐘。表面時(shí)鐘可用來(lái)控制表面處理引擎202的速率,且像素時(shí)鐘可用來(lái)控制像素處理引擎204的速率。在圖形處理器114的一個(gè)實(shí)施例中,可動(dòng)態(tài)地調(diào)節(jié)時(shí)鐘速率以便在變化的3D圖形條件下維持最佳性能。舉例來(lái)說(shuō),可調(diào)節(jié)表面時(shí)鐘的速率,使得其與表面的面積成反比而變化,和/或可調(diào)節(jié)像素時(shí)鐘的速率,使得其與表面的面積成正比而變化。術(shù)語(yǔ)“正比”意味著時(shí)鐘速率與面積一起增大或減小,且術(shù)語(yǔ)“反比”意味著當(dāng)面積減小時(shí)時(shí)鐘速率增大,或當(dāng)面積增大時(shí)時(shí)鐘速率減小。
圖3是說(shuō)明在圖形處理器中操作的時(shí)鐘控制模塊的一個(gè)實(shí)施例的功能方框圖??墒褂脙蓚€(gè)獨(dú)立的反饋回路來(lái)控制時(shí)鐘的速率。表面時(shí)鐘使用來(lái)自表面處理引擎202的反饋,其指示何時(shí)完成每個(gè)表面的組合。表面組合速率計(jì)算模塊302可用來(lái)基于其從表面處理引擎202接收的反饋來(lái)計(jì)算組合表面的實(shí)際速率。比較器(例如,加法器304)可用來(lái)將由表面速率計(jì)算模塊302計(jì)算得出的實(shí)際速率與最佳表面組合速率進(jìn)行比較。可向時(shí)鐘調(diào)節(jié)模塊306提供表示組合表面的實(shí)際速率與最佳速率之間的差異的節(jié)流信號(hào)(throttlesignal),以便調(diào)節(jié)表面時(shí)鐘的速率。更明確地說(shuō),如果表面處理引擎202正以低于最佳表面組合速率的速率組合表面,那么節(jié)流信號(hào)可用來(lái)增大表面時(shí)鐘的速率,且如果表面處理引擎202正以高于最佳表面組合速率的速率組合表面,那么節(jié)流信號(hào)可用來(lái)減小表面時(shí)鐘的速率。在穩(wěn)定狀態(tài)條件下,應(yīng)穩(wěn)定表面時(shí)鐘速率,使得表面處理引擎202以最佳速率組合表面。
最佳表面組合速率可由應(yīng)用程序處理器102基于系統(tǒng)性能要求來(lái)計(jì)算。舉例來(lái)說(shuō),對(duì)于高分辨率系統(tǒng),可將最佳表面組合速率設(shè)定成相對(duì)較高,因?yàn)榻⒕€(xiàn)框結(jié)構(gòu)所需的表面的數(shù)目過(guò)大。如果分辨率要求不嚴(yán)格,那么最佳表面組合速率也可相應(yīng)地減小。
像素時(shí)鐘也使用來(lái)自表面處理引擎202的與每個(gè)經(jīng)組合的表面的面積有關(guān)的反饋。表面面積計(jì)算模塊308可用來(lái)從由表面處理引擎202組合的表面頂點(diǎn)計(jì)算表面的面積?;蛘撸芍苯訌膽?yīng)用程序處理器102提供表面的面積。對(duì)于任一方式來(lái)說(shuō),可使用比較器(例如,加法器310)來(lái)將表面的面積與最佳表面面積進(jìn)行比較。最佳表面面積將同樣取決于以較小面積用于高分辨率演示的3D圖形分辨率要求??上驎r(shí)鐘調(diào)節(jié)模塊312提供表示實(shí)際表面面積與最佳表面面積之間的差異的節(jié)流信號(hào),以便調(diào)節(jié)像素時(shí)鐘的速率。更明確地說(shuō),如果實(shí)際表面大于最佳表面,那么節(jié)流信號(hào)可用來(lái)增大像素時(shí)鐘的速率,且如果實(shí)際表面小于最佳表面,那么節(jié)流信號(hào)可用來(lái)減小像素時(shí)鐘的速率。
圖4是說(shuō)明在圖形處理器中操作的時(shí)鐘控制模塊的另一實(shí)施例的功能方框圖??墒褂脙蓚€(gè)獨(dú)立的反饋回路來(lái)控制時(shí)鐘的速率??刂票砻鏁r(shí)鐘的速率的反饋回路與圖3的反饋回路相同,且因此將不作進(jìn)一步論述。另一方面,控制像素時(shí)鐘的速率的反饋回路使用稍許不同的方法。代替使用正由表面處理引擎202組合的表面的面積來(lái)設(shè)定像素時(shí)鐘速率,所述反饋回路用來(lái)將像素時(shí)鐘速率驅(qū)動(dòng)為最佳設(shè)定。更明確地說(shuō),應(yīng)用程序處理器基于系統(tǒng)性能要求來(lái)計(jì)算最佳像素處理速率。舉例來(lái)說(shuō),對(duì)于高分辨率顯示器,可將最佳像素處理速率設(shè)定成相對(duì)較高??稍诓粨p害較低分辨率應(yīng)用的性能的情況下減小最佳像素處理速率。
在圖4所示的實(shí)施例中,像素時(shí)鐘使用來(lái)自像素處理引擎204的反饋,其指示何時(shí)完成對(duì)每個(gè)表面的處理。像素速率計(jì)算模塊408可用來(lái)基于其從像素處理引擎204接收的反饋來(lái)計(jì)算處理像素的實(shí)際速率。比較器(例如,加法器410)可用來(lái)將由像素速率計(jì)算模塊408計(jì)算得出的實(shí)際速率與最佳像素處理速率進(jìn)行比較??上驎r(shí)鐘調(diào)節(jié)模塊412提供表示處理像素的實(shí)際速率與最佳速率之間的差異的節(jié)流信號(hào),以便調(diào)節(jié)像素時(shí)鐘的速率。更明確地說(shuō),如果像素處理引擎204正以低于最佳像素處理速率的速率處理像素,那么節(jié)流信號(hào)可用來(lái)增大像素時(shí)鐘的速率,且如果像素處理引擎204正以高于最佳像素處理速率的速率處理像素,那么節(jié)流信號(hào)可用來(lái)減小像素時(shí)鐘的速率。在穩(wěn)定狀態(tài)條件下,應(yīng)穩(wěn)定像素時(shí)鐘速率,使得像素處理引擎204以最佳速率處理像素。
圖5是說(shuō)明在圖形處理器中操作的時(shí)鐘控制模塊的又一實(shí)施例的功能方框圖。此時(shí)鐘控制模塊是結(jié)合圖4論述的時(shí)鐘控制模塊的具有稍許變化的形式。在兩種情況下,都使用一個(gè)反饋回路來(lái)驅(qū)動(dòng)表面時(shí)鐘以產(chǎn)生最佳表面組合速率,且使用另一反饋回路來(lái)設(shè)定像素時(shí)鐘的速率以產(chǎn)生最佳像素處理速率。然而,不同于圖4的時(shí)鐘控制模塊,來(lái)自像素處理引擎204的反饋不被使用或不可用。事實(shí)上,來(lái)自表面處理引擎202的反饋被使用。更明確地說(shuō),識(shí)別每個(gè)經(jīng)組合的表面的頂點(diǎn)的來(lái)自表面處理引擎202的反饋提供給表面面積計(jì)算模塊508,且計(jì)算表面的面積。或者,可直接從應(yīng)用程序處理器102提供表面的面積。對(duì)于任一方式來(lái)說(shuō),可使用乘法器510來(lái)將表面的面積與表面處理引擎202的實(shí)際表面組合速率相乘。實(shí)際表面組合速率可由用來(lái)產(chǎn)生表面時(shí)鐘的反饋回路完成??墒褂美缂臃ㄆ?12的比較器來(lái)將表面面積與實(shí)際表面組合速率的乘積與最佳像素處理速率進(jìn)行比較。可向時(shí)鐘調(diào)節(jié)模塊514提供表示兩者之間的差異的節(jié)流信號(hào),以便調(diào)節(jié)像素時(shí)鐘的時(shí)鐘速率。因此,在此實(shí)施例中,當(dāng)表面面積或表面組合速率中的任一者增大時(shí),可更強(qiáng)烈地驅(qū)動(dòng)節(jié)流信號(hào),從而導(dǎo)致像素時(shí)鐘速率也類(lèi)似地增大。
結(jié)合本文所揭示的實(shí)施例而描述的各種說(shuō)明性邏輯塊、引擎、模塊和電路可由以下各項(xiàng)來(lái)構(gòu)建或?qū)嵤┩ㄓ锰幚砥鳌?shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或其它可編程邏輯組件、離散柵極或晶體管邏輯、離散硬件組件、或其經(jīng)設(shè)計(jì)以執(zhí)行本文所述功能的任何組合。通用處理器可以是微處理器,但在替代形式中,處理器可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可構(gòu)建為計(jì)算組件的組合,例如DSP與微處理器的組合、多個(gè)微處理器、與DSP核心結(jié)合的一個(gè)或一個(gè)以上微處理器,或任何其它此類(lèi)配置。
結(jié)合本文所揭示的實(shí)施例而描述的方法或算法可直接在硬件、在由處理器執(zhí)行的軟件模塊中或在兩者的組合中實(shí)施。軟件模塊可駐留在RAM存儲(chǔ)器、快閃存儲(chǔ)器、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤(pán)、抽取式磁盤(pán)、CD-ROM或所屬領(lǐng)域中已知的任何其它形式的存儲(chǔ)媒介中。存儲(chǔ)媒介可耦合到處理器,使得處理器可從存儲(chǔ)媒介讀取信息并將信息寫(xiě)入到存儲(chǔ)媒介。在替代形式中,存儲(chǔ)媒介可與處理器成為一體。處理器和存儲(chǔ)媒介可駐留在ASIC中。
本發(fā)明提供所揭示的實(shí)施例的先前描述旨在使所屬領(lǐng)域的技術(shù)人員能夠制造或使用本發(fā)明。所屬領(lǐng)域的技術(shù)人員將容易了解這些實(shí)施例的各種修改,且本文所界定的一般原理可在不脫離本發(fā)明精神或范圍的情況下應(yīng)用于其它實(shí)施例。因此,本發(fā)明不意欲被限定于本文所展示的實(shí)施例,而是應(yīng)被賦予與權(quán)利要求書(shū)一致的最廣范圍,其中除非明確地規(guī)定,否則以單數(shù)形式提及一元件并不意欲意味著“一個(gè)且僅一個(gè)”,而是“一個(gè)或一個(gè)以上”。所屬領(lǐng)域的技術(shù)人員已知或以后將知道的本揭示內(nèi)容全文中所述的各種實(shí)施例的元件的所有結(jié)構(gòu)和功能等效物都以引用的方式清楚地并入本文中,且欲由權(quán)利要求書(shū)涵蓋。此外,本文揭示的任何內(nèi)容都不希望獻(xiàn)給公眾,不管權(quán)利要求書(shū)中是否明確地陳述此類(lèi)揭示內(nèi)容。除非使用短語(yǔ)“用于...的裝置”來(lái)清楚地陳述元件,或在方法項(xiàng)的情況下使用短語(yǔ)“...的步驟”來(lái)陳述元件,否則任何權(quán)利要求元件都不應(yīng)在35U.S.C.§112第六段的條款下予以解釋。
權(quán)利要求
1.一種圖形處理器,其包括一表面處理引擎,其經(jīng)配置以接收頂點(diǎn)信息并基于所述頂點(diǎn)信息來(lái)組合復(fù)數(shù)個(gè)表面,所述表面表現(xiàn)一圖形圖像;一像素處理引擎,其經(jīng)配置以將所述經(jīng)組合的表面渲染成像素信息;和一時(shí)鐘控制模塊,其經(jīng)配置以向所述表面處理引擎提供一表面時(shí)鐘,并向所述像素處理引擎提供一像素時(shí)鐘,所述時(shí)鐘中的每一者都具有一可獨(dú)立于另一時(shí)鐘而調(diào)節(jié)的速率。
2.根據(jù)權(quán)利要求1所述的圖形處理器,其中所述表面中的每一者都包括一個(gè)三角形。
3.根據(jù)權(quán)利要求1所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步經(jīng)配置以調(diào)節(jié)所述時(shí)鐘中的至少一者的所述速率,使得其隨著所述表面的面積而變化。
4.根據(jù)權(quán)利要求1所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步經(jīng)配置以調(diào)節(jié)所述像素時(shí)鐘的所述速率,使得其與所述表面的所述面積成正比而變化。
5.根據(jù)權(quán)利要求1所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步經(jīng)配置以調(diào)節(jié)所述表面時(shí)鐘的所述速率,使得其與所述表面的所述面積成反比而變化。
6.根據(jù)權(quán)利要求1所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步經(jīng)配置以基于所述表面的所述面積與一預(yù)定的表面面積之間的一比較來(lái)調(diào)節(jié)所述像素時(shí)鐘的所述速率。
7.根據(jù)權(quán)利要求6所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步包括一計(jì)算模塊,其經(jīng)配置以計(jì)算所述表面的所述面積;一比較器,其經(jīng)配置以通過(guò)將所述表面的經(jīng)計(jì)算面積與預(yù)定的三角形面積進(jìn)行比較來(lái)產(chǎn)生一像素時(shí)鐘節(jié)流信號(hào);和一像素時(shí)鐘調(diào)節(jié)模塊,其經(jīng)配置以調(diào)節(jié)所述像素時(shí)鐘的所述速率作為所述像素時(shí)鐘節(jié)流信號(hào)的一函數(shù)。
8.根據(jù)權(quán)利要求1所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步經(jīng)配置以基于所述像素處理引擎渲染像素的速率與一預(yù)定的像素渲染速率之間的一比較來(lái)調(diào)節(jié)所述像素時(shí)鐘的所述速率。
9.根據(jù)權(quán)利要求8所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步包括一計(jì)算模塊,其經(jīng)配置以計(jì)算所述像素處理引擎處理像素的速率;一比較器,其經(jīng)配置以通過(guò)將所述像素處理引擎處理像素的經(jīng)計(jì)算速率與所述預(yù)定的像素渲染速率進(jìn)行比較來(lái)產(chǎn)生一像素時(shí)鐘節(jié)流信號(hào);和一像素時(shí)鐘調(diào)節(jié)模塊,其經(jīng)配置以調(diào)節(jié)所述像素時(shí)鐘的所述速率作為所述像素時(shí)鐘節(jié)流信號(hào)的一函數(shù)。
10.根據(jù)權(quán)利要求1所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步經(jīng)配置以基于所述表面處理引擎組合所述表面的速率與一預(yù)定的表面組合速率之間的一比較來(lái)調(diào)節(jié)所述表面時(shí)鐘的所述速率。
11.根據(jù)權(quán)利要求10所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步包括一模塊,其經(jīng)配置以計(jì)算所述表面處理引擎組合所述三角形的速率;一比較器,其經(jīng)配置以通過(guò)將所述表面處理引擎組合表面的經(jīng)計(jì)算速率與預(yù)定的三角形組合速率進(jìn)行比較來(lái)產(chǎn)生一表面時(shí)鐘節(jié)流信號(hào);和一表面時(shí)鐘調(diào)節(jié)模塊,其經(jīng)配置以調(diào)節(jié)所述表面時(shí)鐘的所述速率作為所述表面時(shí)鐘節(jié)流的一函數(shù)。
12.根據(jù)權(quán)利要求10所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步經(jīng)配置以調(diào)節(jié)所述像素時(shí)鐘的所述速率作為所述三角形的面積的一函數(shù)、所述表面處理引擎組合三角形的所述速率和一預(yù)定的像素處理速率。
13.根據(jù)權(quán)利要求12所述的圖形處理器,其中所述時(shí)鐘控制模塊進(jìn)一步包括一計(jì)算模塊,其經(jīng)配置以計(jì)算所述表面的所述面積;一乘法器,其經(jīng)配置以將經(jīng)計(jì)算的面積與所述表面處理引擎組合表面的所述速率相乘以便產(chǎn)生一乘積;一比較器,其經(jīng)配置以通過(guò)將所述乘積與所述預(yù)定的像素處理速率進(jìn)行比較來(lái)產(chǎn)生一像素時(shí)鐘節(jié)流信號(hào);和一像素時(shí)鐘調(diào)節(jié)模塊,其經(jīng)配置以調(diào)節(jié)所述像素時(shí)鐘的所述速率作為所述像素時(shí)鐘節(jié)流信號(hào)的一函數(shù)。
14.一種圖形成像的方法,其包括使用一表面時(shí)鐘來(lái)基于頂點(diǎn)信息組合復(fù)數(shù)個(gè)表面,所述表面表現(xiàn)一圖形圖像;使用一像素時(shí)鐘將所述經(jīng)組合的表面渲染成像素信息;和獨(dú)立于另一時(shí)鐘來(lái)調(diào)節(jié)所述時(shí)鐘中的每一者的所述速率。
15.根據(jù)權(quán)利要求14所述的方法,其中所述表面中的每一者都包括一個(gè)三角形。
16.根據(jù)權(quán)利要求14所述的方法,其中調(diào)節(jié)所述時(shí)鐘中的至少一者的所述速率,使得其隨著所述表面的所述面積而變化。
17.根據(jù)權(quán)利要求14所述的方法,其中調(diào)節(jié)所述像素時(shí)鐘的所述速率,使得其與所述表面的所述面積成正比而變化。
18.根據(jù)權(quán)利要求14所述的方法,其中調(diào)節(jié)所述表面時(shí)鐘的所述速率,使得其與所述表面的所述面積成反比而變化。
19.根據(jù)權(quán)利要求14所述的方法,其中基于所述表面的所述面積與一預(yù)定的表面面積之間的一比較來(lái)調(diào)節(jié)所述像素時(shí)鐘的所述速率。
20.根據(jù)權(quán)利要求14所述的方法,其中基于處理像素的速率與一預(yù)定的像素處理速率之間的一比較來(lái)調(diào)節(jié)所述像素時(shí)鐘的所述速率。
21.根據(jù)權(quán)利要求14所述的方法,其中基于組合所述表面的所述速率與一預(yù)定的表面組合速率之間的一比較來(lái)調(diào)節(jié)所述表面時(shí)鐘的所述速率。
22.根據(jù)權(quán)利要求14所述的方法,其中通過(guò)將所述三角形的所述面積與組合所述三角形的所述速率相乘以產(chǎn)生一乘積,并通過(guò)將所述乘積與一預(yù)定的像素處理速率進(jìn)行比較來(lái)調(diào)節(jié)所述像素時(shí)鐘的所述速率。
23.一種圖形處理器,其包括用于基于頂點(diǎn)信息來(lái)組合復(fù)數(shù)個(gè)表面的裝置,所述表面表現(xiàn)一圖形圖像;用于將所述經(jīng)組合的表面渲染成像素信息的裝置;和用于產(chǎn)生一表面時(shí)鐘以支持所述表面的組合并產(chǎn)生一像素時(shí)鐘以支持將所述經(jīng)組合的表面渲染成所述像素信息的裝置,所述時(shí)鐘中的每一者都具有一可獨(dú)立于另一時(shí)鐘而調(diào)節(jié)的速率。
全文摘要
本發(fā)明揭示一種圖形處理器和方法,其中一表面處理引擎經(jīng)配置以接收頂點(diǎn)信息并基于所述頂點(diǎn)信息來(lái)組合復(fù)數(shù)個(gè)表面,所述表面表現(xiàn)一圖形圖像。一像素處理引擎可經(jīng)配置以將所述經(jīng)組合的表面渲染成像素信息。一時(shí)鐘控制模塊可經(jīng)配置以向所述表面處理引擎提供一表面時(shí)鐘,并向所述像素處理引擎提供一像素時(shí)鐘,所述時(shí)鐘中的每一者都具有一可獨(dú)立于另一時(shí)鐘而調(diào)節(jié)的速率。
文檔編號(hào)G06F1/06GK1942900SQ200580011005
公開(kāi)日2007年4月4日 申請(qǐng)日期2005年3月2日 優(yōu)先權(quán)日2004年3月3日
發(fā)明者邁克爾·H·安德森 申請(qǐng)人:高通股份有限公司