專利名稱:圖形處理單元管線同步及控制系統和方法
技術領域:
本發明涉及繪圖處理,特別是涉及一種同步及控制繪圖管線的方法及裝置。
背景技術:
目前的計算機應用程序常常運用大量的繪圖,比以往更需高程度的繪圖處理能力,諸如游戲等應用程序通常涉及復雜且非常精細的繪圖,故需要大量而不間斷的計算,為了滿足消費者的需求,提高游戲等計算機應用程序的繪圖能力,計算機結構亦隨的改變。
有鑒于程序設計師對娛樂和多媒體應用程序(例如高畫質視訊及最新3D游戲)的要求越來越嚴苛,隨著計算機(尤其是個人計算機)必須要能應付此種需求,系統頻寬亦開始受到重視,因此,已出現若干方法以分配頻寬給這種高度需求頻寬的應用程序,以及提供將來產生的應用程序更余裕的頻寬空間。
基于這些理由,目前的計算機系統往往包含多個處理器,舉例來說,除了中央處理單元(central processing unit,CPU)等主處理器之外,還包含諸如圖形處理單元(graphics processing unit,GPU)等副處理器,依其設計用以進行特定的處理工作,于進行這種工作的過程中,圖形處理單元可讓中央處理單元處理其它工作。于某些情況下,圖形處理單元等副處理器可連同中央處理單元(可為微處理器)整合于計算機系統的主機板上,不過,本領域的技術人員可明白,圖形處理單元和/或其它副處理裝置可設置于獨立的適配卡上,再與計算機系統電連接,例如圖形處理單元就設置于顯示卡上。
副處理器(例如圖形處理單元)通常可存取擴充存儲器,例如視訊存儲器,以進行其處理工作,副處理器通常設計專門用來進行特定的工作,如圖形處理單元就專門負責執行三維繪圖運算,以支持需要大量繪圖的應用程序,雖然現有的的計算機系統及副處理器在執行單一需大量繪圖的應用程序時可能沒什么問題,但是當嘗試同時執行多個需大量繪圖的應用程序時,這種計算機系統及副處理器即可能遇到問題。
我們常看到的是,一般副處理器以一種缺乏效率的方式安排其處理工作,于一些操作系統中,圖形處理單元會依照所接收指令的順序來執行各操作,以此種方式執行多個工作。
此方式有一個問題,當具有不同優先級的應用程序欲存取相同資源時,此方式無法進行妥善的安排,目前控制圖形處理單元副處理器資源的第一應用程序必須釋出其控制權,這樣其它的應用程序方能進行存取,倘若第一應用程序未釋出其控制權給其它等待中的應用程序,則圖形處理單元即被綁定,當圖形處理單元完成處理有關第一應用程序的計算時,等待中的應用程序已被堵住,如前所述,如果僅執行單一需大量繪圖的應用程序,這種堵住的情況可能還不嚴重,然而,當多個應用程序嘗試同時使用圖形處理單元或副處理器時,這種綁住圖形處理單元或其它副處理器資源的問題就變得更明顯。
目前提出了一種利用可中斷的中央處理單元來進行工作切換的概念,以分配處理程序,尤其是,最近的中央處理單元已利用環境(context)儲存/恢復(restore)的概念,以儲存相關緩存器的內容以及程序計數器數據,以恢復被中斷的處理工作。雖然使用復雜排程的中央處理單元的分配處理問題已獲得解決,但尚未有效率地解決副處理器的排程問題。
導致此種情況的原因在于副處理器(例如圖形處理單元)通常被視為一種代替中央處理單元進行計算繁重及耗時操作的資源,讓中央處理單元得以處理其它功能。已知繪圖操作包含大量的計算,要有相當的處理能力才能進行,隨著繪圖應用程序的復雜度提高,圖形處理單元變得更進步,方可處理繁重的計算及描繪動作。
然而,當要重新命名架構緩存器、或于處理管線的不同階段中同時執行數十個指令,具有平行功能單元和非循序(out-of-order)執行的超純量(superscalar)及并行指令代碼(explicitly parallel instruction code,EPIC)型中央處理單元的復雜架構并無法精確中斷中央處理單元,為了要實現精確中斷的功能,超純量中央處理單元中設置了重排緩沖區,并于處理管線中新增「命令提交(或撤回)」階段。
由于目前的圖形處理單元涵括連接于多重先進先出(first-in-first-out,FIFO)緩沖器的可編程和固定功能單元,其結構也就變得愈來愈復雜,執行每一個圖形處理單元命令可能要花上數百至數千周期,相較于中央處理單元,用于今日繪圖處理應用程序中的圖形處理單元更加仰賴管線技術,因此,大部份圖形處理單元系設計成在任何時候均能處理大量數據,這使得嘗試分配圖形處理單元處理的工作更加復雜,因為圖形處理單元不具有適當的機構以于儲存或恢復操作中處理大量數據。
為處理大量數據而發展的現代圖形處理單元架構具有復雜的形式,涉及新的機制以同步數據串流處理中的管線單元,除主要的固定功能繪圖管線單元外,另外應用的可編程平行處理單元涉及維持圖形處理單元管線于不同階段中接收及更新的像素數據的順序。再者,于圖形處理單元的繪圖管線中同時保持具有可中斷性的多重環境亦涉及這些中斷環境的再同步化,務期效能損失能減到最低,并能平順地于中斷和恢復繪圖環境間切換。然而,目前的圖形處理單元架構無法妥善地處理環境的同步化,反而造成管線的完全清空(flush),因而使得操作效率低下及降低繪圖能力。
再者,當圖形處理單元描繪的表面將成為下一流程的來源表面時,這樣的多流程描繪(multi-pass rendering)亦牽涉到同步動作,以避免當第二流程開始存取共享表面時所產生的寫后讀(read after write,RAW)數據問題,再者,當圖形處理單元根據中央處理單元執行緒(thread)內的事件及目前圖形處理單元環境開始和/或恢復某一環境執行時,中央處理單元工作執行的同步化亦為目前圖形處理單元處理實務的一重要議題,然而,目前的中央處理單元卻無法適時地傳遞及響應此種變化,其發展尚無法跟上繪圖應用程序的需求。
因此,迄今仍有需要克服以上所述的這種缺陷和缺點。
發明內容
一種繪圖管線,可用以根據接線信號及事件符記(token)使數據處理同步,因為電路的延遲,接線信號異步到達指定的管線組件,于先進先出裝置內的中間數據緩沖可改變符記到達指定管線組件的延遲,而與在相同路徑數據項的其它數據同步移動。此種繪圖管線可包含具有一輸入端及一輸出端的第一組件,對應于該第一組件從該輸入端接收到符記、該第一組件內部發生一預定事件、或從該第一組件的一輸入路徑接收到一預定信號,該第一組件將輸出符記或接線信號。
繪圖管線的第二組件可具有一輸入端及多個輸出端,此第二組件可通過至少一輸出端輸出符記或接線信號,甚至可通過全部的輸出端輸出相同的符記,當第二組件于其輸入端上接收到某些符記、該第二組件內部發生一預定事件、或該第二組件從一輸入路徑接收到一預定信號時,該第二組件可因此輸出符記或接線信號。
繪圖管線亦可包含具有多個輸入端及一輸出端的第三組件,當第三組件從一個輸入端接收到選擇符記、第三組件內部發生一預定事件、或該第三組件從一輸入路徑接收到一預定信號時,該第三組件可因此通過輸出端輸出符記或接線信號。再者,當接收到指定符記指明欲處理的數據位于其它輸入端上,第三組件可于多個輸入端間切換,藉以維持管線的同步。
繪圖管線的第四組件可具有多個輸入端及多個輸出端,此第四種組件可具有前述三種組件的所有功能,因此,當第四組件從一個輸入端接收到特定符記、該第四組件內部發生一預定事件、或該第四組件從一輸入路徑上接收到一預定信號時,該第四組件可因此通過至少一輸出端輸出符記或接線信號。
前述四種組件所接收及輸出的符記或接線信號可為事件起始符記/信號、事件結束符記/信號及數據相關符記/信號,因此,對應于從個別輸入路徑接收到這種符記或信號,此四種組件可采取某些行動及/或亦可產生單一或復制的符記給組件的輸出端,或產生信號給輸出信號路徑,以同步繪圖管線中的其它組件。
一繪圖管線組件具有一數據輸入端及一數據輸出端,一種適用于繪圖管線的數據同步方法包含下列步驟自數據輸入端接收一個或多個輸入符記;從繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;通過數據輸出端輸出一個或多個同步符記至繪圖管線中的一個或多個其它組件,其中該一個或多個同步符記系與該一個或多個輸入符記、該一筆或多筆輸入信號、或繪圖管線組件的內部事件有關;以及通過繪圖管線組件的一輸出信號路徑輸出一筆或多筆同步信號至繪圖管線中的一個或多個其它組件,其中該一筆或多筆同步信號系對應于該一個或多個輸入符記、該一筆或多筆輸入信號、或該內部事件。
叉型繪圖管線組件具有一數據輸入端及多個數據輸出端,一種適用于繪圖管線的數據同步方法包含下列步驟從數據輸入端接收一個或多個輸入符記;從叉型繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;通過多個數據輸出端輸出一個或多個同步符記至繪圖管線中的一個或多個其它組件,其中該一個或多個同步符記與該一個或多個輸入符記、該一筆或多筆輸入信號、或叉型繪圖管線組件的內部事件有關;以及通過叉型繪圖管線組件的一輸出信號路徑輸出一筆或多筆同步信號至繪圖管線中的一個或多個其它組件,其中該一筆或多筆同步信號對應于該一個或多個輸入符記、該一個或多個輸入信號、或該內部事件。
結合型繪圖管線組件具有多個數據輸入端及一數據輸出端,一種適用于繪圖管線的數據同步方法包含下列步驟從一數據輸入端接收一個或多個輸入符記;從結合型繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;以及通過數據輸出端輸出一個或多個同步符記至該繪圖管線的一個或多個其它組件,其中該一個或多個同步符記與該一個或多個輸入符記、該一筆或多筆輸入信號、或該結合型繪圖管線組件的一內部事件有關。
結合/叉型繪圖管線組件具有多個數據輸入端及多個數據輸出端,一種適用于繪圖管線的數據同步方法包含下列步驟從該多個數據輸入端的一數據輸入端接收一個或多個輸入符記;從該結合/叉型繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;以及通過該多個數據輸出端輸出一個或多個同步符記至該結合/叉型繪圖管線的一個或多個其它組件,其中該一個或多個同步符記與該一個或多個輸入符記、該一筆或多筆輸入信號、或該結合/叉型繪圖管線組件的一內部事件有關。
一種繪圖管線系統包含一處理組件,該處理組件具有一數據輸入端、一數據輸出端、一接線信號輸入路徑及一接線信號輸出路徑,該處理組件用以從該數據輸入端接收至少一事件起始符記及一事件結束符記,以及通過該數據輸出端輸出該事件起始符記及該事件結束符記,該處理組件同時用以從該接線信號輸入路徑接收一事件起始信號及一事件結束信號中的至少一信號,以及通過該接線信號輸出路徑輸出該至少一信號;該處理組件亦具有一同步背壓輸入端,用以與該繪圖管線中的次一處理組件信號連接;該處理組件還具有一同步背壓輸出端,用以與該繪圖管線中的前一處理組件信號連接。
圖1為具有一計算機的一計算機系統的示意圖。
圖2為可見于圖1所示圖形處理單元中的典型繪圖管線示意圖。
圖3為圖形處理單元繪圖管線的示意圖,其可存在于圖1所示的圖形處理單元中,并且可包含固定功能與可編程單元,這種單元通過傳遞不同數據結構的多重先進先出裝置而彼此連接。
圖4為一種可涵括于圖3所示繪圖管線中的標準型組件的示意圖。
圖5為叉型繪圖處理組件的示意圖,其具有一輸入端及多個輸出路徑,以連接圖3所示繪圖管線內的其它組件。
圖6為可配置于圖3所示繪圖管線內的標準型及叉型處理單元的處理流示意圖。
圖7為可用于圖3所示繪圖管線中的結合型組件示意圖,具有兩個數據輸入端及一個數據輸出端。
圖8為結合/叉型單元的示意圖,可構成圖3所示繪圖管線中的另一種處理組件。
圖9為圖7的結合型繪圖處理組件及圖8的結合/叉型繪圖處理組件的狀態機器的流程圖。
圖10為圖3所示繪圖管線中的命令串流處理器示意圖,可具有如圖5所示的叉型組件架構。
圖11為圖3所示繪圖管線的TSU-ASU組件示意圖,可具有如圖5所示的叉型架構。
圖12為圖3所示Z預測單元的示意圖,可具有如圖8所示的結合/叉型單元架構。
附圖符號說明計算機系統10計算機12處理單元16 系統存儲器18系統總線21 只讀存儲器24隨機存取存儲器26基本輸出入系統27操作系統29 應用程序31其它程序模塊33 程序數據35硬盤機41磁盤驅動器51磁盤52 光驅55
光盤片56使用者輸入接口60指針裝置61 鍵盤62網絡接口70 局域網絡71調制解調器72廣域網絡73遠端計算機80存儲器儲存裝置81圖形接口8 圖形處理單元84遠端應用程序85 視訊存儲器86視訊接口90 顯示器91輸出外圍接口95 打印機96揚聲器97繪圖管線100、110命令及數據解析器114事件接線115繪圖管線組件120、140、190、222數據輸入端121、223、230、327、329數據輸出端122、232、234、331、332符記125、134、145、156、162、192、198、212先進先出裝置126、135、146、154、161、194、202、214、312、316、318、320路徑127、129、132、136、148、151、152、158、203、204、206、208、210、246、281、304、306、308、310繪圖管線單元130 處理流166流程圖250輸入串流283狀態數據組286像素數據組288三維數據和狀態組290 二維數據和狀態組292管線圖300幾何及屬性設定單元302Z預測單元325 超圖塊先進先出裝置326Z先進先出裝置334 T先進先出裝置336三角形結束數據符記338a、338b、338c具體實施方式
圖1為一例示非限定的計算機系統10的示意圖,其包含一計算機12,于此非限制定實施例中,計算機12的組件可包含一處理單元16、一系統存儲器18以及一系統總線21,該系統總線21將諸如系統存儲器18等不同的系統組件連接于處理單元16,系統總線21可為本領域技術人員所知曉的任一種總線結構,如存儲器總線或存儲器控制器、外圍裝置總線以及局部總線,就一非限定實施例而言,這種架構可包含外圍組件互連(peripheral componentinterconnect,PCI)總線、繪圖加速端口(accelerated graphics port,AGP)及/或快速外圍組件互連(PCI Express)總線。
計算機12可包含多種計算機可讀取的介質,計算機可讀取的介質可為任一種已知的計算機可存取介質,并且包含易失性和非易失性存儲器,可為可移除或不可移除的存儲器。
系統存儲器18可為易失性和/或非易失性存儲器形式的計算機儲存介質,例如只讀存儲器(read only memory,ROM)24及隨機存取存儲器(randomaccess memory,RAM)26,只讀存儲器24中可儲存有基本輸出入系統(basicinput/output system,BIOS)27,于一非限定實施例中,隨機存取存儲器26可涵括操作系統29、應用程序31、其它程序模塊33及程序數據35。
計算機12亦包含其它可移除/不可移除的易失性/非易失性計算機儲存介質,于一非限定實施例中,硬盤機41可擦寫不可移除的非易失性磁性介質,磁盤驅動器51可擦寫可移除的非易失性磁盤52,光驅55則可擦寫光盤片56。
通過如鍵盤62及指針裝置61等輸入裝置,使用者可輸入命令及信息給計算機12,所述輸入裝置通過使用者輸入接口60及系統總線21而與處理單元16連接,然而,本領域技術人員應可理解,其它接口及總線結構亦可用于連接這種裝置與計算機12,例如并行端口、游戲端口、通用序列總線(universal serial bus,USB)。
一種或多種圖形處理單元(graphics processing unit,GPU)84可通過系統總線21與圖形接口82信號連接,于一非限定實施例中,圖形處理單元84可包含芯片上存儲器儲存裝置,例如緩存器儲存裝置及高速緩存,有必要時,圖形處理單元84亦可與視訊存儲器86信號連接。
顯示器91或其它類型的顯示裝置亦可通過視訊接口90與系統總線21連接,視訊接口90亦可與視訊存儲器86信號連接,除顯示器91外,計算機系統10亦可包含其它外圍輸出裝置,例如打印機96及揚聲器97,均可通過輸出外圍接口95達成連接的目的。
利用邏輯連接一部或多部遠端計算機80,計算機12可于網絡或分布式環境中操作,遠端計算機80可為個人計算機、服務器、路由器、網絡計算機、端末裝置或其它常見的網絡節點,雖然圖1中僅顯示存儲器儲存裝置81及遠端應用程序85,但遠端計算機80亦可包含許多上述組件,于圖1中所示的邏輯聯機包含局域網絡(local area network,LAN)71及廣域網絡(widearea network,WAN)73,但本領域技術人員應該明白,亦可包含其它種類的網絡/總線。
于圖1的非限定實施例中,遠端計算機80可通過局域網絡71及網絡接口70而連接至計算機12,同樣地,亦可使用調制解調器72及使用者輸入接口60通過廣域網絡73將計算機12連接至遠端計算機80。
如前所述,于另一環境處理或操作期間,圖形處理單元84可用以切換處理程序或環境,在此情形下,圖形處理單元84用以儲存中斷的環境,以及引發處理另一環境,這個環境可能是先前中斷及儲存的環境。
圖形處理單元84可用以支持屬于相同環境的多重圖形處理單元程序(命令)的循序執行,然而,如前所述,為了使圖形處理單元84于處理單元16前后的執行同步,可使用多階或同步化程序。
全階存儲器數據存取系統同步化可為第一種高階同步處理單元16的應用程序或驅動程序的方法,其中圖形處理單元環境由圖形處理單元84所執行。于第二階或中階同步中,存儲器數據存取同步化可出現于由圖形處理單元84執行的兩個圖形處理單元環境之間,因此,如前所述,二個環境間的同步化的發生點可恰為環境中斷的場合,以恢復或引發第二環境。于第三階同步中,圖形處理單元84中的管線設計成管線中的各單元或組件可以被同步,此構成較低階的內部同步。因此,可使用此三階同步方法,以使處理單元16可于圖形處理單元84前后的執行同步,進而控制復雜及循環的處理操作。
圖2為可見于圖形處理單元84中的典型繪圖管線100的示意圖,雖然沒有分別描述繪圖管線100的各組件,但本領域技術人員應該明白其如何操作和交互作用,以處理繪圖信息。
然而,較舊的同步化機制可能無法比得上較新的多執行緒中央處理單元的速度,多執行緒中央處理單元支持同時執行多個繪圖工作,換句話說,圖1的繪圖管線100無法如同多執行緒中央處理單元嘗試實質上同時處理多個繪圖工作或環境,因而造成明顯的效能降低。
造成此種情形的原因之一,即繪圖管線100是配置成使管線100的不同組件可與相鄰組件同步,此概念為背壓同步(back pressure synchronization),會暫停每一對應組件之間的管線。此同步方法可支持多重環境的執行,但涉及完全管線清空,明顯耗時,于此管線中進行環境切換將比預期的慢,會大大地降低繪圖管線100的效能。
圖3為圖形處理單元繪圖管線110的示意圖,其可存在于圖1的圖形處理單元中,并且經由支持不同數據結構的多重先進先出裝置而連接數個固定功能單元與可編程單元的組合,因為多類型區塊具有不只一個輸入或一個輸出,此與圖2的圖形處理單元繪圖管線100相反,故圖形處理單元繪圖管線110的同步就很重要,因此,為了嘗試使圖3的圖形處理單元繪圖管線110同步,應認可不同類型的數據流,以維持像素描繪的順序,以及同步現代圖形處理單元中的二維、三維、視訊及其它信道間的時序。
聯合的可程序平行處理單元可用于圖形處理單元繪圖管線110的若干階段中,并且可能產生亂序結果,這些結果應重新排序且與其它數據流同步,以進行進一步繪圖相關處理。于圖形處理單元繪圖管線110中的命令/狀態與數據處理的同步可利用插入特殊的標示符記(markup token),供圖形處理單元繪圖管線110中的各單元辨識,且亦可用于如前述的低階同步化技術中的數據/命令流。
于一非限定實施例中,圖3的圖形處理單元繪圖管線110可使用至少二種標示符記,由圖形處理單元繪圖管線110的不同的處理組件將其插入數據/命令流中。第一種標示符記可為數據型符記,可用以表示任一種數據項的結束,于一非限定實施例中,數據型符記可為「狀態區塊結束」、「基本區塊結束」、「三維命令區塊結束」或「二維命令區塊結束」等符記,當通過圖3所示圖形處理單元繪圖管線110的項目含有不確定數量的數據時,這種符記是很有用的。
第二種標示符記可為事件型符記,可用以表示圖形處理單元繪圖管線110的一處理組件中所發生的特殊事件,事件型符記包含事件起始符記及事件結束符記,例如「環境結束」及「直接存儲器存取(direct memory access,DMA)結束」等符記,同樣地,「中斷結束」也是一種事件結束符記。
于一實施例中,圖形處理單元繪圖管線110中的處理區塊可經過配置,使得得以插入數據型符記及事件型符記,以同步數據、命令及狀態處理流,借著將符記插入圖形處理單元繪圖管線110,不同的處理組件可提供所需的低階同步機制。
另一種可利用的同步工具為事件信號,于一非限定實施例中,事件信號是由圖3的事件接線115進行傳遞,對應于任一條件、硬線或事件而于圖形處理單元繪圖管線110的任一管線處理區塊中產生事件信號,此信號可傳送至圖形處理單元繪圖管線110中的一個或多個其它處理區塊,借著將事件接線115連接至一個或多個其它處理區塊,事件接線115上的事件信號可改變處理順序,或可使圖形處理單元繪圖管線中某些接收到事件接線信號的特殊組件拋棄某些數據和命令。
與所述事件型符記相似,于事件接線115上傳遞的事件信號可以是成對的信號配置,例如事件起始信號及事件結束信號,再者,事件信號可與事件型符記以下列組合方式配對,以進行同步控制1.事件起始信號/事件結束符記2.事件起始符記/事件結束信號3.事件起始信號/事件結束信號4.事件起始符記/事件結束符記事件信號與事件符記的組合會隨著管線同步化的架構改變,用于不同區塊及繪圖管線110的輸入事件符記及信號可在給定的情況下達成預期的結果,因此,為了引發一事件,一區塊可能從繪圖管線110中的前一區塊獲得符記,例如可從配置于一對區塊間的先進先出緩沖器獲得符記,于一非限定實施例中,當接收到符記時,可引發反饋回路,以清空先進先出緩沖器;另一種事件狀況的開始可包含事件信號,例如圖3所示事件接線115所傳遞的信號,通過事件接線115傳遞的事件信號可來自繪圖管線110的任一特殊處理組件,也可涉及局部組件事件。
為了結束一事件,可從前一區塊接收輸入符記,該符記代表某一動作的結束,例如清空先進先出緩沖器,以供當前的區塊使用。信號接線亦可用作事件結束辨識,以結束某一操作,如可使用事件接線115以將一信號從一區塊(例如繪圖管線110中的命令串流處理器(command stream processor,CSP)114)傳遞至一處理區塊,以告知指定的活動或局部區塊事件已結束。
事件符記及事件信號亦可用于繪圖管線110的區塊內的輸出操作,為了引發事件,第一區塊輸出一符記給繪圖管線中的其它區塊以供操作,例如前述的反饋回路。同樣地,一區塊可送出一事件信號至繪圖管線110中的任一其它區塊(圖3),以產生預期的結果。
為了結束事件,輸出符記亦可從繪圖管線1 10中的任一組件傳遞至指定組件,例如在繪圖管線110中的次一組件,于一非限定實施例中,經由清除已停止環境數據,輸出符記可使得接收組件切換環境,如此,符記從繪圖管線110中的一組件輸出至另一組件,使得另一組件拋棄存儲器中的數據,好準備處理新環境。再者,任一組件可使用事件信號通知其它組件,如圖3所示,以使事件結束。
應注意,于圖3的繪圖管線110內,為了經由符記、事件信號及背壓同步信號(與圖2所示者類似)實現同步,管線的組件必須要能控制這些通訊類型,因此,繪圖管線110可包含對應數目的組件類型,用以接收事件符記、事件信號、背壓同步信號,并將其輸出此至其它組件。
圖4為一種可涵括于圖3所示繪圖管線110中的標準型(regular-type)繪圖管線單元(或區塊)的示意圖,標準型繪圖管線組件120具有一數據輸入端121及一數據輸出端122,并且亦可通過路徑129及136傳遞背壓同步信號或暫停(stall)信號,此為本領域技術人員所知。
圖4的繪圖管線組件120可從三個來源接收符記或事件信號(或另一預定事件)。就第一種來源而言,另一繪圖管線組件(未顯示)將符記125(如前述,可為事件或數據符記)放入先進先出裝置126中,以供繪圖管線120執行。因此,當繪圖管線組件120處理先進先出裝置126的內容時,終究會接收到事件或數據符記125,表示要引發或開始對應的事件,如前所述,于一非限定實施例中,事件或數據符記125可以使得繪圖管線組件120引發一拋棄順序,以清空先進先出裝置126的內容,以供制備欲接續執行的新環境,此為一種繪圖管線110的組件同步方式。
就第二種輸入形式而言,繪圖管線120可通過如圖4所示的路徑127從另一組件接收事件信號,如前所述,從路徑127所接收的事件信號可引發或完成某些預定的操作。
第三,繪圖管線組件120可從路徑129(亦可視為背壓同步接線)上接收來自繪圖管線單元130的背壓同步信號,繪圖管線單元130可為接在圖3所示繪圖管線110后方的單元。繪圖管線組件120具有同步背壓輸入端,用以與繪圖管線中的次一處理單元連接,于路徑129上接收此信號可能造成兩組件對應于一特殊事件而同步化,繪圖管線組件120亦具有同步背壓輸出端,用以連接繪圖管線中的前一處理單元。
圖4的繪圖管線組件120亦可用以輸出接收到的事件或數據符記,以使某些事件于圖3的繪圖管線110內發生,如前所述,繪圖管線組件120可用以將事件或數據符記放入圖3所示繪圖管線110之后的組件的先進先出裝置135中,因此,如前面有關先進先出裝置126的描述,當繪圖管線組件120將事件或數據符記134放入先進先出裝置135內,可使得接下來的圖形處理組件(例如繪圖處理組件130或繪圖管線單元)在接收到事件符記134后,跟著進行一系列的動作。
繪圖管線組件120亦可用以通過路徑132(可視為接線)輸出如以上討論的事件信號(或事件接線信號)給圖3所示繪圖管線110中與路徑132連接的任一區塊,因此,對應于在路徑132上傳送的一事件信號,繪圖管線組件120可引發或終止另一組件內的處理程序。
因此,如前所述,此種標準型繪圖管線組件120可為圖3所示繪圖管線110內的一種處理類型,如前所述,此標準型單元120可用以接收以及輸出事件符記及/或信號,以同步化繪圖管線110內至少此種類型的單元。
雖然圖4的標準型繪圖管線單元120僅具有一輸出端,但繪圖管線110內的處理區塊其實可具有兩個或更多的輸出端,因此,可建立一種叉型區塊,其中數據、命令及狀態可于多個輸出路徑中擇一傳送。
圖5為叉型(fork-type)繪圖處理組件140的示意圖,其具有一輸入端及多個輸出路徑,可連接至圖3所示繪圖管線110內的其它組件,除了如圖4的標準型單元所述的背壓及拋棄同步外,叉型繪圖處理組件140可用以將符記插入于輸出數據流項目之間,以提供區隔或分割功能。
因此,于此非限定實施例中的繪圖管線組件140可從先進先出裝置146接收事件或數據符記145,本領域技術人員應該明白,該先進先出裝置146可配置于前一繪圖管線處理組件與繪圖管線組件140之間,當繪圖管線組件140接收到事件或數據符記145時,可引發或終止對應的同步導向操作,于一非限定實施例中,倘若事件或數據符記145引發一拋棄程序,則繪圖管線組件140會拋棄先進先出裝置146的內容,直到接收到結束符記為止,前一組件(未顯示于圖5中)接著會寫入其它指令或項目于該先進先出裝置146中,以取代該結束符記。
同樣地,繪圖管線組件140可用以通過事件接線148從另一處理單元接收事件信號,因此,如前所述,當接收到事件信號時,繪圖管線單元140會引發拋棄先進先出裝置146內數據的操作,此僅為一非限定實施例,當接收如前所述的事件或數據符記時,繪圖管線組件140會進行若干同步導向動作。
如前所述,圖5的繪圖管線組件140亦可用以輸出符記及/或信號,事件信號可依照前述的類似方式,沿著路徑151傳遞至連接于路徑151并屬于繪圖管線的任一區塊。
然而,繪圖管線組件140可用以將符記插入于兩個或多個位于繪圖管線組件140之后的處理區塊的數據處理路徑,于第一非限定實施例中,通過連接后續繪圖處理組件的數據路徑152,繪圖管線組件140可將事件或數據符記156插入先進先出裝置154中,以引發某一程序或操作,因此,此事件或數據符記156可接著項目C1和C2之后輸出,故當其到達后續繪圖管線組件時,事件經識別后即進行對應的步驟,繪圖管線組件140接著可放置另一符記,表示事件已結束和/或恢復先前操作。
除了利用路徑152傳遞事件或數據符記156給先進先出裝置154,叉型繪圖處理組件140亦可通過路徑158傳遞事件或數據符記162,路徑158也可連接另一繪圖管線組件,依照類似方式,沿著與路徑152分開的路徑,先進先出裝置161可連接后續的繪圖管線組件,所以,繪圖管線組件140可通過至少兩個不同的數據路徑傳遞符記,將符記162插入先進先出裝置161將引發或結束對應于該符記的同步導向動作,如此可于圖3所示繪圖管線110中進行程序化,依此方式,本領域技術人員應該明白,叉型單元140可通過分支的輸出路徑152和158傳遞符記。
本領域技術人員亦可了解,叉型繪圖處理組件140可具有超過兩個輸出端,然而,不論有多少的輸出端,此類型組件根據前一輸出端所接收的數據和信號,將符記及數據送到適當的輸出端。
圖6是將標準型處理單元120及叉型處理單元140配置于圖3所示繪圖管線110內的處理流166的示意圖,標準型處理單元120及叉型處理單元140同樣具有一數據輸入端,使得對應于標準型和/或叉型區塊的繪圖管線組件可執行一固定程序,處理及執行從該輸入端接收到的數據和/或命令。
然而,當外部事件開始時,當接收到信號或符記時,流程從步驟168移至170,于一非限定實施例中,此步驟可包含發出事件起始符記或對應的信號至其它區塊,當繪圖管線單元收到此外部起始信號和/或符記時,便可移至步驟172,引發另一處理模式和/或拋棄順序(如前所述)。之后,于步驟174中,處理流接收到一事件結束信號或符記,使得繪圖管線組件依照與所述發出事件起始符記類似的方式發出一事件結束符記或信號給任一其它組件,之后,流程回到步驟168,恢復正常處理操作。
繪圖管線組件亦可歷經一內部區塊事件,以發出一信號、事件或數據符記給圖3所述繪圖管線110內的其它繪圖管線組件,因此,于步驟178中,由于一內部區塊事件,繪圖管線組件可發出一事件起始信號或符記,之后于步驟182中,可跟著進行一內部事件流程或程序,使得發出事件起始符記和/或信號的繪圖管線組件根據內部區塊事件執行操作。
當完成與內部區塊事件有關的處理時,繪圖管線組件120或140可移至步驟184,并且發出一事件結束信號或符記,告知圖3所示繪圖管線110內的適當接收組件處理已完成。
之后,流程回到步驟168,恢復正常處理操作,依此方式,標準型單元120及叉型單元140可對應于所接收到的任一輸入信號和/或符記、或由區塊本身對應于內部事件所產生的輸入信號和/或符記,通過預定的輸出路徑傳遞信號和/或符記。
圖7為可用于圖3所示繪圖管線110中的結合型(join-type)組件的示意圖,此組件具有兩個數據輸入端及一個數據輸出端,與前述方式類似,繪圖管線組件190可從先進先出裝置194接收事件或數據符記192,事件或數據符記192可能由圖3所示繪圖管線110內的前一處理管線單元插入,當接收到通過路徑166傳遞的事件或數據符記192時,可進行對應的同步導向動作,例如拋棄先進先出裝置194的內容,直到接收到對應的結束事件符記(未顯示,但已說明)為止。
同樣地,繪圖管線組件190可通過與繪圖管線組件190連接的路徑204從先進先出裝置202接收事件或數據符記198,當通過路徑204接收到事件或數據符記198時,繪圖管線組件190會跟著拋棄先進先出裝置202的內容,直到接收到對應的事件結束符記(亦說明如上)為止,或可進行其它預定的動作。
事件或數據符記192和/或198可切換繪圖管線組件190的路徑203或204,當繪圖管線組件190必須從輸入端接收數據以處理相關數據時,可能產生此種切換動作,因此,倘若繪圖管線組件190從路徑203接收到名稱為「標示符記A」的特殊符記,則繪圖管線組件190開始通過路徑204從先進先出裝置202接收數據和/或信息;同樣地,倘若繪圖管線組件190接收到另一種稱為「標示符記B」的特殊符記198,則繪圖管線組件190會依指示從路徑203(于此非限定實施例中即表示其它輸入端)接收數據。
類似以上所述,繪圖管線組件190亦可從路徑206接收事件信號,以及通過路徑208輸出事件信號,如前所述,事件信號及事件符記可合并用于輸入數據拋棄操作,亦可使繪圖管線組件190于不同輸入端之間切換,以進行有效數據處理。
繪圖管線組件190可用以將符記212插入先進先出裝置214中,先進先出裝置214可經由路徑210連接于繪圖管線組件190的輸出端,此一插入輸出符記(例如符記212)的方法與從事件輸入端203或204接收到的符記或從事件接線206上接收的信號有關。再者,如前所述,繪圖管線組件190亦可根據內部事件將符記212插入繪圖管線組件190中。
最后,如同前述標準型處理單元120及叉型處理單元140,結合型繪圖管線組件190亦可用于背壓同步,如此,繪圖管線組件190可于圖3所示繪圖管線110中進行同步動作。
圖8為結合/叉型單元的示意圖,其可構成圖3所示繪圖管線110中的另一種處理組件,于此非限定實施例中,繪圖管線組件222具有兩個或多個輸入端及輸出端,故可根據不同輸入端及輸出端接收和/或傳遞符記。
簡單地說,接至繪圖管線組件222的輸入端223及230具有類似前述結合型繪圖管線組件190的架構,換言之,如以上討論,結合/叉型組件有關輸入端的操作方式與前述結合型繪圖管線組件190類似。
同樣地,繪圖管線組件222的輸出端232及234具有類似前述有關叉型繪圖處理組件140的架構,換言之,如以上討論,結合/叉型組件有關輸出端的操作方式與前述叉型繪圖處理單元140類似。
圖9為圖7所示結合型繪圖處理組件及圖8所示結合/叉型繪圖處理組件的例示狀態機的流程圖250,這種組件具有多個輸入端和/或多個輸出端,于圖9的此非限定實施例250中,倘若繪圖處理組件(190或222)具有三個輸入端,于步驟252中,繪圖管線組件可根據第一輸入端維持主處理模式來執行數據或命令項目,當與輸入1有關的批處理結束時,經由批次結束標示符記的通知,繪圖管線單元可移至輸入2,如步驟254所示,根據輸入端的數據及/或命令引發處理程序,當此程序結束時,批次結束符記令繪圖管線組件移至輸入3,以此類推,重復執行這樣的程序,繪圖管線單元最終回到輸入1的處理數據和/或命令的步驟。
然而,如前所述,當察覺到一內部事件時,繪圖管線組件移至步驟258,并且發出一事件起始信號或符記,并從繪圖管線組件的輸出接在線送出此信號,例如從圖7的路徑208或圖8的路徑246,事件符記可通過數據輸出路徑從繪圖管線組件輸出至一個或多個后續的單元,當于步驟258中發出事件起始信號或符記時,繪圖管線組件移至步驟260,并且開始進行有關內部事件的處理程序,當完成步驟260的處理程序,繪圖管線組件移至步驟262,并且依照與以上所述相同的方式發出一事件結束信號或符記,告知繪圖管線110內的其它組件程序已完成。
類似以上所述,圖9所示繪圖管線組件亦可接收一外部事件起始信號或符記,因此,此方法可使繪圖管線組件從步驟252(或步驟254或256,取決于當接收信號或事件符記時正進行處理的輸入步驟而定)移動,進而于步驟264中發出一事件起始符記至其它組件,發出事件符記之后,繪圖管線組件會引發另一處理模式或數據拋棄操作,以刪去連接于繪圖管線的先進先出裝置中的數據,步驟266中的處理可持續到程序被中斷或完成為止,然后進行步驟268,繪圖管線組件接收一事件結束符記或信號,因此,于步驟268中,繪圖管線組件可發出一事件結束符記或信號至其它組件,表示對應該中斷的外部事件已結束,之后,繪圖管線單元可回到如前所述的主處理模式。
圖9的步驟270及272表示繪圖管線組件可因進入輸入2或輸入3的外部事件信號或符記而中斷,其機制類似于輸出1的說明,因此,當接收到此信號或符記時,可引發另一處理模式,同時輸出符記至連接于結合型組件190和/或結合/叉型繪圖處理組件222輸出端的其它組件。
圖10為圖3所示繪圖管線110中的命令及數據解析器114(亦可視為命令串流處理器(CSP))的示意圖,于一非限定實施例中,其為一種叉型組件,例如圖5所示叉型組件140的非限定實施例,于此非限定實施例中,命令及數據解析器114可根據發生的事件或數據,將事件符記或數據符記插入于路徑281上所傳遞的輸入串流283(于路徑281上接收)中,輸入串流283與圖3所示繪圖管線110中出現的數據及事件有關。
命令及數據解析器114可用以解碼串流283中各命令的類型和數據長度等信息,因此可于對應及適當的輸出串流中插入相關符記,于一非限定實施例中,當命令及數據解析器114接收到狀態數據,例如狀態數據1、狀態數據2或狀態數據3,命令及數據解析器114可發送此狀態數據于狀態數據組286中,如圖10所示,之后將其傳送至指定的管線組件。
同樣地,命令及數據解析器114會輸出串流283中的每一個像素(primitive)數據1-4至像素數據組288,然后送至對應數目的繪圖管線組件進行處理;另外,命令及數據解析器114會將對應三維繪圖組件的狀態數據及三維命令傳送至三維命令及狀態組290,以進行之后的三維處理;最后,命令及數據解析器114可傳送二維命令及對應的數據給二維數據和狀態組292,供負責處理二維命令及數據的繪圖管線單元進行處理。因此,依此方式,命令及數據解析器114系如叉型單元般的操作方式,傳遞對應于某些類型的處理操作的數據至其適當的組件。
當命令及數據解析器114察覺到輸入串流283中的一事件,例如信號中斷,便會將一個或多個事件型符記插入上述數據/命令組(286、288、290及292),于一非限定實施例中,「中斷結束」符記、「直接存儲器存取結束」符記及「環境結束」符記等符記例子可被傳送至命令及數據解析器114的一個或多個輸出路徑。
圖11為圖3所示繪圖管線110的三角形設定單元/屬性設定單元(triangle setup unit/attribute setup unit,TSU-ASU)組件或單元的示意圖300,其具有如圖5所示的叉型架構,于此非限定實施例中,幾何及屬性設定單元302可具有與路徑304連接的單一輸入端及對應于路徑306、308及310的三個輸出端,每一個輸出端會與圖3所示繪圖管線110中的其它組件連接,因此,當沿著輸入路徑304接收對應于先進先出裝置312的數據時,幾何及屬性設定單元302會通過一輸出端306、308或310分配命令和數據,因此,于此非限定實施例中,幾何及屬性設定單元302可通過路徑306傳送狀態數據、事件及數據符記以及其它三角形信息至Z相關和命令/狀態數據先進先出裝置,此相當于圖3的先進先出裝置316。
幾何及屬性設定單元302的第二輸出端308可連接于圖3的屬性先進先出裝置318,此屬性先進先出裝置318可用以接收對應于三角形屬性及命令/狀態數據的屬性數據、事件及數據符記以及狀態數據。
最后,幾何及屬性設定單元302可通過輸出端傳送任一種三角形邊緣/邊界盒及命令/狀態數據給先進先出裝置320,以供進一步處理,因此,幾何及屬性設定單元302可傳送通過路徑304從先進先出裝置312接收的狀態及命令數據和/或三角形邊緣信息,和/或其它可由幾何及屬性設定單元302處理的數據,再者,幾何及屬性設定單元302亦可輸出一個或多個如圖11所示的事件或數據符記給先進先出裝置320。
圖12為圖3所示Z預測(preset)(ZL1)單元325的示意圖,類似圖8所示結合/叉型單元222,于此非限定實施例中,Z預測單元325可連接至圖3所示ASU-ZL1先進先出裝置316以及超圖塊(supertile,ST)先進先出裝置326,以接收數據及/或信息,如前所述,先進先出裝置316及326均可送出命令、狀態數據以及事件及數據符記。
Z預測單元325可選擇輸入端327或329,以從分別連接于圖3所示Z先進先出裝置334及T先進先出裝置336的輸出端331及332輸出數據,例如「環境結束」或「中斷結束」等符記可位于先進先出裝置316及326之內,通過輸出端331及332送至對應的Z先進先出裝置334及T先進先出裝置336,因此,于一非限定實施例中,倘若Z預測單元325根據超圖塊先進先出裝置326處理指令及命令并且接收到「三角形結束」數據符記338a,如圖12所示,則Z預測單元325會通過輸出端322傳送「三角形結束」數據符記給T先進先出裝置336中的位置338b處。
同樣地,Z預測單元325亦可傳遞一「三角形結束」數據符記338c至Z先進先出裝置334,藉此復制符記于Z預測單元325的雙輸出端中,依此方式,Z預測單元325通過其雙輸入端接收命令及數據,并且于進行適當的計算和操作之后,將其輸出至一個或多個輸出端331及332,故管線110中的其它組件會接收到同步命令和數據,以供處理。
如圖12所示,接收例如「中斷結束」及/或「環境結束」等事件符記可使Z預測單元325復制事件符記給每一輸出端,同樣地,由Z預測單元325接收例如「三角形結束」和/或「批次結束」等數據型符記亦可復制數據型符記給每一個輸出端331及332,例如三角形結束符記338b及338c,因此,管線處理組件可以于兩個或多個輸入端及輸出端間作用,以協調數據處理以及同步繪圖管線110中的不同組件。
應強調的是,以上所述的具體例及非限定實施例僅為可能的施行范例,僅用以清楚說明本披露的原理,即便對上述具體例及非限定實施例施以變化和修飾,然皆不脫離所述的精神和范圍。所有這種修飾及變化應涵括于本發明的范圍內,受本發明的權利要求的保護。
權利要求
1.一種適用于繪圖管線的數據同步方法,其包含下列步驟一繪圖管線組件具有一數據輸入端及一數據輸出端,自該數據輸入端接收一個或多個輸入符記;從該繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;通過該數據輸出端輸出一個或多個同步符記至該繪圖管線中的一個或多個其它組件,其中該一個或多個同步符記是與該一個或多個輸入符記、該一筆或多筆輸入信號、或該繪圖管線組件的一內部事件有關;以及通過該繪圖管線組件的一輸出信號路徑輸出一筆或多筆同步信號至該繪圖管線中的一個或多個其它組件,其中該一筆或多筆同步信號系對應于該一個或多個輸入符記、該一筆或多筆輸入信號、或該內部事件。
2.如權利要求1所述的數據同步方法,其中該一個或多個輸入符記為一事件符記,使該繪圖管線組件清空與該繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
3.如權利要求1所述的數據同步方法,其中該一筆或多筆輸入信號使該繪圖管線組件清空與該繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
4.如權利要求1所述的數據同步方法,其中當該繪圖管線組件接收到該一個或多個輸入符記或該一筆或多筆輸入信號的數據時,進行另一處理模式,并且當完成該另一處理模式時,輸出該同步信號或該同步符記至一個或多個其它組件。
5.如權利要求1所述的數據同步方法,進一步包含以下步驟從該繪圖管線中的次一組件接收一背壓同步信號;對應于接收該背壓同步信號,進行一預定的動作;以及對應于一預定事件,輸出一背壓同步信號至該繪圖管線中的前一組件。
6.如權利要求1所述的數據同步方法,其中該同步符記置于不同的數據項類型之間,以區隔不同的數據項類型。
7.一種適用于繪圖管線的數據同步方法,其包含下列步驟一叉型繪圖管線組件具有一數據輸入端及多個數據輸出端,從該數據輸入端接收一個或多個輸入符記;從該叉型繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;通過該多個數據輸出端輸出一個或多個同步符記至該繪圖管線中的一個或多個其它組件,其中該一個或多個同步符記是與該一個或多個輸入符記、該一筆或多筆輸入信號、或該叉型繪圖管線組件的一內部事件有關;以及通過該叉型繪圖管線組件的一輸出信號路徑輸出一筆或多筆同步信號至該繪圖管線中的一個或多個其它組件,其中該一筆或多筆同步信號對應于該一個或多個輸入符記、該一個或多個輸入信號、或該內部事件。
8.如權利要求7所述的數據同步方法,其中該一個或多個輸入符記為一事件符記,使該叉型繪圖管線組件清空與該叉型繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
9.如權利要求7所述的數據同步方法,其中該一筆或多筆輸入信號使該叉型繪圖管線組件清空與該叉型繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
10.如權利要求7所述的數據同步方法,其中該叉型繪圖管線組件系根據從該數據輸入端接收的不同數據項類型,而分配數據和符記給該多個輸出端。
11.如權利要求7所述的數據同步方法,其中該叉型繪圖管線組件系對應于一個或多個預定事件而輸出一個或多個指定符記給所有數據輸出端。
12.如權利要求7所述的數據同步方法,其中該預定事件為從該輸入信號路徑上接收一預定輸入信號。
13.一種適用于繪圖管線的數據同步方法,其包含下列步驟一結合型繪圖管線組件具有多個數據輸入端及一數據輸出端,從該數據輸入端接收一個或多個輸入符記;從該結合型繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;以及通過該數據輸出端輸出一個或多個同步符記至該繪圖管線的一個或多個其它組件,其中該一個或多個同步符記系與該一個或多個輸入符記、該一筆或多筆輸入信號、或該結合型繪圖管線組件的一內部事件有關。
14.如權利要求13所述的數據同步方法,進一步包含步驟從該結合型繪圖管線組件的一輸出信號路徑輸出一筆或多筆同步信號至該繪圖管線的一個或多個其它組件,其中該一筆或多筆同步信號對應于該一個或多個輸入符記、該一筆或多筆輸入信號或該內部事件。
15.如權利要求13所述的數據同步方法,其中該一個或多個輸入符記為一事件符記,使該結合型繪圖管線組件清空與該結合型繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
16.如權利要求13所述的數據同步方法,其中該一筆或多筆輸入信號使該結合型繪圖管線組件清空與該結合型繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
17.如權利要求13所述的數據同步方法,其中該一個或多個輸入符記為一事件符記,使該結合型繪圖管線組件引發另一處理模式。
18.如權利要求13所述的數據同步方法,其中該一筆或多筆輸入信號使該結合型繪圖管線組件引發另一處理模式。
19.如權利要求13所述的數據同步方法,進一步包含步驟當該結合型繪圖管線組件接收一指定符記時,將該多個輸入端的一輸入端切換至另一輸入端,以從其接收信息。
20.如權利要求19所述的數據同步方法,其中該指定符記的配置使得該結合型繪圖管線組件處理該另一輸入端上的數據,該數據與該一輸入端先前處理的數據有關。
21.如權利要求13所述的數據同步方法,其中該結合型繪圖管線組件通過該數據輸出端輸出對應不同數據項的數據,其是由該結合型繪圖管線組件所插入的區隔符記分開不同數據項。
22.一種適用于繪圖管線的數據同步方法,其包含下列步驟一結合/叉型繪圖管線組件具有多個數據輸入端及多個數據輸出端,從該多個數據輸入端的一數據輸入端接收一個或多個輸入符記;從該結合/叉型繪圖管線組件的一輸入信號路徑接收一筆或多筆輸入信號;以及通過該多個數據輸出端輸出一個或多個同步符記至該結合/叉型繪圖管線的一個或多個其它組件,其中該一個或多個同步符記是與該一個或多個輸入符記、該一筆或多筆輸入信號、或該結合/叉型繪圖管線組件的一內部事件有關。
23.如權利要求22所述的數據同步方法,進一步包含步驟通過該結合/叉型繪圖管線組件的一輸出信號路徑輸出一筆或多筆同步信號至該繪圖管線的一個或多個其它組件,其中該一筆或多筆同步信號對應于該一個或多個輸入符記、該一筆或多筆輸入信號、或該內部事件。
24.如權利要求22所述的數據同步方法,其中該一個或多個輸入符記為一事件符記,使該結合/叉型繪圖管線組件清空與該結合/叉型繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
25.如權利要求22所述的數據同步方法,其中該一筆或多筆輸入信號使該結合/叉型繪圖管線組件清空與該結合/叉型繪圖管線組件有關的一緩沖器的內容,直到接收到另一輸入符記為止。
26.如權利要求22所述的數據同步方法,其中該一個或多個輸入符記為一事件符記,使該結合/叉型繪圖管線組件引發另一處理模式。
27.如權利要求22所述的數據同步方法,其中該一筆或多筆輸入信號使該結合/叉型繪圖管線組件引發另一處理模式。
28.如權利要求22所述的數據同步方法,進一步包含步驟當該結合/叉型繪圖管線組件接收到一指定符記時,從該多個輸入端的一輸入端切換至另一輸入端,以從其接收信息。
29.如權利要求28所述的數據同步方法,其中該指定符記的配置使得該結合/叉型繪圖管線組件處理該另一輸入端的數據,該數據與該一輸入端先前處理的數據有關。
30.如權利要求22所述的數據同步方法,其中該結合/叉型繪圖管線組件通過每一個數據輸出端輸出不同數據項的數據,其由該結合/叉型繪圖管線組件所插入的區隔符記分開不同數據項。
31.如權利要求22所述的數據同步方法,其中當該多個數據輸入端接收不同數據項供該結合/叉型繪圖管線組件處理時,該結合/叉型繪圖管線組件通過每一個該數據輸出端輸出對應該數據項的數據,該每一個輸出端對應至每一個不同數據項的一指定路徑。
32.如權利要求22所述的數據同步方法,其中當接收一選擇輸入符記或一選擇輸入信號時,執行另一處理模式,持續直到完成為止,以使該結合/叉型繪圖管線組件發出一個或多個選擇同步符記或選擇同步信號至一個或多個其它繪圖管線組件。
33.一種繪圖管線系統,其包含一處理組件具有一數據輸入端、一數據輸出端、一接線信號輸入路徑及一接線信號輸出路徑,該處理組件用以從該數據輸入端接收至少一事件起始符記及一事件結束符記,以及通過該數據輸出端輸出該事件起始符記及該事件結束符記,該處理組件同時用以從該接線信號輸入路徑接收一事件起始信號及一事件結束信號中的至少一信號,以及通過該接線信號輸出路徑輸出該至少一信號;該處理組件具有一同步背壓輸入端,用以與該繪圖管線中的次一處理組件信號連接;以及該處理組件具有一同步背壓輸出端,用以與該繪圖管線中的前一處理組件信號連接。
34.如權利要求33所述的繪圖管線系統,其中該處理組件進一步包含一個或多個其它數據輸出端,該處理組件通過該數據輸出端及該其它數據輸出端中的至少一輸出端輸出至少該事件起始符記及該事件結束符記。
35.如權利要求33所述的繪圖管線系統,其中該處理組件進一步包含一個或多個其它數據輸入端,該處理組件從該數據輸入端及該其它數據輸入端中的至少一輸入端接收至少該事件起始符記及該事件結束符記,并從該數據輸出端輸出數據。
36.如權利要求33所述的繪圖管線系統,其中該處理組件進一步包含一個或多個其它數據輸入端,該處理組件從該數據輸入端及該其它數據輸入端中的至少一輸入端接收至少該事件起始符記及該事件結束符記;以及一個或多個其它數據輸出端,該處理組件通過該數據輸出端及該其它數據輸出端中的至少一輸出端輸出至少該事件起始符記及該事件結束符記。
37.如權利要求33所述的繪圖管線系統,其中對應于從該數據輸入端、該一個或多個其它數據輸入端、及該接線信號輸入路徑中的至少一輸入端所接收的該事件起始符記,或對應于該處理組件中一預定內部事件的發生,該處理組件通過該多個數據輸出端中的一數據輸出端傳送該事件起始符記及該事件結束符記。
全文摘要
一種根據信號及符記用以同步進行數據處理的繪圖管線具有至少四種組件第一組件具有一輸入端及一輸出端,當從該輸入端接收到符記、發生內部事件或從一輸入路徑上接收到一信號時,該第一組件將輸出符記或接線信號;第二組件具有一輸入端及多個輸出端,當從該輸入端接收到符記、發生內部事件或從一輸入路徑上接收到信號時,該第二組件通過一輸出端輸出符記或接線信號;第三組件具有多個輸入端及一輸出端,當從一輸入端接收到符記、發生內部事件或從一輸入路徑接收到信號時,該第三組件通過該輸出端輸出符記或接線信號;第四組件具有多個輸入端及多個輸出端,并且兼具有第三及第四組件的功能。
文檔編號G06T1/20GK101034469SQ20061013749
公開日2007年9月12日 申請日期2006年10月26日 優先權日2005年10月26日
發明者黃錫霖, 提莫·佩塔西, 廖群峰, 約翰·柏拉勒斯 申請人:威盛電子股份有限公司