亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖形處理單元的同步方法以及圍籬/等待同步組件的制作方法

文檔序號:86104閱讀:333來源:國知局

專利名稱::圖形處理單元的同步方法以及圍籬/等待同步組件的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及圖形處理,特別涉及一種同步以及控制圖形流水線(pipeline)的內(nèi)部組件的裝置以及方法。
背景技術(shù)
:現(xiàn)今計(jì)算機(jī)的應(yīng)用程序普遍為圖形加強(qiáng)(graphicallyintense)的應(yīng)用,而且比以前的計(jì)算機(jī)需要有更高等級的圖形處理能力。應(yīng)用程序(例如游戲)通常需要復(fù)雜以及非常精細(xì)的圖形表現(xiàn),其中需要大量不間斷的計(jì)算。為了符合消費(fèi)者在使用計(jì)算機(jī)的應(yīng)用程序上增加圖形性能的需求(例如游戲),計(jì)算機(jī)組態(tài)也要跟著更換。計(jì)算機(jī),尤其是個(gè)人計(jì)算機(jī),被用來設(shè)計(jì)程序以管理程序設(shè)計(jì)師越來越多的高要求的娛樂與多媒體應(yīng)用程序,例如高清晰度圖像以及最新三維(3D)游戲,同樣地,對系統(tǒng)頻寬也有較高的要求。因此,對頻寬不夠的應(yīng)用程序提供解決頻寬的方法,而且也為下一代的應(yīng)用程序提供額外的頻寬空間。因?yàn)檫@些理由,現(xiàn)今計(jì)算機(jī)系統(tǒng)常常包括多種處理器。例如圖形處理單元(graphicsprocessingunit,GPU)是除了主要處理器(例如中央處理器)之外的一種協(xié)處理器(coprocessor),而該協(xié)處理器執(zhí)行專門設(shè)計(jì)的處理任務(wù)。為了執(zhí)行這些任務(wù),圖形處理單元可不受中央處理器控制而執(zhí)行其它任務(wù)。在某些情況中,協(xié)處理器(例如圖形處理單元)實(shí)際上與中央處理器存在于計(jì)算機(jī)系統(tǒng)的主機(jī)板上,其中中央處理器可以是微處理器。然而,在其它應(yīng)用上,如本領(lǐng)域普通技術(shù)人員所知,圖形處理單元和/或其它協(xié)處理裝置可位于彼此分離但電性連接的卡上,例如圖形卡在圖形處理單元的情況下。例如圖形處理單元的協(xié)處理器常常存取補(bǔ)充存儲(chǔ)器(supplementalmemory),例如影像存儲(chǔ)器,用以執(zhí)行其處理任務(wù)。協(xié)處理器通常被配置并有效執(zhí)行專門的任務(wù)。就圖形處理單元而言,這樣的裝置能有效執(zhí)行三維圖形計(jì)算以提供加強(qiáng)圖形的應(yīng)用程序。雖然傳統(tǒng)計(jì)算機(jī)系統(tǒng)與協(xié)處理器可充分地執(zhí)行單一圖形加強(qiáng)應(yīng)用程序,不過當(dāng)傳統(tǒng)計(jì)算機(jī)系統(tǒng)協(xié)共處理器試圖同時(shí)執(zhí)行多個(gè)圖形加強(qiáng)應(yīng)用程序時(shí)會(huì)遇到問題。對傳統(tǒng)協(xié)處理器來說,使用無效率的方法來安排其處理的工作量是不罕見的。在一些操作系統(tǒng)中,圖形處理單元可使用以連續(xù)形式提交運(yùn)算到圖形處理單元的方法來進(jìn)行多重任務(wù)處理,從而圖形處理單元能依序執(zhí)行所接收的運(yùn)算。上述方法的問題在于無法妥善處理當(dāng)許多應(yīng)用程序在不同時(shí)間內(nèi)先后存取相同資源時(shí)的情形。在非限定的范例中,第一應(yīng)用程序現(xiàn)正控制圖形處理單元協(xié)處理器的資源,而為了其它應(yīng)用程序能完成其協(xié)處理器的目的,第一應(yīng)用程序需要放棄對其他應(yīng)用程序的控制。假如第一應(yīng)用程序沒有放棄對其他等待中的應(yīng)用程序的控制,則盡管圖形處理單元完成處理有關(guān)第一應(yīng)用程序的計(jì)算,但圖形處理單元實(shí)際上可能忙于操作而造成等待中的其它應(yīng)用程序成為瓶頸。根據(jù)前文所指示,當(dāng)執(zhí)行單一圖形加強(qiáng)應(yīng)用程序時(shí),上述情況不是值得注意的瓶頸;然而,當(dāng)多個(gè)應(yīng)用程序試圖同時(shí)使用圖形處理單元或協(xié)處理器時(shí),受限于圖形處理單元或其它協(xié)處理器資源的問題會(huì)變的更嚴(yán)重。運(yùn)算之間分配處理的概念由可中斷的中央處理器的概念提出,即從一個(gè)任務(wù)到另一個(gè)任務(wù)的上下文切換。更具體來說,目前的中央處理器利用上下文存儲(chǔ)/復(fù)原的概念進(jìn)行操作以存儲(chǔ)相關(guān)寄存器的內(nèi)容,以及設(shè)計(jì)計(jì)數(shù)器數(shù)據(jù)使能恢復(fù)中斷的處理任務(wù)。當(dāng)提出中央處理器運(yùn)算之間分配處理的問題時(shí),其中使用了多個(gè)運(yùn)算之間的精密安排,而協(xié)處理器的安排并沒有被充分地提出。至少一個(gè)失敗的原因是協(xié)處理器(例如圖形處理單元)通常被視為資源,其能將繁重計(jì)算與耗時(shí)運(yùn)算從中央處理器中轉(zhuǎn)移離開,以便使中央處理器能處理其它功能。眾所皆知,圖形運(yùn)算包括繁重計(jì)算的運(yùn)算,因此需要大量的運(yùn)算處理能力。當(dāng)圖形應(yīng)用程序的復(fù)雜度增加時(shí),圖形處理單元在管理強(qiáng)大的計(jì)算以及表現(xiàn)行動(dòng)方面變得更復(fù)雜。然而,為了準(zhǔn)確地中斷中央處理器,超標(biāo)量(superscalar)的復(fù)雜架構(gòu)、具有平行功能單元的EPIC形式的中央處理器以及故障的執(zhí)行會(huì)產(chǎn)生問題,其中結(jié)構(gòu)寄存器被重新命名,且在處理流水線(processingpipeline)的不同階段中同時(shí)執(zhí)行許多指令。為了提供準(zhǔn)確中斷的可能性,超標(biāo)量中央處理器需在處理流水線中裝備可重新安排的緩沖存儲(chǔ)器(buffer)以及額外階段“指令交回(指令引退(retirement))”?,F(xiàn)在的圖形處理單元變得越來越復(fù)雜,涉及包括可程控以及由多個(gè)先入先出(FirstInFirstOut,F(xiàn)IFO)形式的緩沖存儲(chǔ)器所連接的固定功能單元。各圖形處理單元指令的執(zhí)行可減少數(shù)百到數(shù)千的周期。現(xiàn)今的圖形處理應(yīng)用程序所使用的圖形處理單元流水線比中央處理器更加深?yuàn)W。因此,多數(shù)圖形處理單元被安裝以在任何情況下管理大量的數(shù)據(jù),其試圖分配圖形處理單元的處理使得任務(wù)變得復(fù)雜,例如,圖形處理單元沒有足夠的機(jī)械裝置用以管理存儲(chǔ)或復(fù)原運(yùn)算中的大量數(shù)據(jù)?,F(xiàn)在的圖形處理單元的結(jié)構(gòu)已發(fā)展到可以管理大量數(shù)據(jù)以接收復(fù)雜的形式,即在處理數(shù)據(jù)流(datastream)時(shí),需要新的裝置來對流水線單元進(jìn)行同步。當(dāng)使用可程控的平行處理單元時(shí),除了主要固定功能之外,圖形流水線單元需要維持原有圖形數(shù)據(jù)的順序,其順序在圖形處理單元流水線的不同階段中可被接收并更新。另外,在圖形處理單元的圖形流水線中,同時(shí)使用中斷來維持多個(gè)上下文時(shí)需要帶有最少性能遺失的中斷上下文的重新同步,以及在中斷的與恢復(fù)的圖形上下文之間能順利切換。然而,現(xiàn)今的圖形處理單元結(jié)構(gòu)對上下文的同步以及數(shù)據(jù)存取方面沒有管理得很好,反而導(dǎo)致流水線的完全清除,因此造成較低效率的運(yùn)算,且降低了圖形能力。當(dāng)圖形處理單元表現(xiàn)一表面時(shí),為了下一穿過,其表面變成源頭表面,另外,多穿過表現(xiàn)也需要同步,當(dāng)?shù)诙┻^開始去存取共享表面(sharedsurface)時(shí),以避免寫后讀出(readafterwrite,RAW)的數(shù)據(jù)冒險(xiǎn)(datahazard)。此外,牽涉過早寫入冒險(xiǎn)的情況也必定是處理不需要排出圖形引擎的全部流水線。傳統(tǒng)圖形流水線并不能迅速以及有效地管理這些情況。例如,當(dāng)圖形處理單元處理需要在一個(gè)處理組件以及另一個(gè)處理組件之間交換時(shí),例如,因?yàn)榈诙M件需要來自第一組件的數(shù)據(jù)且必須等待此數(shù)據(jù)。必須在從第一組件完整全部寫入到共享存儲(chǔ)器之后,以及在第二組件開始從共享存儲(chǔ)器讀取隨后的數(shù)據(jù)之前發(fā)生切換。然而,傳統(tǒng)圖形處理單元流水線無法充分地管理這種情形,其可能導(dǎo)致流水線排出,因此大大放慢了處理運(yùn)算并導(dǎo)致無效率的圖形處理運(yùn)算。此外,在現(xiàn)今的圖形處理單元處理的執(zhí)行中,與中央處理器同步執(zhí)行任務(wù)也可能是一個(gè)問題,當(dāng)圖形處理單元可以開始和/或恢復(fù)特定上下文執(zhí)行的執(zhí)行時(shí),其根據(jù)中央處理器執(zhí)行線程(thread)事件(event)。然而,現(xiàn)今的圖形處理單元是簡單的,而無法實(shí)時(shí)傳送以及反應(yīng)這樣的改變,以維持圖形應(yīng)用程序的增加需求的進(jìn)度。因此,這是前所未有的需要去克服這些前文所描述的缺陷以及缺點(diǎn)。
發(fā)明內(nèi)容有鑒于此,本發(fā)明提供一種同步方法,適用于圖形處理單元的圖形流水線。圖形處理單元流水線組件可被內(nèi)部地以及分別地同步。如非限定的范例,其步驟包括指示第一圖形流水線模塊,以傳送圍籬(fence)指令至上述圖形處理單元流水線中的指定模塊的尋址計(jì)數(shù)寄存器。上述指定圖形處理單元模塊可為具有多個(gè)可尋址計(jì)數(shù)寄存器的存儲(chǔ)器存取單元。通過上述指定圖形處理單元模塊的接收,上述圍籬指令可被認(rèn)可,并且與上述圍籬指令有關(guān)的數(shù)據(jù)可被儲(chǔ)存在上述尋址計(jì)數(shù)寄存器的圍籬寄存器中。第二圖形流水線模塊可被指示,以傳送等待指令至上述圖形處理單元流水線模塊的上述尋址計(jì)數(shù)寄存器。上述等待指令的數(shù)據(jù)部份可與儲(chǔ)存在上述尋址計(jì)數(shù)寄存器的上述圍籬寄存器中的數(shù)據(jù)值相比較。在此非限定的范例中,當(dāng)儲(chǔ)存在上述尋址計(jì)數(shù)寄存器的上述圍籬寄存器中的數(shù)據(jù)值大于或是等于上述等待指令的數(shù)據(jù)部份時(shí),上述指定圖形處理單元模塊可認(rèn)可來自上述第二圖形流水線模塊的等待指令的接收,因此為下一運(yùn)算釋放上述第二圖形流水線模塊。然而,當(dāng)儲(chǔ)存在上述尋址計(jì)數(shù)寄存器的上述圍籬存儲(chǔ)器中的數(shù)據(jù)值小于上述等待指令的數(shù)據(jù)部份時(shí),上述指定圖形處理單元模塊可不認(rèn)可來自上述第二圖形流水線模塊的等待指令的接收。如此,上述第二圖形流水線模塊可被停止,從執(zhí)行下一運(yùn)算直到上述指定圖形流水線模塊接收來自上述第一圖形流水線模塊的圍籬指令,為了上述尋址計(jì)數(shù)寄存器,上述圍籬指令大于或是等于上述等待指令的上述數(shù)據(jù)部份。直到上述接收,上述指定圖形處理單元模塊可將上述等待指令的上述數(shù)據(jù)部份儲(chǔ)存在具有上述尋址計(jì)數(shù)寄存器的等待寄存器中。另外,上述指定圖形處理單元模塊可將等待擱置寄存器設(shè)置為對應(yīng)于與上述第二圖形流水線模塊有關(guān)的等待處理的邏輯狀態(tài)。就這樣,上述第一以及第二圖形流水線模塊可被分別地同步彼此內(nèi)部在圖形處理單元內(nèi)。本發(fā)明提供一種同步方法,適用于圖形處理單元的圖形流水線,包括傳送來自第一圖形流水線模塊的圍籬指令至指定圖形處理單元流水線模塊的尋址寄存器;傳送來自第二圖形流水線模塊的等待指令至上述指定圖形處理單元流水線模塊的上述尋址寄存器;比較上述指定圖形處理單元流水線模塊的上述尋址寄存器中的數(shù)據(jù)以及與上述等待指令有關(guān)的數(shù)據(jù);以及當(dāng)上述指定圖形處理單元流水線模塊的上述尋址寄存器的數(shù)據(jù)值等于或是大于與上述等待指令有關(guān)的數(shù)據(jù)值時(shí),響應(yīng)傳送來自上述第二圖形流水線模塊的上述等待指令。本發(fā)明提供一種同步方法,適用于根據(jù)寄存器對來對圖形處理單元的組件進(jìn)行同步,包括接收來自第一圖形處理單元模塊的圍籬指令,其中上述第一圖形處理單元模塊尋址到同步寄存器塊的既定寄存器對;放置上述圍籬指令內(nèi)的數(shù)據(jù)值至上述既定寄存器對的圍籬寄存器中;接收來自第二圖形處理單元模塊的等待指令,其中上述第二圖形處理單元模塊尋址到上述同步寄存器塊的上述既定寄存器對;比較上述圍籬寄存器的數(shù)據(jù)值以及與上述等待指令有關(guān)的數(shù)據(jù)值;以及當(dāng)上述圍籬寄存器的數(shù)據(jù)值小于與上述等待指令有關(guān)的數(shù)據(jù)值時(shí),停止上述第二圖形處理單元模塊。本發(fā)明提供一種圖形處理單元的圍籬/等待同步組件,適用于內(nèi)部地同步上述圖形處理單元的兩個(gè)以上的模塊,包括多個(gè)寄存器對,上述各寄存器對是通過指定地址所識別的,并具有圍籬寄存組件以及等待寄存組件;圍籬指令,根據(jù)上述指定地址從第一圖形處理單元模塊傳送至上述寄存器對的特定寄存器對,其中上述圍籬/等待同步組件為了上述指定地址寫入與上述圍籬指令有關(guān)的圍籬數(shù)據(jù)組件至上述圍籬寄存組件;等待指令,具有等待數(shù)據(jù)組件,上述等待數(shù)據(jù)組件由第二圖形處理單元模塊傳送至對應(yīng)于上述特定寄存器對的指定地址;以及比較邏輯單元,由上述圍籬/等待同步組件執(zhí)行,上述圍籬/等待同步組件比較寫入至上述圍籬寄存組件的上述圍籬數(shù)據(jù)組件以及上述等待數(shù)據(jù)組件,當(dāng)上述圍籬寄存組件的上述圍籬數(shù)據(jù)組件大于或是等于上述等待數(shù)據(jù)組件時(shí),上述第二圖形處理單元模塊被認(rèn)可,并為了額外的處理運(yùn)算被釋放。圖1是顯示包括計(jì)算機(jī)的非限定范例的計(jì)算系統(tǒng)的圖解說明。圖2是顯示圖1的圖形處理單元的部分組件的圖標(biāo),其被配置用以執(zhí)行內(nèi)部圍籬/等待同步。圖3、4是顯示由圖1的圖形處理單元執(zhí)行的步驟/邏輯的流程圖以執(zhí)行內(nèi)部圍籬/等待同步。圖5是顯示雙圖形處理單元可被配置以執(zhí)行圖3、4中內(nèi)部圍籬/等待同步程序的方法圖。主要組件符號說明10~計(jì)算系統(tǒng)16~處理單元18~系統(tǒng)存儲(chǔ)器24~只讀存儲(chǔ)器26~隨機(jī)存取存儲(chǔ)器27~基本輸入輸出系統(tǒng)29~操作系統(tǒng)31~應(yīng)用程序33~其它應(yīng)用模塊35~程序數(shù)據(jù)41~硬盤驅(qū)動(dòng)器51~磁盤驅(qū)動(dòng)器52~磁盤55~光盤驅(qū)動(dòng)器56~光盤60~用戶輸入接口61~指向裝置62~鍵盤70~網(wǎng)絡(luò)接口71局域網(wǎng)絡(luò)72~數(shù)據(jù)器73~廣域網(wǎng)絡(luò)80~遠(yuǎn)程計(jì)算機(jī)81~存儲(chǔ)器存儲(chǔ)裝置82~圖形接口84~圖形處理單元85~遠(yuǎn)程應(yīng)用程序86~影像存儲(chǔ)器90~影像接口91~監(jiān)視器95~輸出外圍接口96~打印器97~揚(yáng)聲器101~指令流處理器103-105~模塊110~存儲(chǔ)器存取單元112-113~寄存器的內(nèi)部圍籬/等待對以及比較邏輯單元120~方法122-146~步驟153~圍籬A同步指令154~圖形處理單元0的存儲(chǔ)器存取單元156~圍籬/等待寄存器162~圍籬/等待寄存器163~圖形處理單元1的存儲(chǔ)器存取單元165~圖形處理單元0的影像存儲(chǔ)器166~圍籬/等待寄存器對映167~圖形處理單元1的影像存儲(chǔ)器168~圍籬/等待寄存器對映170~等待A同步指令具體實(shí)施方式為讓本發(fā)明的上述和其它目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉出優(yōu)選實(shí)施例,并配合附圖,作詳細(xì)說明如下。實(shí)施例圖1是顯示包括計(jì)算機(jī)12的非限定計(jì)算系統(tǒng)10的示例的圖解說明。計(jì)算機(jī)12的組件包括(例如非限定范例)處理單元16、系統(tǒng)存儲(chǔ)器18,以及將包括系統(tǒng)存儲(chǔ)器18的不同系統(tǒng)組件連接到處理單元16的系統(tǒng)總線21。如本領(lǐng)域普通技術(shù)人員所知,系統(tǒng)總線21可以是任何不同形式的總線結(jié)構(gòu),其包括存儲(chǔ)器總線或是存儲(chǔ)器控制器、外圍總線,以及使用任何種類架構(gòu)的局部總線。如同非限定范例,上述架構(gòu)可包括外圍組件互連(peripheralcomponentinterconnect,PCI)總線、加速圖形端口(acceleratedgraphicsport,AGP),和/或快速外圍組件互連(peripheralcomponentinterconnectexpress,PCIExpress)總線。計(jì)算機(jī)12包括多種計(jì)算機(jī)可讀媒體(readablemedia)。計(jì)算機(jī)可讀媒體為可由計(jì)算機(jī)12存取的任何可用的媒體,并且包含易失性(volatile)以及非易失性兩種存儲(chǔ)器,而上述存儲(chǔ)器可以是可移動(dòng)或是非可移動(dòng)存儲(chǔ)器。系統(tǒng)存儲(chǔ)器18可包括以易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)媒體,例如只讀存儲(chǔ)器(readonlymemory,ROM)24以及隨機(jī)存取存儲(chǔ)器(randomaccessmemory,RAM)26?;据斎胼敵鱿到y(tǒng)(basicinput/outputsystem,BIOS)27可被儲(chǔ)存在只讀存儲(chǔ)器24中。如非限定范例,隨機(jī)存取存儲(chǔ)器26包括操作系統(tǒng)29、應(yīng)用程序31、其它程序模塊33,以及程序數(shù)據(jù)35。計(jì)算機(jī)12亦可包括其它可移動(dòng)/非可移動(dòng)及易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒體。如非限定范例,硬盤驅(qū)動(dòng)器41可由非可移動(dòng)、非易失性的磁性媒體讀出或?qū)懭?。磁盤驅(qū)動(dòng)器51可由可移動(dòng)、非易失性的磁盤52讀出或?qū)懭?。光盤驅(qū)動(dòng)器55可由光盤56讀出或?qū)懭?。用戶可以通過像鍵盤62及指向裝置(pointingdevice)61的輸入裝置來輸入指令及信息到計(jì)算機(jī)12上,而輸入裝置可以通過耦接到系統(tǒng)總線21的用戶輸入接口60而耦接至處理單元16。然而,如本領(lǐng)域普通技術(shù)人員所知,其它接口以及總線結(jié)構(gòu)亦可用來耦接這些輸入裝置至計(jì)算機(jī)12,例如并行端口、游戲端口或通用串行總線(universalserialbus,USB)。一個(gè)或多個(gè)圖形處理單元84可與耦接至系統(tǒng)總線21的圖形接口82通信。如非限定范例,圖形處理單元84可包括片上存儲(chǔ)器儲(chǔ)存(on-chipmemorystorage),例如寄存器儲(chǔ)存(registerstorage)以及高速緩存(cachememory)。圖形處理單元84亦可與影像存儲(chǔ)器86通信,如同所需的。監(jiān)視器91或其它形式的顯示裝置亦可經(jīng)由影像接口90耦接至系統(tǒng)總線21,監(jiān)視器91也可經(jīng)由影像接口90與影像存儲(chǔ)器86通信。除了監(jiān)視器91外,計(jì)算系統(tǒng)10亦可包括如打印機(jī)96以及揚(yáng)聲器97的其它外圍輸出裝置,這些其它外圍輸出裝置可經(jīng)由輸出外圍接口95耦接在一起。計(jì)算機(jī)12可操作在網(wǎng)絡(luò)的或是分散的環(huán)境中,其使用邏輯連接(logicalconnection)連接到像遠(yuǎn)程計(jì)算機(jī)80的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)。遠(yuǎn)程計(jì)算機(jī)80可以是個(gè)人計(jì)算機(jī)、路由器、網(wǎng)絡(luò)計(jì)算機(jī)、可攜彩虹登記以及識別(PortableIrisEnrollmentandRecognition,pier)裝置,或是其它常見的網(wǎng)絡(luò)節(jié)點(diǎn)。雖然在圖1僅描繪了存儲(chǔ)器儲(chǔ)存裝置81以及遠(yuǎn)程應(yīng)用程序85,但遠(yuǎn)程計(jì)算機(jī)80亦可包括許多或是全部前面描述有關(guān)于計(jì)算機(jī)12的組件。圖1所示的邏輯連接包括局域網(wǎng)絡(luò)(localareanetwork,LAN)71以及廣域網(wǎng)絡(luò)(wideareanetwork,WAN)73,但是可包括其它網(wǎng)絡(luò)/總線,如本領(lǐng)域普通技術(shù)人員所知。如同圖1的非限定范例,遠(yuǎn)程計(jì)算機(jī)80可經(jīng)由局域網(wǎng)絡(luò)71以及網(wǎng)絡(luò)接口70耦接至計(jì)算機(jī)12。同樣地,數(shù)據(jù)器72可被使用來耦接計(jì)算機(jī)12(經(jīng)過用戶輸入接口60)穿過廣域網(wǎng)絡(luò)73至遠(yuǎn)程計(jì)算機(jī)80。圖2是顯示圖1的圖形處理單元84,如本領(lǐng)域普通技術(shù)人員所知,部分組件可在圖形處理單元84中被實(shí)施。當(dāng)今的圖形處理單元的概念是非常復(fù)雜的,其所安裝的包括大量不同的處理組件,以實(shí)施有關(guān)平行以及順序的圖形運(yùn)算指令,以便能盡快地產(chǎn)生圖形相關(guān)數(shù)據(jù)。因此,如本領(lǐng)域普通技術(shù)人員所知,圖2的圖形處理單元84顯示了除了在傳統(tǒng)圖形處理單元用其它方式可發(fā)現(xiàn)的組件的部分,為了不同的二維以及三維處理運(yùn)算,圖形處理單元84配置一個(gè)或多個(gè)圖形流水線。由于現(xiàn)今圖形處理單元結(jié)構(gòu)的復(fù)雜性,如前文所描述的應(yīng)用形成產(chǎn)生,其中圖形處理單元的不同組件需要被同步,以便相關(guān)數(shù)據(jù)在或是大約相同時(shí)間內(nèi)被處理。換句話說,圖形處理單元84的不同組件可在相關(guān)數(shù)據(jù)存在于圖形處理單元流水線的不同階段進(jìn)行操作(圖2所顯示的部分非限定范例),圖形處理單元84的某一組件或是連續(xù)組件,為了進(jìn)一步的處理以及圖形表現(xiàn),需要等待在圖形處理單元84之內(nèi)的其它連續(xù)組件完成處理運(yùn)算,以結(jié)合相關(guān)數(shù)據(jù)。因此,圖2所示的圖形處理單元84可被配置為對圖形處理單元84的不同組件進(jìn)行內(nèi)部同步,以便增加圖形處理運(yùn)算的速度及效率。內(nèi)部同步,其亦可為已知的圍籬和/或等待,可能是在圖2的圖形處理單元84中執(zhí)行的機(jī)械裝置,以便控制圖形處理單元84中不同組件的內(nèi)部流水線同步,例如指令流處理器101以及模塊103、104和105,其中標(biāo)號115顯示32對寄存器。如本領(lǐng)域普通技術(shù)人員所知,在圖形處理單元84中不只三個(gè)非限定范例模塊可被找到。內(nèi)部圖形流水線同步可被圖形處理單元84利用,以便處理任何寫后讀出或過早寫入冒險(xiǎn)的情形,且不需要排出圖形處理單元84的全部圖形引擎流水線。如非限定范例,關(guān)于圖形處理單元84兩組件(可為圖2的任意模塊103、104和105)之間的內(nèi)部同步完成,驅(qū)動(dòng)程序可傳送內(nèi)部的圍籬或令牌(token)(如為限定范例,可為指令的一種)至塊(block)或是模塊,其需要等待到完成圖形流水線那部分的處理之前,得到圖形流水線的另一部份的指令,其中圍籬或標(biāo)記如本領(lǐng)域普通技術(shù)人員所知具有一特定值。如同圖形處理單元84兩組件的切換,從第一組件(例如模塊103)全部寫入至圖形處理單元84中圖形流水線的存儲(chǔ)器組件的動(dòng)作應(yīng)該在第二組件(例如模塊105)為了隨后的運(yùn)算開始從圖形處理單元84的存儲(chǔ)器組件讀出的動(dòng)作之前完成。在這種情況中,由圖形處理單元84執(zhí)行的驅(qū)動(dòng)程序應(yīng)該接在最后的目標(biāo)之后,例如三角(triangle),其使用有內(nèi)部圍籬或標(biāo)記的第一組件(模塊103)指示到第二組件(模塊105)。隨著使用第二組件的下一個(gè)三角,步驟可接著繼續(xù)進(jìn)行下去,其可在非限定范例模塊105中與等候指令被執(zhí)行。為了執(zhí)行內(nèi)部圍籬以及等待同步處理,在圖形處理單元84中具有一些寄存器對(registerpair)112、113的存儲(chǔ)器存取單元(memoryaccessunit,MXU)110可以被執(zhí)行。為了流水線塊的任何對的同步可連接到存儲(chǔ)器存取單元110(例如模塊103-105),存儲(chǔ)器存取單元110的寄存器對112、113可被指定。因此,內(nèi)部圍籬以及等待指令可指定地址及包含在內(nèi)的數(shù)據(jù),其中內(nèi)部圍籬以及等待指令可由模塊103、104及105啟動(dòng)。為了這個(gè)目的,存儲(chǔ)器存取單元110可保留寄存器對112、113,而不是經(jīng)由存儲(chǔ)器存取單元110寫入數(shù)據(jù)至存儲(chǔ)器當(dāng)作內(nèi)部圍籬。在至少一個(gè)為限定范例中,寄存器對(即寄存器的內(nèi)部圍籬/等待對和比較邏輯單元)112、113可以是32對的64位內(nèi)部寄存器,其可用來更新及比較,可取代成實(shí)際儲(chǔ)存數(shù)據(jù)。實(shí)質(zhì)上,一個(gè)或多個(gè)模塊103、104及105可被配置為寫入至特定寄存器對112的指定第一部份。此外,另一模塊可被配置為寫入至相同的寄存器對112,因此導(dǎo)致儲(chǔ)存在特定寄存器對第一部份的值之間的比較。根據(jù)包含在兩時(shí)間獨(dú)立的寫入運(yùn)算的信息是否相同或是不同,存儲(chǔ)器存取單元110可能或是不可能認(rèn)可協(xié)調(diào)第二企圖寫入命令的模塊。假如來自第二模塊的第二寫入指令不被認(rèn)可,其結(jié)果可能為第二模塊被其它運(yùn)算中斷,并且繼續(xù)在寫入嘗試中循環(huán)。圖3和圖4是顯示執(zhí)行的步驟流程圖,為了內(nèi)部同步圖形處理單元84的模塊103-105,在圖2中存儲(chǔ)器存取單元110的幫助下,可以實(shí)現(xiàn)圖形處理單元84。本領(lǐng)域普通技術(shù)人員將容易地得知圖3和圖4所描述的步驟,可被配置成軟件或是硬件邏輯單元。上述邏輯單元可包括程控以及目標(biāo),其程控利用來自既定主張的程序(procedure)的圖案導(dǎo)引調(diào)用(pattern-directedinvocation),例如圖3和圖4所顯示并于此所包含以及討論的。在第一步驟122中,圖形處理單元84的驅(qū)動(dòng)程序可發(fā)送內(nèi)部圍籬標(biāo)記(命令)至指定的模塊,例如圖2的模塊103-105中的一個(gè),其模塊位于圖形處理單元84的圖形處理單元流水線中。內(nèi)部圍籬標(biāo)記可跟隨表面處理的最后繪圖指令,其意味著跟隨繪圖命令的另一群組可以經(jīng)由存儲(chǔ)器存取單元110存取同樣的表面。內(nèi)部圍籬標(biāo)記可被指定在塊標(biāo)識符中(BLOCKID),塊標(biāo)識符為內(nèi)部圍籬標(biāo)記的報(bào)頭(header)部分。內(nèi)部圍籬標(biāo)記的形式可被組織如下以下將更詳細(xì)地討論等待的動(dòng)作,而為了內(nèi)部圍籬以及等待兩者,內(nèi)部同步運(yùn)算碼可以被使用。在圖形處理單元84中,內(nèi)部圍籬應(yīng)該在相對應(yīng)的內(nèi)部等候之前被釋放,以避免中斷結(jié)果。不過,在至少一個(gè)非限定范例中,內(nèi)部同步指令可以包括下面形式DW[0]運(yùn)算碼位[0]EXT外部圍籬(用于指令流處理器101)0=同步為內(nèi)部的以及使用存儲(chǔ)器存取單元要求的內(nèi)部形式1=指令為外部圍籬以及使用存儲(chǔ)器存取單元要求的標(biāo)準(zhǔn)形式位[9-1]圍籬標(biāo)識符(用于指令流處理器101)這些位是為以及可能沒有具體的意義。這些位被建議(但不是限制)由驅(qū)動(dòng)程序所使用,以識別注冊在事件歷史緩沖器的指令流處理器101的外部圍籬。位[14-10]塊標(biāo)識符模塊的塊辨識應(yīng)該在收到標(biāo)記之后將數(shù)據(jù)寫出。位[15]INT中斷需要(用于指令流處理器101)0=在處理圍籬時(shí)不傳送中斷1=傳送中斷至中央處理器位[17-16]翻轉(zhuǎn)判斷后端圍籬是否該儲(chǔ)存在翻轉(zhuǎn)隊(duì)列(FlipQueue)位[22]FE前端(用于指令流處理器101)0=同步被執(zhí)行在指定塊或指令流處理器101后端。1=同步被執(zhí)行在指令流處理器101前端時(shí),塊辨識被忽略。位[23]Pri特權(quán)(用于指令流處理器101)0=同步非特權(quán)。1=同步為特權(quán)。位[25-24]DWF=11(圍籬/等待地址以及64位圍籬數(shù)據(jù))如前文所提出的32位內(nèi)部圍籬或等待標(biāo)記運(yùn)算碼,其對應(yīng)于圖3中步驟122及124,可由32位地址所采用。內(nèi)部同步指令的地址部分或DW[1],可表示如下DW1地址[31:0](地址存儲(chǔ)器存取單元圍籬/等待)位[5-0]此地址可能為32字節(jié)長,所以位5:0為“0”。在非限定范例中,當(dāng)位6被設(shè)為“0”時(shí),位6可指定圍籬;當(dāng)位6被設(shè)為“1”時(shí),位6可指定為等待。位[6]WT等待/圍籬0=此數(shù)據(jù)為圍籬數(shù)據(jù),存儲(chǔ)器存取單元110應(yīng)該只儲(chǔ)存此數(shù)據(jù)在適當(dāng)?shù)膰h寄存器。1=此數(shù)據(jù)為等待數(shù)據(jù),存儲(chǔ)器存取單元110應(yīng)該檢查內(nèi)容以及維持認(rèn)可直到此數(shù)據(jù)被確定。位[11-7]SEL用以選擇32對存儲(chǔ)器存取單元110內(nèi)部圍籬/等待寄存器中的一個(gè)。位[31-12]用于存儲(chǔ)器存取單元110圍籬寄存器范圍所保留的地址,其應(yīng)該與被程序設(shè)計(jì)在相對應(yīng)“圍籬寄存器地址”寄存器內(nèi)的值相同,例如MXU_INT_SYNC_ADDR寄存器。位[31:12]應(yīng)該符合被指示在指定同步塊地址范圍寄存器的地址,例如MXU_INT_SYNC_ADDR寄存器,如非限定范圍之外。假如這些位符合此范圍,其可指示到存儲(chǔ)器存取單元110特殊的寫入周期。然而,假如在位[31:12]的地址沒有符合所指定的地址(定義在MXU_INT_SYNC_ADDR寄存器的范圍),可能執(zhí)行一個(gè)真正或標(biāo)準(zhǔn)的至存儲(chǔ)器的寫入動(dòng)作。最后,當(dāng)模塊103-105傳送前文所描述的地址給存儲(chǔ)器存取單元110時(shí),與圍籬/等待指令有關(guān)的數(shù)據(jù)可在分散邏輯字節(jié)被傳送,例如DW[2]和DW[3]。DW[2]可包含對應(yīng)于位[31:0]的數(shù)據(jù),其包含64位中的32-LSB數(shù)據(jù)。同樣地,DW[3]可包含對應(yīng)于位[63:32]的數(shù)據(jù),其包含64位中的32-MSB數(shù)據(jù)?;氐綀D2中,驅(qū)動(dòng)程序產(chǎn)生指令流到模塊103-105的第二指定模塊,其指令流由圖形處理單元84在數(shù)個(gè)其它指令之后執(zhí)行,其指令流亦可包含內(nèi)部等待標(biāo)記(其中圖形處理單元84也可能有多過三個(gè)或少過三個(gè)的接收)。內(nèi)部等待標(biāo)記可以被建構(gòu)成前文所描述的格式。相同地,如同前文所描述以及描述在圖3中的步驟124,指定模塊103-105根據(jù)在報(bào)頭的塊標(biāo)識符指令接收內(nèi)部等待標(biāo)記。如前文所描述,內(nèi)部圍籬和等待標(biāo)記在步驟122及124中傳送,以及內(nèi)部圍籬和等待標(biāo)記被各自接收模塊103-105依序接收以及執(zhí)行,如步驟126所顯示。在至少一個(gè)非限定范例中,與標(biāo)記對有關(guān)的數(shù)據(jù)值是相同的。之后,在步驟128,接收模塊執(zhí)行寫入周期運(yùn)算至存儲(chǔ)器存取單元110,其中接收模塊至少為圖2中模塊103-105的兩模塊。步驟128中的寫入運(yùn)算包括傳送地址與64位數(shù)據(jù)至存儲(chǔ)器存取單元110。之后,在步驟130,存儲(chǔ)器存取單元110檢測寫入周期的地址。當(dāng)寫入周期的地址如前文所描述在有關(guān)圍籬/等待處理的指定范圍內(nèi)時(shí),存儲(chǔ)器存取單元110承認(rèn)此地址。更具體地,為了圍籬/等待處理,寫入周期的地址可指定存儲(chǔ)器存取單元110內(nèi)一些既定寄存器中的一個(gè)。之后,存儲(chǔ)器存取單元110可檢測來自模塊103-105的寫入周期運(yùn)算的最小指定地址位。通過檢查最小指定地址位,存儲(chǔ)器存取單元110可判斷該指令是否為內(nèi)部圍籬指令或是內(nèi)部等待指令,其中最小指定地址位為前文所描述在非限定范例的位6。通過寫入周期運(yùn)算,存儲(chǔ)器存取單元110亦可檢查在實(shí)施例中緊接在后的5位,以決定32對的內(nèi)部位數(shù)據(jù)寄存器對112中的哪一對被尋址。在步驟132,存儲(chǔ)器存取單元110判斷接收指令是否為內(nèi)部圍籬指令或是內(nèi)部等待指令。假如存儲(chǔ)器存取單元110承認(rèn)接收指令為內(nèi)部圍籬指令,則存儲(chǔ)器存取單元110可復(fù)制64位數(shù)據(jù)到對應(yīng)于存儲(chǔ)器存取單元110中尋址寄存器112的圍籬寄存器。具體而言,內(nèi)部圍籬指令可指定圍籬寄存器用以寫入與內(nèi)部圍籬指令有關(guān)的數(shù)據(jù),其后由存儲(chǔ)器存取單元110執(zhí)行。此步驟顯示在第3圖的步驟134。之后,在步驟136,為了與內(nèi)部圍籬指令有關(guān)的數(shù)據(jù)被寫入到寄存器對112(或113)之一的尋址圍籬寄存器,存儲(chǔ)器存取單元110寄存器對112準(zhǔn)備好去接收有關(guān)先前接收圍籬指令的內(nèi)部等待指令。如前文所描述,在步驟124以及128,圖形處理單元84的模塊103-105中的一個(gè)模塊接收步驟122中由驅(qū)動(dòng)程序所管理的內(nèi)部同步指令。因此,接受器模塊103-105執(zhí)行寫入周期至存儲(chǔ)器存取單元110以及傳送地址和相關(guān)的64位數(shù)據(jù),如前文所描述的步驟128,其中接受模塊103-105接收內(nèi)部同步指令當(dāng)作等待指令(由步驟124)。因此延續(xù)到圖4,過程120顯示在步驟138中,當(dāng)來自傳送模塊的等待指令在存儲(chǔ)器存取單元110被接收,存儲(chǔ)器存取單元110執(zhí)行64位等待寄存器數(shù)據(jù)與圍籬寄存器數(shù)據(jù)的比較,其中64位等待寄存器數(shù)據(jù)與內(nèi)部等待指令有關(guān),以及圍籬寄存器數(shù)據(jù)為如前文所描述的寄存器對112中的一個(gè)的尋址圍籬寄存器的數(shù)據(jù)。換句話說,在存儲(chǔ)器存取單元110的接收內(nèi)部,等待指令指定其地址為寄存器對112之一,其將與先前描述的圍籬指令一樣。接著,就相同寄存器對112而言,將等待指令的64位數(shù)據(jù)與圍籬指令有關(guān)的64位數(shù)據(jù)相比較,其中與圍籬指令有關(guān)的64位數(shù)據(jù)預(yù)先寫入到相對應(yīng)的尋址圍籬寄存器中。步驟140描寫圍籬寄存器數(shù)據(jù)以及等待寄存器數(shù)據(jù)的比較過程。如前文所描述,比較過程亦可被配置和/或?qū)崿F(xiàn)為比較邏輯單元,其如非限定范例可為軟件、硬件、固件等等。然而,在步驟140中,就相同指定寄存器對112(或113)而言,與圍籬寄存器有關(guān)的數(shù)據(jù)值是否大于或是等于與隨后接收的等待寄存器數(shù)據(jù)有關(guān)的數(shù)據(jù)值的判斷被決定。假如步驟140的結(jié)果為否定,就指定寄存器對112而言,即與圍籬寄存器有關(guān)的數(shù)據(jù)值沒有大于或是等于與等待寄存器(或是計(jì)數(shù)器)所尋址到相同寄存器對112有關(guān)的相對應(yīng)的數(shù)據(jù)值,接著存儲(chǔ)器存取單元110前進(jìn)到步驟142。步驟142中,其可配置成寄存器邏輯單元設(shè)定,指定(尋址)寄存器對112(或113)的等待寄存器被更新,且設(shè)定等待擱置位,如非限定范例為“是(TRUE)”,以便記錄等待正在進(jìn)行中。來自步驟128的接收寫入周期運(yùn)算不被存儲(chǔ)器存取單元110認(rèn)可,因此停止傳送模塊,其傳送模塊可能為模塊103-105中的一個(gè)模塊(模塊可有更多個(gè))。因此,在步驟142之后,存儲(chǔ)器存取單元110回復(fù)到正常運(yùn)算,等候指定寄存器對112隨后的等待指令的接收。假如步驟140的結(jié)果被存儲(chǔ)器存取單元110承認(rèn)與指定寄存器對112的等待寄存器有關(guān)的數(shù)據(jù)值大于或是等于與指定寄存器對112的相對應(yīng)的圍籬寄存器的數(shù)據(jù)時(shí),存儲(chǔ)器存取單元110由步驟140移動(dòng)到步驟144。在步驟144中,存儲(chǔ)器存取單元110認(rèn)可來自模塊的寫入指令,該模塊傳送內(nèi)部等待指令至存儲(chǔ)器存取單元110。因此來自存儲(chǔ)器存取單元110與等待認(rèn)可有關(guān)的停頓釋放了該模塊。更具體地,步驟146接在模塊被釋放以及模塊沒有被停止之后,以便可繼續(xù)與圖形運(yùn)算有關(guān)的數(shù)據(jù)處理。因此,如前文所描述,等待模塊(例如模塊103)無法運(yùn)作直到完成另一模塊(例如模塊105),其中等待模塊可接著執(zhí)行運(yùn)算由另一模塊事先產(chǎn)生的數(shù)據(jù)。根據(jù)來自等待模塊(模塊103)對寫入周期運(yùn)算的不認(rèn)可,存儲(chǔ)器存取單元110可因此中斷等待模塊(模塊103)。在指令流中,有相同值的圍籬指令通常領(lǐng)先等待指令。在圖形處理單元84的流水線中,圍籬指令一般可被傳送到位于流水線深處的模塊,或在流水線相同階段內(nèi)被傳送到如等待指令所指示的模塊。當(dāng)中斷等待運(yùn)算時(shí),此結(jié)構(gòu)協(xié)助去避免流水線的死鎖。否則,流水線模塊可能會(huì)阻礙圍籬指令的傳播,其中圍籬指令的傳播帶有相同或是更大的值至指定流水線單元,阻礙圍籬指令的傳播在其它方面會(huì)導(dǎo)致圍籬指令無法到達(dá)存儲(chǔ)器存取單元110。當(dāng)由尋址寄存器對112送來的等待值大于或是等于尋址寄存器對112的圍籬數(shù)據(jù)寄存器的值時(shí),存儲(chǔ)器存取單元110可能認(rèn)可模塊103傳送等待指令,以便釋放模塊103,如步驟144和146所顯示。因?yàn)閮?nèi)部圍籬以及內(nèi)部等待指令可被傳送到不同的流水線階段,例如模塊103和105,所以兩指令可分別地先到達(dá)存儲(chǔ)器存取單元110。因此,不論哪一個(gè)指令被先接收,存儲(chǔ)器存取單元110可被配置以便管理任何一個(gè)指令,且沒有中斷在任一情況中連續(xù)的指令。如非限定范例,假如內(nèi)部圍籬指令先到達(dá)存儲(chǔ)器存取單元110,以及,如非限定范例,指定64位值0xFF至圍籬寄存器0,存儲(chǔ)器存取單元110可復(fù)制數(shù)據(jù)值0xFF至尋址64位圍籬寄存器。然后,存儲(chǔ)器存取單元110可檢查寄存器對(在等待寄存器或等待擱置計(jì)數(shù)器等等)是否有等待指令被擱置。在此非限定范例中,沒有等待指令被擱置,因?yàn)樵诖朔独袊h指定先到達(dá)。可是,假如等待指令被擱置,則存儲(chǔ)器存取單元110可能與等待寄存器值執(zhí)行如前文描述關(guān)于步驟140的比較運(yùn)算。然后,當(dāng)圍籬值等于或是大于與等待寄存器有關(guān)的值時(shí),存儲(chǔ)器存取單元110釋放該等待。之后,由模塊103所接收的內(nèi)部等待同步指令可以寫入至存儲(chǔ)器存取單元110。與來自模塊103的等待指令有關(guān)的數(shù)據(jù)值可為0xFF,如前文所描述,為了相對應(yīng)的圍籬同步指令能傳送到模塊105,因此與來自模塊103的等待指令有關(guān)的數(shù)據(jù)值被精心安排。存儲(chǔ)器存取單元110可認(rèn)可內(nèi)部等待指令,且接著執(zhí)行前文所描述的比較,存儲(chǔ)器存取單元110執(zhí)行與尋址寄存器對112的相對應(yīng)的圍籬寄存器值的比較。如前文所描述,圍籬寄存器值為0xFF。比較運(yùn)算(圖4中步驟140)可導(dǎo)致“同意”的結(jié)果,如此,來自模塊103的寫入需求被存儲(chǔ)器存取單元110認(rèn)可。結(jié)果,模塊103被釋放去執(zhí)行其它運(yùn)算且沒有被中斷。在另一非限定范例中,來自模塊103的內(nèi)部等待指令可先到達(dá)存儲(chǔ)器存取單元110。換句話說,與等待指令有關(guān)的64位數(shù)據(jù)值為0xFF,其中等待指令由模塊103接收。存儲(chǔ)器存取單元110可接收內(nèi)部等待指令以及數(shù)據(jù)值,且執(zhí)行與相對應(yīng)圍籬寄存器的值的比較,如前文所描述與尋址寄存器對112有關(guān)。因此,執(zhí)行第4圖所示的步驟138及140,由于來自模塊105的對應(yīng)的內(nèi)部圍籬指令值還未到達(dá),所以存儲(chǔ)器存取單元110可發(fā)現(xiàn)尋址寄存器對112的圍籬寄存器的數(shù)據(jù)值為0xFE(數(shù)據(jù)值0xFE與來自先前圍籬/等待運(yùn)算有關(guān))。如步驟140所顯示,比較的結(jié)果為否定的結(jié)果。因此,存儲(chǔ)器存取單元110可儲(chǔ)存0xFF值至尋址寄存器對112(或113)的等待數(shù)據(jù)寄存器,其中0xFF值與從模塊103接收的內(nèi)部等待指令有關(guān)。此外,存儲(chǔ)器存取單元110可設(shè)定等待擱置位(在等待擱置計(jì)數(shù)器中,如非限定范例)為“是”邏輯值,如前文所描述與圖4的步驟142有關(guān)。而且,存儲(chǔ)器存取單元110將不認(rèn)可來自模塊103的步驟128中的寫入周期運(yùn)算。因此從執(zhí)行中的其它運(yùn)算中斷模塊103。后來,來自模塊105的內(nèi)部圍籬值可到達(dá)存儲(chǔ)器存取單元110,其尋址到適當(dāng)?shù)募拇嫫鲗?12。之后,存儲(chǔ)器存取單元110可認(rèn)可與接收內(nèi)部圍籬指令有關(guān)的數(shù)據(jù)值為0xFF。因此,存儲(chǔ)器存取單元110可更新對應(yīng)于尋址寄存器對112的圍籬寄存器。由于圖4的步驟142所述的等待擱置位可預(yù)先設(shè)定,之后存儲(chǔ)器存取單元110可執(zhí)行圖4的步驟140中的比較,即存儲(chǔ)器存取單元110執(zhí)行與接收內(nèi)部圍籬指令有關(guān)的數(shù)據(jù)值與相同尋址寄存器對112的等待寄存器值的比較。在非限定范例中,指定寄存器對112中每個(gè)圍籬以及等待寄存器的比較結(jié)果可以相等,以便存儲(chǔ)器存取單元110認(rèn)可來自模塊103的寫入運(yùn)算。在接收來自存儲(chǔ)器存取單元110的認(rèn)可之后,模塊103被釋放以執(zhí)行下一個(gè)運(yùn)算。在非限定范例中,由存儲(chǔ)器存取單元110在步驟140執(zhí)行的比較運(yùn)算可被配置成“大于或等于”的比較。由于驅(qū)動(dòng)程序可設(shè)定與每個(gè)內(nèi)部圍籬以及等待指令有關(guān)的數(shù)據(jù)值為相等的,所以“大于或等于”的比較可以被精心安排。根據(jù)各個(gè)獨(dú)立連續(xù)的事件,此結(jié)構(gòu)所依據(jù)的概念為驅(qū)動(dòng)程序被配置以設(shè)定相同值給內(nèi)部圍籬指令以及相對應(yīng)的內(nèi)部等待指令。然而,本領(lǐng)域普通技術(shù)人員將察覺到此結(jié)構(gòu)可提供的情況,其中因?yàn)橐恍┰颍瑳]有得到的圍籬數(shù)據(jù)值被傳送到存儲(chǔ)器存取單元110,但是其中有較大值的較晚的圍籬數(shù)據(jù)不知怎么的被傳送到存儲(chǔ)器存取單元110。上述狀況仍釋放等待模塊以及情況,其中存儲(chǔ)器存取單元110在接收圍籬值及等待值之間承認(rèn)一個(gè)錯(cuò)誤。因此,本發(fā)明所描述的結(jié)構(gòu)可避免不受歡迎的結(jié)果,使得除了必要的用以恢復(fù)的運(yùn)算之外,圖形處理單元84的圖形流水線中沒有模塊需要等待過久。如另一實(shí)施例,前文所描述的內(nèi)部圍籬以及等待同步方法可以不只一個(gè)圖形處理單元的結(jié)構(gòu)被執(zhí)行。取代在單一流水線中所產(chǎn)生的圍籬標(biāo)記以及等待標(biāo)記,上述標(biāo)記可作為替代而被產(chǎn)生,并可在具有相同效果的多個(gè)圖形處理單元之間被傳送。圖5是顯示方法150的圖標(biāo),其顯示不同的圖形處理單元151、152被配置以執(zhí)行上述圍籬以及等待同步程序。如非限定范例,圖形處理單元151可被配置以表現(xiàn)奇數(shù)群的像素(pixel),而圖形處理單元152可被配置以表現(xiàn)偶數(shù)群的像素。圖形處理單元151及152兩者經(jīng)由存儲(chǔ)器存取單元通過在存儲(chǔ)器存取單元內(nèi)特定表的建立,可直接讀取另一圖形處理單元的幀緩沖器(framebuffer)。如非限定范例,在圖5中,圖形處理單元152可使用由圖形處理單元151描繪的表面當(dāng)作結(jié)構(gòu),用以描繪另一原始群組。圖形處理單元152無法從存儲(chǔ)器讀取表面,直到圖形處理單元151完成描繪并傳送適當(dāng)圍籬A同步指令153。根據(jù)既定地址范圍內(nèi)的特定地址,在圖形處理單元151被執(zhí)行的上下文可導(dǎo)致圍籬A指令153被傳送到圖形處理單元151的存儲(chǔ)器存取單元154。圍籬指令與其相關(guān)數(shù)據(jù)被尋址到圍籬/等待寄存器對156中的一個(gè)。有關(guān)影像繪圖,存儲(chǔ)器165、166、167以及168可為個(gè)別的存儲(chǔ)器空間。即存儲(chǔ)器165-168可為圍籬/等待寄存器對或同步寄存器塊,其包括32對。圖形處理單元151以及圖形處理單元152兩者可在存儲(chǔ)器中有上述地址空間165-168。然而,實(shí)際的數(shù)據(jù)可各自被儲(chǔ)存在同步寄存器塊156、162中。當(dāng)圖形處理單元151執(zhí)行圍籬A同步指令153時(shí),此指令的地址不是在空間166范圍(地址范圍0)而是在空間168范圍(地址范圍1)內(nèi)。在此非限定范例中,存儲(chǔ)器存取單元154沒有寫入圍籬A同步指令153數(shù)據(jù)至塊156,但卻發(fā)送該數(shù)據(jù),因?yàn)閲hA同步指令153的數(shù)據(jù)不是與圖形處理單元151有關(guān)的內(nèi)部圍籬。圍籬A同步指令153可經(jīng)由系統(tǒng)接口以及總線接口單元(businterfaceunit,BIU)到達(dá)存儲(chǔ)器存取單元163,并被寫入寄存器決162。等待A同步指令170為圖形處理單元152的內(nèi)部等待指令,并且為了圖形處理單元151及圖形處理單元152的同步,等待A同步指令170被尋址到相同的寄存器對。因此,在接收圍籬A同步指令153之后,存儲(chǔ)器存取單元154通過圖形處理單元151及圖形處理單元152的總線接口單元與存儲(chǔ)器存取單元163通信。如前文所描述,圍籬指令被寫入至圖形處理單元152的圍籬寄存器。接著,在圖形處理單元152處理流程中的等待A同步指令170可被傳送到存儲(chǔ)器存取單元163的圍籬/等待寄存器162。因?yàn)閲hA同步指令153已被存儲(chǔ)器存取單元163事先接收,所以存儲(chǔ)器存取單元163之后在與圍籬A同步指令153以及等待A同步指令170有關(guān)的數(shù)據(jù)之間執(zhí)行比較運(yùn)算。假如與圍籬A同步指令153有關(guān)的數(shù)據(jù)(從圖形處理單元151所傳送)大于或是等于與等待A同步指令170有關(guān)的數(shù)據(jù),則圍籬/等待寄存器162導(dǎo)致存儲(chǔ)器存取單元163去釋放在圖形處理單元152中的模塊,其模塊傳送等待A同步指令170至存儲(chǔ)器存取單元163。如此,就這樣,圖形處理單元151以及圖形處理單元152能在多個(gè)圖形處理單元中執(zhí)行上述圍籬以及等待同步程序。本發(fā)明雖以較佳實(shí)施例以及非限定范例揭露如上,然其并非用以限定本發(fā)明的范圍,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求書所界定者為準(zhǔn)。權(quán)利要求1.一種同步方法,適用于圖形處理單元的圖形流水線,包括步驟傳送來自第一圖形流水線模塊的圍籬指令至指定圖形處理單元流水線模塊的尋址寄存器;傳送來自第二圖形流水線模塊的等待指令至上述指定圖形處理單元流水線模塊的上述尋址寄存器;比較上述指定圖形處理單元流水線模塊的上述尋址寄存器的數(shù)據(jù)以及與上述等待指令有關(guān)的數(shù)據(jù);以及當(dāng)上述指定圖形處理單元流水線模塊的上述尋址寄存器的數(shù)據(jù)值等于或是大于與上述等待指令有關(guān)的數(shù)據(jù)值時(shí),響應(yīng)傳送來自上述第二圖形流水線模塊的上述等待指令。2.如權(quán)利要求1所述的同步方法,更包括當(dāng)上述指定圖形處理單元流水線模塊的上述尋址寄存器的數(shù)據(jù)值小于與上述等待指令有關(guān)的數(shù)據(jù)值時(shí),不響應(yīng)傳送來自上述第二圖形流水線模塊的上述等待指令。3.如權(quán)利要求1所述的同步方法,還包括更新等待擱置計(jì)數(shù)器為指定指示,上述指定指示對應(yīng)于進(jìn)行中的上述第二圖形流水線模塊的停頓。4.如權(quán)利要求1所述的同步方法,還包括驅(qū)動(dòng)上述圖形處理單元的特定組件以傳送圍籬標(biāo)記至上述第一圖形流水線模塊;以及驅(qū)動(dòng)上述圖形處理單元的上述特定組件以傳送等待標(biāo)記至上述第二圖形流水線模塊,其中,各上述圍籬標(biāo)記以及上述等待標(biāo)記內(nèi)所包含的部分?jǐn)?shù)據(jù)至少是相同的。5.如權(quán)利要求1所述的同步方法,還包括檢測來自上述第一圖形流水線模塊或第二圖形流水線模塊的之一的接收指令的地址部分;判斷上述地址部分是否指定位于既定范圍內(nèi)的地址;以及判斷來自上述第一圖形流水線模塊或第二圖形流水線模塊之一的上述接收指令是否為上述圍籬指令或是上述等待指令。6.如權(quán)利要求5所述的同步方法,還包括根據(jù)上述接收指令的指定部分尋址上述指定圖形處理單元流水線模塊的既定數(shù)目的寄存器中的一個(gè),其中上述接收指令用以標(biāo)識上述既定數(shù)目的上述寄存器中的一個(gè)。7.如權(quán)利要求1所述的同步方法,其中,上述響應(yīng)傳送來自上述第二圖形流水線模塊的上述等待指令為釋放上述第二圖形流水線模塊以處理緊接在后的指令運(yùn)算。8.一種同步方法,適用于根據(jù)寄存器對來同步圖形處理單元的組件,包括接收來自第一圖形處理單元模塊的圍籬指令,其中上述第一圖形處理單元模塊尋址到同步寄存器塊的既定寄存器對;放置上述圍籬指令內(nèi)的數(shù)據(jù)值至上述既定寄存器對的圍籬寄存器;接收來自第二圖形處理單元模塊的等待指令,其中上述第二圖形處理單元模塊尋址到上述同步寄存器塊的上述既定寄存器對;比較上述圍籬寄存器的數(shù)據(jù)值以及與上述等待指令有關(guān)的數(shù)據(jù)值;以及當(dāng)上述圍籬寄存器的數(shù)據(jù)值小于與上述等待指令有關(guān)的數(shù)據(jù)值時(shí),停止上述第二圖形處理單元模塊。9.如權(quán)利要求8所述的同步方法,還包括當(dāng)上述圍籬寄存器內(nèi)的數(shù)據(jù)值大于或等于與上述等待指令有關(guān)的數(shù)據(jù)值時(shí),認(rèn)可來自上述第二圖形處理單元模塊的上述等待指令的接收。10.如權(quán)利要求9所述的同步方法,其中,上述第二圖形處理單元模塊被釋放以執(zhí)行與上述等待指令無關(guān)的后續(xù)運(yùn)算。11.如權(quán)利要求8所述的同步方法,還包括將與上述同步寄存器塊的上述既定寄存器對有關(guān)的等待擱置位設(shè)定為與上述第二圖形處理單元模塊正在進(jìn)行的等待有關(guān)的指定邏輯狀態(tài)。12.如權(quán)利要求11所述的同步方法,其中與上述等待指令有關(guān)的上述數(shù)據(jù)值被放置在上述既定寄存器的等待寄存器對中。13.如權(quán)利要求8所述的同步方法,還包括檢查各接收指令的指定部分,以決定上述接收指令是否為上述等待指令或是上述圍籬指令。14.一種圖形處理單元的圍籬/等待同步組件,適用于內(nèi)部地同步上述圖形處理單元的兩個(gè)以上的模塊,包括多個(gè)寄存器對,上述各寄存器對通過指定地址來識別,并具有圍籬寄存組件以及等待寄存組件;圍籬指令,根據(jù)上述指定地址從第一圖形處理單元模塊傳送至上述寄存器對的特定寄存器對,其中上述圍籬/等待同步組件為了上述指定地址寫入與上述圍籬指令有關(guān)的圍籬數(shù)據(jù)組件至上述圍籬寄存組件;等待指令,具有等待數(shù)據(jù)組件,上述等待數(shù)據(jù)組件由第二圖形處理單元模塊傳送至對應(yīng)于上述特定寄存器對的指定地址;以及比較邏輯單元,由上述圍籬/等待同步組件執(zhí)行,上述圍籬/等待同步組件比較寫入至上述圍籬寄存組件的上述圍籬數(shù)據(jù)組件以及上述等待數(shù)據(jù)組件,當(dāng)上述圍籬寄存組件的上述圍籬數(shù)據(jù)組件大于或是等于上述等待數(shù)據(jù)組件時(shí),上述第二圖形處理單元模塊被認(rèn)可,并為了額外的處理運(yùn)算而被釋放。15.如權(quán)利要求14所述的圍籬/等待同步組件,還包括由上述圍籬/等待同步組件執(zhí)行的寄存器設(shè)定邏輯單元,其中,當(dāng)上述圍籬寄存組件的上述圍籬數(shù)據(jù)組件小于上述等待數(shù)據(jù)組件時(shí),上述圍籬/等待同步組件設(shè)定等待寄存器為等待擱置邏輯狀態(tài)。16.如權(quán)利要求15所述的圍籬/等待同步組件,其中,上述等待數(shù)據(jù)組件被寫入至與上述特定寄存器對有關(guān)的等待寄存組件。17.如權(quán)利要求16所述的圍籬/等待同步組件,其中上述圍籬/等待同步組件為存儲(chǔ)器存取單元。18.如權(quán)利要求14所述的圍籬/等待同步組件,當(dāng)上述圍籬/等待同步組件接收到上述圍籬指令時(shí),上述第一圖形處理單元被認(rèn)可來傳送上述圍籬指令專利摘要一種圖形處理單元流水線,通過傳送來自第一模塊的圍籬指令至尋址同步寄存器對而執(zhí)行同步。圍籬指令相關(guān)數(shù)據(jù)可被儲(chǔ)存在尋址寄存器對的圍籬寄存器。第二模塊傳送等待指令相關(guān)數(shù)據(jù)至尋址寄存器對。等待指令相關(guān)數(shù)據(jù)可與圍籬寄存器的數(shù)據(jù)相比較。當(dāng)圍籬寄存器數(shù)據(jù)大于或是等于等待指令相關(guān)數(shù)據(jù)時(shí),第二模塊被認(rèn)可以傳送等待指令并釋放第二模塊以處理其它圖形運(yùn)算。當(dāng)圍籬寄存器數(shù)據(jù)小于等待指令相關(guān)數(shù)據(jù)時(shí),中斷第二模塊直到后來接收的圍籬指令的數(shù)據(jù)大于或是等于等待指令相關(guān)數(shù)據(jù),而等待指令相關(guān)數(shù)據(jù)可被寫入與尋址寄存器對有關(guān)的等待寄存器。文檔編號G06T1/20GK1991905SQ200610137498公開日2007年7月4日申請日期2006年10月26日發(fā)明者約翰·柏拉勒斯,柏瑞斯·柏克潘克申請人:威盛電子股份有限公司導(dǎo)出引文BiBTeX,EndNote,RefMan
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1