圖形處理裝置及于圖形處理裝置中執行著色操作的方法

            文檔序號:6561848閱讀:297來源:國知局
            專利名稱:圖形處理裝置及于圖形處理裝置中執行著色操作的方法
            技術領域
            本發明是有關于一種計算機繪圖系統,且特別有關于管理圖形著色操作計算的系統及方法。
            背景技術
            如大家所知,三維(“3-D”)計算機圖形的技術是有關3-D對象的二維(“2-D”)圖像的產生或繪制,以顯示或呈現于顯示裝置或屏幕上,例如陰極射線管(CRT)或液晶顯示器(LCD)。該對象可為簡單幾何像素,例如一個點、線段、三角形或多角形。更復雜的對象則可以通過一系列的相連平面多角形繪制于顯示裝置上,舉例來說,例如通過一系列的相連平面三角形以呈現該對象。所有幾何像素最后可根據一頂點或一組頂點被描述,例如坐標(X,Y,Z)定義一個點,例如線段的終點,或多角形的一角。
            為產生數據集以顯示如3-D像素的2-D投影代表于計算機屏幕或其它顯示裝置上,該像素的頂點通過一系列的操作、或圖形繪制管線內的處理層而處理之。一同屬管線僅僅是一系列串接處理單元、或階層,其中前一層的輸出作為隨后層的輸入。圖形處理器的內容中,這些階層包括,例如每一頂點操作、像素組合操作、像素操作、紋理操作、光柵化操作、及片段操作。
            于已知圖形顯示系統中,圖像數據庫(如命令列)可儲存場景中對象的描述。該對象以一些小多角形描述,與覆蓋對象表面類似,能以一些小磚瓦覆蓋一道墻或其它表面。每一多角形被描述以頂點坐標(X,Y,Z于模型坐標系統中)列、一些材料面特性(即顏色、紋理、光澤度等等)的規格、及于每一頂點上至該表面的垂直向量。對具復雜曲線面的3-D對象而言,一般該多角形為三角形或四角形,而之后便能被分解為一對三角形。
            變換引擎變換該對象坐標以反應來自于使用者輸入由使用者所選擇的觀測角度。該使用者另外可指定觀測范圍、欲產生圖像的尺寸、及觀測容量的后端以依照要求包含或消除背景。
            一旦觀測區域被選定,剪輯邏輯電路便消除該觀測區域外的多角形(即三角形),以及“剪輯”部分于觀測區域內而部分于觀測區域外的多角形。這些被剪輯的多角形將與于觀測區域內的部分多角形一致,具有符合觀測區域邊緣的新邊緣。該多角形頂點接著被傳送至下一層于對應于該觀測屏幕(于X,Y坐標)及每一頂點(Z坐標)相關深度的坐標中。于典型系統中,其次應用該明暗模型以考慮光源。接著該多角形及其顏色值被傳送至光柵處理器。
            該光柵處理器決定位于每一多角形中的像素,并且試著寫入相關的顏色值及深度(Z值)至顯示緩沖存儲器。該光柵處理器比較該深度(Z值)與多角形中已經處理過并可能已經被寫入該顯示緩沖存儲器的像素深度。當新多角形像素的深度較小時,表示它在已被寫入該顯示緩沖存儲器的多角形前面,接著以此值取代該顯示緩沖存儲器中的值,因為該新多角形將會遮掩之前被處理及寫入該顯示緩沖存儲器的多角形。重復該步驟直至所有多角形均被光柵化。此時,視頻控制器以光柵次序,每次一掃描線顯示顯示緩沖存儲器的內容于顯示器上。
            與先前技術一致,現在請參考圖1,是顯示于計算機圖形系統中,繪圖管線內的特定元件的功能流程圖。繪圖管線內的元件可于不同系統中變化,并且可以各種方式說明。如一般所知,主機計算機10(或于主機計算機上執行的圖形應用程序接口)可通過命令流處理器12產生命令列。該命令列包括一系列的圖形命令及數據,以繪制圖形顯示器上的“環境”。該繪圖管線內的元件可操作數據及命令于命令列內,以繪制屏幕于圖形顯示器上。
            在此方面,剖析器14可接收來自該命令流處理器12的命令、通過數據剖析以解譯命令、及傳遞定義圖形像素的數據沿(或到)該繪圖管線。在這方面,圖形像素可以位置數據(例如X,Y,Z,及W坐標)、明暗、及紋理信息定義。每一像素的所有消息可通過來自該命令流處理器12的該剖析器14被檢索,以及被傳遞至頂點著色器16。該頂點著色器16可執行不同的轉換于從該命令列所接收的圖形數據上。就此而言,該數據可從世界坐標被轉換至模型視景坐標(Model View coordinates)、投影坐標(Projectioncoordinates)、及最后至屏幕坐標(Screen coordinates)。由于該頂點著色器16所執行的函數處理已為本領域技術人員所熟知,因此不需進一步描述。之后,該圖形數據可被傳遞至該光柵處理器18上,如上述總結操作之。
            爾后,執行Z測試20于像素中的每一像素。于對應像素位置比較目前Z值(即目前像素的特定像素的Z值)與存儲Z值以執行Z測試。于特定像素位置,該存儲Z值提供先前已繪制圖元深度值。當該目前Z值所指示的深度,比起該存儲Z值,更接近觀察角度時,則該目前Z值將取代該存儲Z值,然后目前圖形信息(即顏色)將取代對應的顯示緩沖存儲器像素位置(依該像素著色器22所決定)中的顏色信息。當比起該存儲Z值,該目前Z值并沒有更接近目前視角時,則該顯示緩沖存儲器及Z緩沖存儲器內容均不需被取代,因為之前被繪制的像素將被視為在目前的像素前面。比起之前存儲像素,更接近視角的被繪制及決定的像素像素,其相關于該像素的信息被傳遞至該像素著色器22上,然后于較接近目前視角的像素內,決定每一像素的顏色信息。
            最佳化繪圖管線的性能,可要求與管道低效能的來源有關的信息。于管線中圖形數據的復雜度及大小暗示著管道低效能、延遲及瓶頸,會顯著影響管線的性能。在此方面,識別上述數據流或處理問題的來源是有幫助的。

            發明內容
            本發明是揭露于圖形處理單元的頂點著色器、幾何著色器及像素著色器中,管理或執行資源的動態配置或重新配置的新方法與裝置。本發明的實施例具體地包括多個執行單元,其中每一執行單元以多重線程操作配置。提供邏輯電路接收來自多個著色器層中每一層的要求,以執行與著色器相關的計算,以及排程該多個執行單元中的線程,以執行與被要求著色器相關的計算。該執行單元集區中的線程各自排程以執行與著色器相關的計算,因此特定線程可在時間內被排程,以執行不同著色器層的著色器操作。更進一步,于特定執行單元中,某些線程可被分配至一著色器的任務,而其它線程可同時被分配至另一著色器單元的任務。因為已知系統是利用專屬著色器硬件,并未揭露動態及穩健線程分配。
            本發明提供一種于圖形處理裝置中執行著色操作的方法,包括提供包括多個執行單元的執行單元集區,其中每一執行單元以多重線程操作配置;接收來自多個著色器層的要求,以執行與著色器相關的計算;及排程該執行單元集區中的線程,以執行與該被要求著色器相關的計算;而于特定執行單元的線程中,某些線程可被分配至一著色器的任務,其它線程可同時被分配至另一著色器單元的任務。
            本發明還具體地提供一種圖形處理裝置,包括多個執行單元及排程邏輯電路。其中,每一執行單元以多重線程配置,而該排程邏輯電路,反應來自于多個的著色器層中每層的要求,以執行與著色器相關的計算,而且被配置以排程與著色器相關的計算至該等執行單元之中可用的處理線程。
            本發明更進一步提供一種用于計算圖形操作的方法。該方法包括提供包括多個執行單元的執行單元集區,其中,每一執行單元以多重線程操作配置;從每一頂點著色器、幾何著色器及像素著色器之中,于時間內接受多個計算要求;及分別分配上述的計算要求至該執行單元的可用線程。
            本發明更進一步的目標為提供一種圖形處理裝置,包括多個執行單元;及配置的排程器,其中該排程器于多個多重線程執行單元中配置線程以執行任務。其中該任務包括頂點著色操作、幾何著色操作、及像素著色操作。進一步地,該排程器被配置,從根據效能參數的該等線程中,動態地重新配置任務。
            通過以下圖示及詳細描述的檢視,其它系統、裝置、方法、特征、及優點于此技術中將顯而易見。這一類更多的系統、裝置、方法、特征、及優點均包括于此描述內、均于目前本發明揭露范圍之內、以及均受所附的申請專利范圍所保護。


            圖1是顯示已知的固定功能圖形處理器的部分方塊圖;圖2是顯示與本發明實施例一致的圖形處理器階層或部分方塊圖;圖3是顯示與本發明實施例一致的圖形處理器的處理器環境部分方塊圖;圖4是顯示圖形處理器的計算核心電路的元件方塊圖;圖5是顯示與本發明實施例一致的執行單元集區及排程器方塊圖;圖6是顯示與本發明某些實施例一致的排程器的部分方塊圖;圖7A、7B、7C、7D是共同顯示依據本發明其它實施例的高階操作流程圖;圖8A、8B、8C、8D是共同顯示依據本發明其它實施例的高階操作流程圖;圖9是顯示依據本發明另一實施例的高階功能操作流程圖;圖10是顯示高階功能操作方法的流程圖,用以確定任一著色器層是否為瓶頸;圖11是顯示依據本發明實施例的執行單元中部分單元方塊圖;
            圖12及13是顯示本發明實施例的高階特征圖。
            105~計算核心電路;110~紋理過濾單元;115~像素包裝器; 120~命令流處理器;125~集區控制單元;130~回寫單元;135~紋理地址產生器; 140~三角形設置單元。
            具體實施例方式
            以下將列舉實施例,并配合所附圖示詳細說明。與圖示有關的實施例敘述,非用以限定本發明至該實施例或揭露的實施例。相反地,用以包括所有選擇、修改及等效設計。
            現在參考圖2,是顯示本發明一實施例的部分元件方塊圖。圖2具體地顯示包括管線圖形處理器的主要元件,被配置以執行或完成本發明的實施例。該第一元件被指定為輸入組譯器52,基本上接收或讀取來自于存儲器的頂點,該頂點用于形成幾何圖形,并為管線產生工作項目。就此而言,該輸入組譯器52讀取來自于存儲器的數據并由那些數據產生三角形、線、點、或其它像素并引入管線。一旦組譯該幾何信息后,即傳送至該頂點著色器54。該頂點著色器54通過執行操作,如轉換、掃描、及照明,以處理頂點。之后,該頂點著色器54將數據傳送至該幾何著色器56。該幾何著色器56接收頂點為輸入,并作為完整像素,因此能夠輸出的多個頂點以形成單一拓撲(topology),例如三角形串行、線串行、點串行等。該幾何著色器56可被進一步配置以執行各種算法,例如細分(tessellation)、陰影范圍(shadow volume)產生等。該幾何著色器56接著將信息輸出至光柵處理器58,負責剪輯、像素設置、并決定何時及/或如何引動該像素著色器60。該像素著色器60,為每個由該光柵處理器輸出的像素所含蓋的像素而被引動。如大家所知,該像素著色器60執行內插及其它操作,以共同地決定像素顏色并輸出至顯示緩沖存儲器62。于圖2中,各元件的功能操作為本領域技術人員所熟知,因此不須于此贅述。于此將更進一步說明,本發明用以執行動態排程為目的的系統及方法,及用以執行關于該頂點著色器54、該幾何著色器56及該像素著色器60的操作及任務的分享處理的重復處理架構。因此,該等單元內的特定建置及操作不須于此敘述,以獲得及體會對與本發明的充份理解。
            現在參考圖3,是顯示依據本發明實施例所建構的圖形處理器的示范處理器環境。盡管并沒有顯示圖形處理所需的所有元件,但圖3所顯示的元件足以使本領域技術人員了解此圖形處理器相關的一般功能及架構。該處理環境中心為計算核心電路105,用以處理各種指令。該計算核心電路105為多議題處理器,能于單一時序信號周期之內處理多重指令。
            如圖3所示,該圖形處理器的相關元件包括該計算核心電路105、紋理過濾單元110、像素包裝器115、命令流處理器120、回寫單元130、及紋理地址產生器135。于圖3中亦包括執行單元(EU)集區控制單元125,該單元并包括頂點高速緩存及/或流高速緩存。該計算核心電路105接收來自于各元件的輸入,然后輸出至其它元件。
            舉例而言,如圖3所示,該紋理過濾單元110提供紋理像素數據至該計算核心電路105(輸入A及B)。于某些實施例中,所提供的該紋理像素數據為512位數據,因此符合以下所定義的數據結構。
            該像素包裝器115提供頂點著色器輸入至該計算核心電路105(輸入C及D),亦為512位數據格式。此外,該像素包裝器115向該執行單元集區控制單元125要求像素著色器任務,該執行單元集區控制單元125提供指定執行單元號碼及線程號碼至該像素包裝器115。由于像素包裝器及紋理過濾單元為于本領域技術人員所知,因此省略這些元件的進一步討論。盡管圖3所顯示的像素及紋理像素封包為512位數據封包,須了解該封包的大小隨實施例而改變,是取決于該圖形處理器所須的工作特性。
            該命令流處理器120提供三角形頂點索引至該執行單元集區控制單元125。于圖3的實施例中,該索引為256位。該執行單元集區控制單元125組譯來自命令流高速緩存的頂點著色器輸入,并將數據傳送至該計算核心電路105(輸入E)。該執行單元集區控制單元125亦組譯幾何著色器輸入,并將該輸入提供至該計算核心電路105(輸入F)。該執行單元集區控制單元125亦控制該執行單元輸入235及該執行單元輸出220。換句話說,該執行單元集區控制單元125控制至該計算核心電路105各自的流入及流出。
            經處理之后,該計算核心電路105提供像素著色器輸出(輸出J1及J2)至該回寫單元130。該像素著色器輸出包括紅/綠/藍/透明度(alpha)(RGBA)信息。于此揭露實施例所提供的數據結構中,該像素著色器輸出可被提供為兩組512位數據流。其它位寬度亦可于其它實施例中實現。
            類似于該像素著色器輸出,該計算核心電路105輸出包括UVRQ信息的紋理坐標(輸出K1及K2)至該紋理地址產生器135。該紋理地址產生器135發送紋理要求(T#Req)至該計算核心電路105(輸入X),而該計算核心電路105輸出(輸出W)該紋理數據(T#data)至該紋理地址產生器135。由于該紋理地址產生器135及該回寫單元130的各種范例為本領域技術人員所知,因此省略這些元件的進一步討論。再者,盡管所顯示的UVRQ及RGBA為512位,須了解此參數亦可隨其它實施例而改變。于圖3的實施例中,該總線被分為兩組512位信道,每組信道包含4點像素的128位RGBA顏色值及128位UVRQ紋理坐標。
            該計算核心電路105及該執行單元集區控制單元125亦可將512位的頂點高速緩存溢出數據傳送給彼此。此外,為更進一步處理,兩組512位頂點高速緩存寫入被說明為由該計算核心電路105(輸出M1及M2)到該執行單元集區控制單元125的輸出。
            在敘述對該計算核心電路105的外部數據交換后,將注意轉至圖4,是顯示該計算核心電路105的各種元件方塊圖。如圖4所示,該計算核心電路105包括通過存儲器接口仲裁器245,以耦接一個二階(L2)高速緩存210的存儲器存取單元205。
            該L2高速緩存210接收來自于該執行單元集區控制單元125(圖3)的頂點高速緩存溢出量(輸入G),并將頂點高速緩存溢出量(輸出H)提供至該執行單元集區控制單元125(圖3)。此外,該L2高速緩存210接收來自于該紋理地址產生器135(圖3)的T#要求(輸入X),并將該T#數據(輸出W)提供至該紋理地址產生器135(圖3)以對應該接收的要求。
            該存儲器接口仲裁器245提供控制接口至該區域視頻存儲器(顯示緩沖存儲器)。雖然并未圖標,總線接口單元(BIU),通過如PCI高速總線,以提供接口至該系統。該存儲器接口仲裁器245和總線接口單元提供了在該存儲器與執行單元(EU)集區L2高速緩存210之間的接口。于某些實施例中,該執行單元集區L2高速緩存,通過該存儲器存取單元205,以連接至該存儲器接口仲裁器245及該總線接口單元。該存儲器存取單元205,將來自于該L2高速緩存210及其它區塊的虛擬存儲器地址,轉換至物理存儲器。
            該存儲器接口仲裁器245,為該L2高速緩存210提供存儲器存取(如讀取/寫入存取)以讀取指令/常數/數據/紋理,及直接存儲器存取(如加載/儲存)以指示暫時存取、暫存器溢出量、頂點高速緩存內容溢出量等。
            該計算核心電路105亦包括執行單元集區230,其包括多重執行單元(EUs)240a、…、240h(于此統一稱為240),各自包括執行單元控制及區域存儲器(未圖標)。該等執行單元240的每個各自能于單一時序信號周期之內處理多重指令。因此,該執行單元集區230,能于尖峰時同時處理大量多重線程。這些執行單元240以及其極大的并行處理能力將詳述于下。雖然圖4顯示8個執行單元240,須了解執行單元的數目不必局限于8,于其它實施例中可為較大或較小的數目。
            該計算核心電路105,還包括執行單元輸入235及執行單元輸出220,各自被配置,以提供輸入至該執行單元集區230,及接收來自于該執行單元集區230的輸出。該執行單元輸入235及該執行單元輸出220可為交叉式總線(crossbar)、總線或其它已知輸入機制。
            該執行單元輸入235接收來自于該執行單元集區控制單元125(圖3)的頂點著色器輸入(E)及幾何著色器輸入(F),并將信息提供至該執行單元集區230,以經由各個執行單元240處理。此外,該執行單元輸入235接收該像素著色器輸入(輸入C及D)及該紋理像素封包(輸入A及B),并將那些封包傳送至該執行單元集區230以經由各個執行單元240處理。此外,該執行單元輸入235接收來自于該L2高速緩存210的信息(L2 read),并于需要時將該信息提供至該執行單元集區230。
            于圖4的實施例中,該執行單元輸出被分為偶輸出225a及奇輸出225b。類似于該執行單元輸入235,該執行單元輸出225可為交叉式總線、總線或其它已知架構。該執行單元偶輸出225a處理來自于偶數執行單元240a、240c、240e、240g的輸出,而該執行單元奇輸出225b處理來自于奇數執行單元240b、240d、240f、240h的輸出。此兩個執行單元輸出225a及225b共同接收來自于該執行單元集區230的輸出,例如UVRQ及RGBA。于那些輸出之中,可被指示以回到該L2高速緩存210,或通過J1及J2從該計算核心電路105輸出至該回寫單元130(圖1),或通過K1及K2輸出至該紋理地址產生器135(圖3)。
            在利用本發明的實施例來說明并敘述基本架構元件后,將敘述某些附加及/或選擇性元件及實施例的操作方面。如上綜述,本發明的實施例揭露可增進圖形處理器整體效能的系統及方法。就此而言,圖形處理器的整體效能,與通過該圖形處理器的管線而處理的數據量成比例。如上所述,本發明的實施例利用頂點著色器、幾何著色器、及像素著色器。該操作反而通過執行單元集區301、302、…、304及相同指令組執行,而非分別以不同設計及指令組的著色器單元來實現那些元件的功能。這些執行單元于設計上完全相同,并且可以編程的操作配置。于一較佳實施例中,每一執行單元具多重線程操作的能力,且更具體地能同時管理64個線程的操作。于其它實施例中,可實現不同數量的線程。請參考圖5,是顯示依據本發明一實施例的執行單元集區及排程器方塊圖。當通過頂點著色器(vertex shader)320、幾何著色器(geometry shader)330、及像素著色器(pixel shader)340產生各種著色任務時,將分別被傳送至各自的執行單元(經由接口310及排程器300)以被執行。
            當個別任務產生時,該排程器300將那些任務分配至各種執行單元中可用的線程。當任務完成時,該排程器300更進一步管理相關線程的釋放。通過該排程器300的部分完成此線程執行管理。就此而言,該排程器(scheduler)300的部分負責將頂點著色器、幾何著色器、及像素著色器的任務/線程分配至各種執行單元,且該部分亦執行相關聯的“簿記”(bookkeeping)。該排程器具體地保有全部執行單元的線程及存儲器的資源表372(見圖6)。該排程器300明確地知道哪些線程已經被分配任務并且被占用、哪些線程于線程終止后已經被釋放、多少一般暫存文件存儲器暫存器被占用、及每一執行單元中有多少閑置空間是可利用的。因此,提供邏輯電路374以監控及管理此表的內容。
            因此當任務被分配至執行單元(如302)時,該排程器300將此任務標示為忙碌,并減去總共可用的一般暫存文件存儲器以使每一線程相差適當的暫存文件標記數量。該標記通過該頂點著色器、幾何著色器、及像素著色器的狀態設置或決定。每一著色器層更可具有不同的標記尺寸。舉例來說,頂點著色器線程可能要求10組一般暫存文件暫存器,而像素著色器線程可能只要求5組這樣的暫存器。
            當線程完成被分配的任務時,執行該線程的執行單元傳送適當信號至該排程器300。該排程器300將依次更新它的資源表以標示該線程為閑置,并將總共線程的一般暫存文件空間加回該可用空間。當所有線程為忙碌或全部一般暫存文件存儲器均已被配置(或剩余過少暫存空間而無法容納額外線程),于是該執行單元被認為已滿,該排程器300將不再分配任何額外或新線程至那執行單元。
            亦提供線程控制器(thread controller)(未具體說明)于每一執行單元之內,而此線程控制器負責管理或標示每一線程為有效(如執行中)或為可用。多重線程執行裝置及多重線程執行的管理已為人所知,因此不須于此進一步描述關于個別執行單元的線程執行管理。
            該排程器300可被配置以進行二階的排程,第一階或低階排程及第二階或高階排程。該第一階排程,將頂點著色器、幾何著色器、及像素著色器的任務,分配至各著色器層所指定的該執行單元集區。意即,頂點著色器任務被分配至指定為該頂點著色器層的執行單元集區。此第一階排程為該頂點著色器、幾何著色器、及像素著色器分別執行以選擇特定執行單元及線程以處理任務要求(如被排程的任務)。各種線程的分配可以循環型式(round-robinstyle)處理。例如若將3執行單元分配至該幾何著色器層,于是來自于該幾何著色器的第一任務將被傳送至該第一執行單元的線程,第二任務到該第二執行單元,諸如此類。
            該第二階排程是關于管理執行單元的分配至各著色器層,以便于該頂點著色器、幾何著色器、及像素著色器層中執行有效的加載平衡。
            應當了解的是,于某些實施例中,可執行單一階排程,因此于加載平衡基礎上分別分配任務。于此系統中,所有執行單元皆為可用,以處理來自于任一著色器層的任務。的確,于任一特定時間,每一執行單元可具有線程活動,為每一著色器層執行任務。但應當了解到此一實施例的排程算法,比起有效率的二階排程方法,于實行上更為復雜。
            應當了解到第一及第二階排程的解耦(decoupling)并不表示應用執行單元的配置必須于該第二階(2nd)排程中執行。事實上,可執行精細(finer-grain)加載平衡配置,例如,根據每一線程(如為頂點著色器操作而配置80個線程、為像素著色器操作而配置120個線程等等)。因此,欲分開第一及第二階排程,僅表示加載平衡及任務要求分配處理的決策解耦。于此所提供的敘述,作為說明的目的,并依此基本認識應可理解。
            本發明的某些實施例更具體地指出由該排程器300所執行的第二階排程操作。于一較高階中,該排程器300明確地操作以將各種執行單元302、304、…、306個別配置及分配至該頂點著色器320、幾何著色器330、及像素著色器340之一。該排程器300更進一步被配置以執行加載平衡操作,包括各種執行單元的動態重新分配及重新配置,以作為該頂點著色器320、幾何著色器330、及像素著色器340所須的各自工作量。
            該第二階排程器的一目的為使三個著色器層(頂點著色器(VS)、幾何著色器(GS)、及像素著色器(PS))的加載達到合理的平衡,以讓整個執行單元(EU)集區達到最佳的整體效能。有許多因素影響著該頂點著色器、幾何著色器、及像素著色器的載入,例如頂點著色器、幾何著色器、及像素著色器的每一任務的執行指令數目、指令執行效率、該初始輸入像素對幾何著色器輸出像素比、及像素對像素比,都被三角形的尺寸、三角形的選擇及剔除率等所影響,而這些因素可能經常改變。該執行單元集區的效能,可通過由該頂點著色器、幾何著色器、及像素著色器所輸出的頂點、像素、及像素數目,或通過整體執行單元的使用來測量。當整體執行單元使用率達到最高水準時,該執行單元集區達到最佳效能。整體執行單元使用率,可通過總指令流量(于每一周期內被執行的總指令數),或通過平均執行單元指令發送率(每一執行單元于每一周期內所執行的平均指令數)來測量。
            與本發明的范疇及精神一致,可以利用多種排程計劃。而這樣的計劃可為簡單的嘗試錯誤計劃。更加進步的排程計劃則可具效能預測。對于基本計劃而言,假設初始配置L0。首先,找出瓶頸在哪里(假設著色器層A)。接著選擇最近為瓶頸的一著色器層(例如B層),并且將執行單元由B層切換至A層。這成為配置L1。然后,于時間T之后,測量最終的流出率(或L1的總指令流量)。若L1效能少于(或等于)L0效能,則重復該重新配置以找出另一著色器層并切換之。基本上,加載平衡可被視為設法找出最佳或較佳的執行單元配置。當執行單元由另一層切換至A層時,執行檢查以了解結果是否比L0好。若該結果并非更好,則繼續該流程直到循環完所有其它層為止。當測試完所有其它層并且仍然找不到較佳的配置時,該加載平衡以配置L0結束。當找出較佳配置且新瓶頸發生時(例如A’層),則A’層成為該較佳配置,然后A’層成為需要除去瓶頸的目標層。然而若L1大于L0,則已找到較好的配置。若是這樣的話,則繼續尋找瓶頸在哪里(例如A’層)。
            接著,試圖將該執行單元由其它層切換至A’層,并與前次已知配置的m(m為著色器層的數量)記錄相比較。若符合那些記錄的當中一個,則跳過它直到根據最近瓶頸的規則找出新配置。于一實施例中,試圖將執行單元由另一層切換至A’層,且該新配置符合前次已知記錄之一,則該記錄的流量或流出率信息將用于決策-若比L0好,于此情況下,該實施例將切換至那個配置。然而若是更差的話,則該實施例繼續尋找其它配置。關于切換的決策,與先前段落所敘述是相同的。差別為,它是預先記錄效能信息以做出決策,而不是切換后再于實際情況下測量該效能。
            在上述例子里,該流程起始于配置L0。配置至著色器層A、B、C、…的執行單元數量分別為N_A、N_B、N_C、…(其中N為整數),而A層被確定為瓶頸。例如B為最近瓶頸的著色器層,接著此實施例的流程首先將執行單元由B切換至A(A為目標層)。那時,該配置為L1,著色器層A、B、C、…等分別為N_A+1、N_B-1、N_C、…。若該結果沒有比L0好,則下一個最近瓶頸層為C,然后該流程改為將執行單元由C切換至A(基于L0)。那時,該配置(L2)于是成為N_A+1、N_B、N_C-1、…。而這與將執行單元由C切換至B(基于L1)同樣有效,且在切換至L2之前,并不需要回到L0。因此所有嘗試可根據目前的配置及一次切換執行單元的步驟(或具有相同尺寸的執行單元或者線程的一群組)。切換執行單元,或切換具有相同尺寸的執行單元或者線程的群組,保證每一配置的變化占一個步驟,且該流程可于一步驟中返回每一迭代的原始配置(L0)。
            進一步地,當一新配置被發現比L0好時,結束目標著色器層A的目前迭代。然后該瓶頸的著色器層A’成為新目標且重復該流程。
            應當了解到,于此方法中,本實施例不能直接跳越至已知的最佳配置。的確,從上述解說中,該計劃保證在每一配置變化之間并沒有跳越。相反地,尋找及整合發生在相同流程中。每次該流程將執行單元從一層切換至另一層時,便測量效能以及與此回合較佳配置的結果互相比較,以決定繼續或停止。先前的記錄對于防止不必要的切換是有幫助的。
            對于這樣一個基本計劃,已知最近配置的m筆記錄可與它們的效能數據(最后的流出率或總指令流量)一起儲存。此外,當管線中有一些變化時,重新開始該整合流程,意即著色程序改變、由那些著色層輸入/輸出的比率改變所造成的流程變化等等。
            與本發明的范疇及精神一致,比起上述的基本嘗試錯誤方法,可實現更先進的可預測排程計劃。于此方法下,根據某些已知因素(例如每一著色器層中每一執行單元的最大發送率或指令流量)以計算預計(或預測)效能,并且由此決定是否切換著色器層。
            為進一步說明此高階操作,考慮一圖形處理器的實施例,其具有8個執行單元的集區。作為初始配置,前兩個執行單元可被配置至頂點著色器320,而次兩個執行單元可被配置至幾何著色器330,而最后四個執行單元可被配置至像素著色器340。當通過各種著色器單元產生個別任務時,將那些任務分配至指定執行單元(例如通過第一階排程)的個別(可用)線程。當任務完成后,接著將線程分配至那些被釋放(并且再次變為可用)的任務。一旦執行單元被配置到一特定著色器,該排程器保留該配置,直到該排程器300將該執行單元重新配置至另一著色器。本發明實施例用以有效進行執行單元的動態重新分配及重新配置的系統及方法。
            如上所述,圖形處理器的整體效能,與經由該繪圖管線所處理的數據量成比例。當通過圖形處理器于管線化模式(例如于光柵化之前執行的頂點操作、于像素著色之前所執行的光柵化等等)而處理數據時,該圖形處理器的整體效能被管線中最慢(或最擁塞的)的元件所限制。因此本發明實施例的排程器動態重新分配執行單元以增進該繪圖管線中,頂點著色器、幾何著色器、及像素著色器整體效能。與此目的一致,當這些單元其中之一為瓶頸時,該排程器300,將目前分配至其它著色器單元之一的較不忙碌執行單元,重新分配至現在已擁塞的著色器單元。盡管方法將詳述如下,對于共同處理來自于頂點著色器、幾何著色器、及像素著色器的數據而言,此重新分配可依次以各種策略或實施例達到執行單元的最佳配置。一配置,盡可能達到著色器單元都不為瓶頸的目的(表示就整個圖形處理器而言,繪圖管線中剩下的固定功能部分為瓶頸,表示該執行單元的配置并未導致圖形處理器整體為瓶頸)。
            關于執行單元的動態排程及重新分配,與本發明實施例一致,可以了解到在頂點著色器320、幾何著色器330、及像素著色器340上的相對需求,將隨時間而有所變化,這取決于一些因素,包括像素相對尺寸與像素尺寸的比較、明暗條件、紋理條件等等。對于具有一大像素對像素比率的像素而言,與該頂點著色器320比較,該像素著色器340的操作一般而言將消耗更多資源。同樣地,對于具有一小像素對像素比率的像素而言,與該頂點著色器320比較,該像素著色器340的操作一般而言將消耗較少資源。其它因素可包括頂點著色器、幾何著色器、及像素著色器的程序長度(因為單元可程控),及被執行指令的類型等等。
            在討論具體實施之前,應當理解的是,依照本發明實施例,可以執行各種用以動態重新分配不同執行單元的策略。例如依照本發明的一實施例,可使用嘗試錯誤法。在此實施例中,若特定著色器單元被確認為瓶頸,該系統及方法將測量及記錄管線(或至少此三個著色器層)的整體效能。各種測量及估計整體效能的方法將詳述如下。
            在記錄目前的效能后,該排程器300可將目前分配至兩個不為瓶頸著色器單元其中之一的執行單元,重新分配至目前已擁塞的著色器單元。在重新分配生效后,該系統及方法可隨后采取整體效能測量,以估計該重新配置是否增進或降低整體效能。若整體效能降低,則該排程器取消此重新分配(并從剩下不為瓶頸執行單元之中,隨意地重新分配執行單元)。采取適當的測量保證任務配置不重復,或不會花費過多資源或時間于執行改變執行單元分配的管理任務上,應當了解的是,這一嘗試錯誤法可有效達到執行單元與各種著色器層的最佳配置。
            于其它實施例中,該排程器300可被配置以估算可能的效能增加或減少,而導致執行單元的預測性重新分配。于此實施例中,與其實際執行重新分配再接著測量實際效能增加或減少,不如利用效能預測或估算。這樣的預測估算可以通過考慮種種原因而實現,例如各種執行單元的可用資源(如存儲器空間、線程、可用暫存器等等)。于一實施例中,該預測估算根據指令流量及目前為瓶頸的著色器層而達成,并利用一般暫存文件存儲器及線程使用,以確定該瓶頸著色器層。當這樣的預測或估算被認為是一個可積極增進效能的重新配置時,接著執行該重新配置。應當了解的是,于多數這樣的實施例中,該預測或估算的效能變化具有一些既有的準確性缺點。然而,可以了解到造成不準確估算的缺點少于需要執行重新分配的代價,使得于某些情況下,這樣的實施例為可行的選擇。
            應當了解的是,于某些實施例中,該第二階排程器中有兩種不同的排程配置,該排程器通過排程控制暫存器配置。第一為靜態排程配置,該驅動器靜態地編程該執行單元配置。該驅動器,可根據硬件效能計數器于先前顯示或整批繪圖期間所收集的某些靜態數據,決定如何分配執行單元。第二為動態排程配置,硬件動態地完成執行單元分配。于動態排程配置中,該驅動器要提供初始分配(不然,若無特定,該硬件選擇硬件預設分配并從那里開始),然后傳送命令以通知該硬件于某一情況下重新評估該分配,或強迫分配并且改回至靜態配置。
            應該更進一步地了解到,對各種不同著色器單元的執行單元的初始分配為周期性執行的操作。就此而言,當該圖形處理器進行狀態變動時,各種著色器單元可能完全被重新分配,以于新繪圖狀態下執行操作。例如,對于具不同著色特性的繪制目標的著色特性變動、可能變動的明暗條件、于繪圖場景中可被繪制的新目標、以及其它可能發生的多種事件,而造成該圖形處理器的狀態變化,因此基本上重新開始處理。有各種方法及機制用以通知這樣的一個狀態變化,包括通過軟件驅動器產生信號,該驅動器可被用以發送該執行單元的此批分配至該排程器。
            現在參考圖6,是顯示該排程器300內部某些元件的方塊圖。首先,該排程器300包括能根據既定比例,完成將執行單元的初始分配到各種著色器單元的邏輯電路。于圖形處理器中,此既定比例可為固定,或選擇性地由該軟件驅動器發送至該圖形處理器。
            再者,于某些實施例中,具有兩種配置,且于靜態模式中,該軟件驅動器控制該執行單元分配。于動態模式中,該硬件可根據實時的瓶頸狀態自己決定。該軟件驅動器可根據由硬件效能計數器于先前顯示或整批繪圖期間所收集的某些統計數據做決定。該排程器300還包括邏輯電路360,根據實時效能參數或各個著色器單元所測量的效能,被配置以完成執行單元的動態重新配置。如前所述,若現在并無著色器單元為瓶頸,則目前并不需要執行執行單元的重新分配,因為這樣做并不會增加該圖形處理器的整體效能。因此,該排程器包括邏輯電路362,被配置以確定是否有瓶頸存在于任一著色器單元中。一種方法是檢查或確定每一著色器層中該等執行單元滿的程度。有許多方法可確認這樣的瓶頸。一種方法為確認情況,例如所有線程為忙碌的情況,或所有存儲器被占用的情況。如上所述,于一實施例中,每一執行單元被配置具有32個內部線程以供執行。若該排程器300確定被分配至特定著色器的相關執行單元的所有線程(或大體上所有線程)目前為忙碌,則那個特定著色器單元可被認定全滿。當所有屬于一著色器層的執行單元皆全滿時,則該著色器層被視為全滿。當這一個著色器層已滿而下一管線層并非全滿時,該著色器層被視為瓶頸。同樣地,可用其它資源評估特定著色器單元是否滿了。例如,每一執行單元可具有既定數量的配置存儲器或暫存空間。于利用或消耗某些既定數量的存儲器或暫存空間之后,該排程器300可確認那個別執行單元若已全滿。
            需說明的是,于一實施例中,通過配置于該著色器層的執行單元滿的程度及次一管線層的狀態以確定一著色器層的瓶頸。若所有配置于該著色器層的執行單元已滿且次一管線層(另一著色層或固定功能區塊)的狀態并非全滿時,該著色器層被視為瓶頸。
            該排程器300還包括邏輯電路364用以將執行單元重新分配至不同著色器。應當了解的是,此一重新分配包括需要執行的步驟以停止分配屬于被分配至該執行單元的先前著色器層的任何新任務,并開始為現有的任務/線程排出該執行單元。既然執行單元硬件支持兩組著色器內容,于之前的著色器內容結束前,允許屬于被分配至該執行單元的新著色器層的任務開始進來(這是為預防由于著色器層改變的管線停滯)。例如,假設執行單元1 302及執行單元2 304目前分配至該頂點著色器320。更進一步假設該像素著色器340由該排程器330確定處于瓶頸情況中,且該排程器330更進一步尋找以將執行單元2 304重新分配至該像素著色器340。在把任務從該像素著色器340傳送至最近分配的執行單元之前。或者,該排程器330可停止傳送新任務至執行單元304,然后一旦目前于執行單元304的全部任務已完成進行,則執行單元304可被重新分配至像素著色器340,且可開始分配新任務(前面所提)。
            于一實施例中,該排程器300還包括邏輯電路366用以確定最不忙碌、不為瓶頸的執行單元。于一實施例中利用此邏輯電路366,該排程器300可從其余執行單元中利用或選擇該最不忙碌的(未被分配至為瓶頸著色器單元的執行單元)。此判斷可用任一各種方式達成,包括評估個別執行單元的可用資源(如線程、存儲器、暫存空間)、評估目前分配至個別執行單元的數量等等。于一實施例中,利用最近為瓶頸的著色器層完成判斷(如前所述)。
            最后,該排程器300包括邏輯電路368用以比較或測量不同執行單元的效能。如上所述,本發明某些實施例利用排程器300執行各種執行單元的嘗試錯誤重新分配。于之前,及之后,針對此重新分配,該排程器測量該執行單元的效能,并且特別是各種著色器單元所聚集的執行單元,以評估重新分配前后的整體效能。除了于個別基礎上評估該執行單元之外,整體效能亦可以其它方法評估。例如,評估像素著色器的輸出(有時被指為流出率),以確定或測量已完成處理操作(意即準備好傳送至顯示緩沖存儲器以顯示的像素)的像素數量。或者,亦可評估每一個別著色器單元的輸出,以估算整理效能,特別是于不使用或略過一或多個著色器單元的情形下。
            現在參考圖7A-7D,是共同顯示依據本發明實施例的高階操作流程圖。于第一步驟402中,該排程器依既定比例,將執行單元分配至各種著色器單元中。例如,于配置中具有8個執行單元,則2個可分配至則頂點著色器,2個可分配至該幾何著色器,而其余4個一開始則分配至則像素著色器。之后,允許該執行單元處理接踵而來的要求或任務于某一段期間內(步驟404)。之后,該排程器檢查確定是否任一著色器單元為瓶頸。若沒有,該系統于進行相似比較之前,允許恢復處理于另一既定時間(步驟406)。若該排程器實際上確定該著色器層其中之一瓶頸,則該系統以目前執行單元的配置及分配,測量及記錄目前效能(步驟408)。之后,要采取的步驟取決于哪一個著色器單元被認為瓶頸了。若確定(步驟410)該頂點著色器為瓶頸,則本發明的一實施例,從該幾何著色器或該像素著色器之中,選擇可用的執行單元,以重新配置或重新分配。如步驟412所說明(圖7B),本發明的一實施例從其它著色器層的最近不為瓶頸中選擇。那表示,若找到先前的瓶頸,且該幾何著色器的執行單元被重新分配,則在該幾何著色器或該像素著色器之間,步驟412將由該像素著色器選擇執行單元(若該幾何著色器近來為瓶頸)。
            與圖7B的敘述一致,該排程器評估該被提出的配置或分配是否已于之前測試過(步驟413)。如前所述,本發明的一實施例,于各種著色器區塊之間,執行動態重新配置執行單元的嘗試錯誤方法。若步驟413確定配置或被提出的配置并未于之前測試過,接著進行步驟414,從該幾何著色器或像素著色器中,執行執行單元的適當重新分配給該頂點著色器。另一方面,若步驟413確定提出的配置之前已試過,該排程器接著測量及比較目前的效能及先前被提出配置所記錄的效能(步驟415)。比起先前被提出配置生效后而實現的效能,若目前的效能較好(步驟416),則保留目前來自于該幾何著色器或像素著色器的執行單元的配置或分配(步驟417)。然而,比起目前效能,若先前配置造成較好的效能,則該排程器繼續執行該執行單元的重新分配(步驟414)。應當了解的是,于圖7A及7B(關于為瓶頸頂點著色器層的重新分配)所說明的配置方法,在該頂點著色器仍為瓶頸時,該系統因此不會在各種執行單元的重新分配間反復來回,因此僅于各種操作配置中反復測試時消耗資源。
            返回圖7A的步驟410,可知若該幾何著色器、或像素著色器被確定為瓶頸,則該流程各自進入圖7C及7D。在這些圖中每一說明的操作,類似于圖7B有關于瓶頸頂點著色器而敘述的操作。因此,通過參考圖7B的說明,理解到那些方法的操作。
            現在參考圖8A-8D,是共同顯示依據本發明另一實施例的高階操作流程圖。如于圖7A-7D中所說明的實施例一樣,該排程器依既定比例,對各種著色器單元執行所有執行單元的初始分配(步驟502)。之后,該系統于既定時間內,依此比例處理著色器任務(步驟504)。之后,執行檢查以確定是否任一著色器單元為瓶頸(步驟506)。若是如此,于目前配置下測量及記錄目前效能(步驟508)。之后,該系統繼續進行,是取決于哪一個特定著色器單元被確定為瓶頸(步驟510)。舉例來說,若該頂點著色器被確定為瓶頸,則該系統將目前分配至該像素著色器的執行單元,通過重新分配至目前為瓶頸的頂點著色器以繼續進行(步驟512)。之后,該系統測量該效能(于重新分配之后)(步驟512)、及確定(步驟516)該效能是否增進。若確定效能并沒有增進,則該系統取消該重新分配(步驟518),并且將目前分配至該幾何著色器的執行單元,用以代替該為瓶頸的頂點著色器。于重新分配之后,該系統再次測量效能(步驟520),及確定該效能是否增進(步驟522)。若沒有,則再次取消該重新分配(步驟524)。圖8C及8D說明當瓶頸被確定在幾何著色器或像素著色器時,各自采取的類似步驟。
            現在參考圖9,是顯示依據本發明實施例的某高階操作流程圖。如前所述,狀態的變化,或其它事件,于繪圖管線中,可導致重置或重新開始的情況。此事件可由軟件觸發或通知,或由專屬硬件檢測(步驟602)。于一實施例中,在此狀態變化被表示或者檢測到之后,從因為狀態改變而受到影響的每一著色器層最上端,利用管線傳送命令標記(步驟604)。之后,該系統等待,直到所有有效著色器層的底端接收此標記,而在那時,該系統重置某些記錄,并重新開始某些計時計數器(步驟606)。之后,該系統等待時間T(步驟608)。在這個時候,于此新繪圖狀態下,該系統開始處理圖形,并開始動態分配及管理各種著色器層,如上述實施例中的概括說明。
            于圖9的實施例中,該系統檢測或確定(于步驟610)任一著色器單元或著色器層是否為瓶頸。此確定可以各種方式達成,而一方法是顯示于圖10(將討論如下)。若無著色器層受阻(見步驟612),則該繪圖管線的瓶頸于它處,管線的固定功能部分(見步驟614)。然而,若著色器層被確定受阻(或為瓶頸),則該系統為瓶頸的著色器層記錄平均指令發送率(步驟616)。那就是,該系統測量及記錄每單位時間所執行的平均指令數量。關于不為瓶頸著色器層(亦被稱為饑餓著色器層(starving shader stage),因為具有可用的資源用以處理),該系統從該層將執行單元切換至該瓶頸層之后,估計或預測最大總指令流量,并比較預測及目前所測量的流量。若該預測流量大于目前所測量流量,則該層具將執行單元的切換至該瓶頸著色器層的資格(步驟618)。該系統確定(步驟620)一個或多個執行單元或著色器層具切換的資格。若沒有,則整合結束(步驟622)。然而,若一個或多個執行單元或著色器層具此切換資格,則該系統在預測及目前流量之間找出具最大比例的著色器層,并將執行單元由那層切換至瓶頸層(步驟624)。之后,該系統從受到切換影響著色器層的最上端利用管線傳送命令標記(步驟626),并等待直到所有有效著色器層的底端接收此標記,然后再次重新開始適當的計數器,及重置適當的記錄(步驟628)。
            現在參考圖10,是顯示某高階操作處理流程圖,以確定目前哪一著色器層為瓶頸。如前所述,且將被本領域技術人員所熟知,于任一特定時間或對某些繪圖操作而言,可能不使用一或多個不同著色器層。因此,圖10的方法確定(步驟702)該像素著色器是否為致能。若為如此,接著該方法確定該像素著色器的所有執行單元是否已滿,及該像素著色器的輸出緩沖存儲器是否未滿。有關于確定所有像素著色器執行單元是否已滿,該系統可調查該執行單元的資源,例如所有線程現在是否為忙碌、執行單元的所有暫存空間是否已滿、執行單元的存儲器資源是否已滿等等。因此,可利用這些因素的不同或變化,與本發明的實施例一致,以完成此確定(步驟704)。若所有這些資源全滿,且該輸出緩沖存儲器未滿,則指出該像素著色器為瓶頸(步驟706)。就此而言,該輸出緩沖存儲器具有能力從該像素著色器接收更多輸出,但該像素著色器并未產生足夠輸出,所以該像素著色器中并沒有更多可用的資源以產生額外輸出。
            同樣地,該方法確定該幾何著色器是否為致能(步驟712)。若為如此,該方法確定所有幾何著色器執行單元是否已滿,及該幾何著色器輸出頂點快取存儲器是否未滿(步驟714)。若符合此條件,則該系統確定該幾何著色器為瓶頸(步驟716)。
            同樣地,該方法確定(于步驟722)該頂點著色器是否為致能。若為如此,該方法確定所有頂點著色器執行單元是否已滿,及任一幾何著色器執行單元是否未滿(步驟724)。當該幾何著色器于該頂點著色器的下游(于管線中)時,幾何著色器執行單元中的執行能力無疑表示該幾何著色器不為瓶頸,且具有能力由該頂點著色器接收額外數據或輸出。然而,若該頂點著色器的所有執行單元全滿,此為該頂點著色器為瓶頸的指示(步驟728),因為該頂點著色器無法夠快地處理信息,以傳送該幾何著色器層的可用資源。
            若圖10的各種決策區塊允許該流程到達步驟730,則可確定無著色器層為瓶頸。本質上,若所有致能的著色器層具有可用的處理資源、或對于并不具有可用資源的任一著色器層而言,從那著色器層的輸出或緊接的下游單元具有可用的處理能力。關于著色器是否為瓶頸的確認,本發明的實施例可包括效能邏輯電路,被配置以確定是否有效能瓶頸,于頂點著色器、幾何著色器、或像素著色器之一或多個之中,以達成此估計。此效能邏輯電路可被配置以評估不同項目或效能衡量,以完成效能估算(例如瓶頸)。
            現在參考圖11,是顯示依據本發明實施例的執行單元800中,某些單元及邏輯電路方塊圖。如上所述,每一執行單元800包括必要邏輯電路810,以執行多個獨立線程。于一實施例中,每一執行單元800具有必要邏輯電路,以執行32個獨立、并列的線程。其它實施例可支持額外或較少的線程。每一執行單元800還包括存儲器資源820、及暫存空間830。此外,每一執行單元800包括控制邏輯電路或執行單元管理器840。該執行單元管理器840用以管理及控制執行單元的各種操作,以完成各種功能和特征如此處的說明。例如該執行單元管理器840包括邏輯電路842配置以分配可用的線程,為了完成被分配至該執行單元的任務。線程的分配,包括不同資源(包括存儲器及暫存器)的結合及分配,以支持線程的操作。同樣地,該執行單元管理器840包括邏輯電路844,一旦該分配的任務完成,為了隨后而來的任務再利用線程。更進一步還提供邏輯電路846,以估計指令流量,與圖9步驟618的簡短說明有關。同樣地,提供邏輯電路848以測量實際指令執行率,如圖9的步驟616所述。
            對本領域技術人員而言,應當了解的是,可于執行單元中包括額外的元件,用以完成各種不同任務及操作,一致于所提供實施例的敘述。
            應當了解的是,與圖7及8有關的說明流程圖已被簡化,目的為說明實施例的某些操作。于各種實施例中,當然可以包括額外的步驟及評估,在此不特別加以說明。
            總而言之,在此已說明一種新的系統及方法,于匯圖管線的若干著色器層中,執行執行單元集區的有效加載平衡。于上述實施例中執行二階排程,藉此執行第一階排程于該線程階(如分配某些線程于特定執行單元中以執行某些任務),且執行第二階排程于執行單元階(如分配某些執行單元至某些特定著色器層)。實施例亦已說明該第二階排程可為靜態(例如由軟件驅動器控制),或動態(例如由繪圖硬件實時控制)。實施例還更詳述用以執行動態排程的各種方法。一種實現方法為加載平衡排程(根據工作量平衡排程)。另一種方法為根據指令流量(或發送率)的計算而排程/配置。又另一實施例說明排程及分配執行單元至各種著色器層的嘗試錯誤法。然而應當了解的是,可完成額外的實施例,以符合本發明的范疇及精神。
            此處所使用的名詞“邏輯電路”被定義為專用硬件(即電子或半導體電路),及一般用途的硬件,經由軟件編程以完成某些專用或已定義的功能或操作。
            于流程圖中,任何處理敘述及方塊應當被理解為表示模塊、區段、或是包括一或多個可執行指令的部分程序,以執行過程中的特定功能及步驟,且于本發明所揭露較佳實施例的范疇內,包括可供選擇的實施,可不依順序執行功能,包括大體上同時發生或以相反順序,取決于牽涉的功能性,通過本發明揭露的相關技術可比理解。
            雖然示范的實施例已被顯示及說明,可以針對所揭露進行一些改變、修正、或是交換。所有的這些、修正、或是交換,應該于所揭露的范疇內被看到。例如于此敘述的動態排程已注意到實施例具在有三個著色器(頂點著色器、幾何著色器、及像圖著色器)。應當了解的是,本發明的實施例可于只有兩個著色器(例如頂點著色器與像素著色器)、或超過三個著色器情況下執行。
            舉例來說,于一實施例中,提供一種方法,通過提供執行單元集區,其包括多個執行單元,于圖形處理裝置中執行著色操作,其中每一執行單元被配置以多重線程操作。排程單元,由多個著色器層,個別接收要求,以執行著色相關運算。并且于該等執行單元集區中排程線程,以執行著色相關運算。于一實施例中,該執行單元集區的線程個別排程,以執行著色相關運算。因此,特定線程,可于時間內被排程,以于不同的著色器層中執行著色器操作。
            于一實施例中,這個方法接收要求,特別是接收來自于頂點著色器層、幾何著色器層、以及像素著色器層的每一要求。于另一實施例中,這個排程更特別地包括排程被要求的著色器相關計算,因此最大化相關繪圖處理管線的整體流量。于另一實施例中,這個排程可更特別地包括排程被要求的著色器相關計算,于通過該頂點著色器層、該幾何著色器層、以及該素著色器層所要求的著色器相關計算中,提供一個相關平衡排程于執行單元上。
            于另一實施例中,提供一種圖形處理裝置,包括多個執行單元,每一執行單元可以多重線程操作配置。排程邏輯電路被配置,將著色相關運算排程至該等執行單元內可利用的處理線程,該排程邏輯電路,響應來自于每一多個著色器層的要求,以執行著色相關運算。于此實施例中,集區的執行單元可被分享,因此特定線程可于時間內被排程,以于不同著色器層執行著色操作(也就是,執行單元及特定線程并非不變的)。于一實施例中,該排程邏輯電路更特別地被配置于每一執行單元基礎上排程要求,因此于任一特定時間,特定執行單元的可利用線程能被排程以處理來自于特定著色器層的要求,又于另外一實施例中,提供一種計算繪圖操作的方法,包括提供一組包含多個執行單元的執行單元集區,其中每一執行單元可以多重線程操作配置。這個方法,于期間內接收來自每一頂點著色器、幾何著色器、以及像素著色器多個運算要求。另外,這個方法將個別的該運算要求分配至執行單元內可利用的線程。
            已經詳盡敘述過某些實施例,請參考圖12,是顯示與本發明實施例一致的高階方塊圖。圖12類似于已知的圖1,且兩圖的比較說明本發明的進步。簡而言之,提供獨特硬件元素916,包括執行單元分享集區,以處理頂點著色、幾何著色、以及像素著色的個別運算。
            現在請參考圖13,相關聯于圖12。如同本文前面提到的,執行單元的集區916包括多個類似執行單元,其中每一個可被配置,以處理多重線程。于特定時間,當其它執行單元(或者線程)被配置以執行幾何著色及/或頂點著色時,某些執行單元(或者甚至某些線程)可被配置以執行像素著色操作。不同執行單元(或者線程)的配置、動態重新配置,可于工作量、積壓、以及/或者需求的基礎上執行。也就是,當著色操作的需求產生時,可分配沒有使用的執行單元(或者線程)以執行那些操作。當執行單元(或者他們的資源)變的無法利用時(因為使用在執行運算),則系統可更聰明地執行這些執行單元或者他們的資源的排程。
            例如,假設執行單元(或線程)均被配置且被分配以執行指定著色任務。該系統可以監控著色操作積壓的要求(等待處理)。假設像素著色操作的積壓開始大量增加,而頂點或幾何著色要求尚未變成積壓時,該系統可以重新配置執行單元的配置(或線程)以重新配置一些頂點或者幾何著色操作到像素著色操作。這樣一個加載平衡可以通過管線增加整體流量。
            如圖13所顯示,邏輯電路940可被提供以管理及/或排程執行單元(或者線程),以執行頂點著色操作。邏輯電路950可被提供以管理及/或排程執行單元(或者線程),以執行幾何著色操作。同樣的,邏輯電路960可被提供以管理及/或排程執行單元(或者線程),以執行像素著色操作。另外,額外的邏輯電路930可被提供以整體管理及/或排程執行單元(或者線程)。此整體管理或者排程可以各種方式執行,及以各種因素為基礎。因素可包括相對需求、積壓、資源損耗等等。
            雖然本發明已以較佳實施例揭露如上,然其并非用以限定本發明,任何本領域技術人員,在不脫離本發明的精神和范圍內,當可做些許更動與潤飾,因此本發明的保護范圍當視所附的權利要求范圍所界定者為準。
            權利要求
            1.一種于圖形處理裝置中執行著色操作的方法,包括提供執行單元集區,包括多個執行單元,其中每一執行單元以多重線程操作配置;接收來自多個著色器層中每一層的要求,以執行與著色器相關的計算;及排程該執行單元集區中的線程,以執行與該被要求著色器相關的計算;其中,于特定執行單元的線程中,某些線程可被分配至一著色器的任務,其它線程可同時被分配至另一著色器單元的任務。
            2.根據權利要求1所述的于圖形處理裝置中執行著色操作的方法,其中該執行單元集區中的線程各自排程以執行與著色器相關的計算,以使特定線程可在時間內被排程,以執行不同著色器層的著色器操作。
            3.根據權利要求1所述的于圖形處理裝置中執行著色操作的方法,還包括根據無效線程的配置及有效線程的釋放而更新資源表,指示該線程的新狀態。
            4.根據權利要求1所述的于圖形處理裝置中執行著色操作的方法,其中該接收要求的步驟更加具體地包括從每一頂點著色器層、幾何著色器層及像素著色器層中接收要求。
            5.根據權利要求1所述的于圖形處理裝置中執行著色操作的方法,其中該排程步驟更加具體地包括排程與著色器相關的計算,以將相關繪圖處理管線的流量最大化。
            6.根據權利要求1所述的于圖形處理裝置中執行著色操作的方法,其中,該排程步驟更加具體地包括排程與著色器相關的計算,在從頂點著色器層、幾何著色器層及像素著色器層所要求的著色器相關計算中,提供相對地平衡排程于該等執行單元上。
            7.根據權利要求1所述的于圖形處理裝置中執行著色操作的方法,其中,該排程步驟更加具體地包括評估資源的可用性。
            8.根據權利要求7所述的于圖形處理裝置中執行著色操作的方法,其中,該評估還包括評估執行單元中可用的暫存空間或存儲器空間的可利用性、并且根據資源的可用性,以排程與著色器相關的計算。
            9.根據權利要求1所述的于圖形處理裝置中執行著色操作的方法,其中還包括當執行單元由非瓶頸的著色器層重新被分配至瓶頸的著色器層時,確定整體效能是否將會改進。
            10.根據權利要求9所述的于圖形處理裝置中執行著色操作的方法,其中確定整體效能是否將會改進包括執行嘗試錯誤的重新分配、以及只有當效能指標被明顯改進時才維持該重新分配。
            11.根據權利要求9所述的于圖形處理裝置中執行著色操作的方法,其中確定整體效能是否將會改進包括估計指令流量以作為特定執行單元的重新分配、以及只有當估計的指令流量超過實際測量的指令流量時,才執行重新分配。
            12.一種圖形處理裝置,包括多個執行單元,每一執行單元以多重線程配置;及排程邏輯電路,被配置以排程與著色器相關的計算至該等執行單元之中可用的處理線程,該排程邏輯電路反映來自于多個著色器層中每層的要求,以執行與著色器相關的計算。
            13.根據權利要求12所述的圖形處理裝置,其中更進一步包括維持資源表的邏輯電路,該資源表確認每一執行單元的有效線程、存儲器配置及使用,其中,該排程邏輯電路被配置,以評估與著色器相關計算有關的該資源表的內容。
            14.根據權利要求13所述的圖形處理裝置,其中,該維持資源表的邏輯電路更進一步地被配置,根據無效線程的配置及有效線程的釋放而更新該資源表,以指明該線程的新狀態。
            15.根據權利要求12所述的圖形處理裝置,還包括線程控制器,被配置根據無效線程的配置及有效線程的釋放而更新該資源表,以指明該線程的新狀態。
            16.根據權利要求12所述的圖形處理裝置,其中該排程邏輯電路以排程要求配置,因此特定線程可在時間內被排程,以執行不同著色器層的著色器操作。
            17.根據權利要求12所述的圖形處理裝置,其中該排程邏輯電路,更具體地于每一執行單元基礎上,以排程要求配置,如此一來,于特定執行單元的可用線程能于任一特定時間被排程,以處理來自于特定著色器層的要求。
            18.根據權利要求12所述的圖形處理裝置,還包括執行邏輯電路被配置,以確定是否有執行瓶頸存在于該頂點著色器、該幾何著色器、或該像素著色器之中。
            19.一種用于計算圖形操作的方法,包括提供執行單元集區,包括多個執行單元,其中每一執行單元以多重線程操作配置;從每一頂點著色器、幾何著色器及像素著色器之中,于時間內接受多個計算要求;及分別分配上述的計算要求至該執行單元的可用線程。
            20.根據權利要求19所述的用于計算圖形操作的方法,還包括于時間內評估執行單元的效能參數,以及基于評估的效能參數,來分配新計算要求。
            21.根據權利要求20所述的用于計算圖形操作的方法,其中該新計算要求被分配到至少一執行單元的線程,該執行單元確定為最不忙執行單元其中之一。
            22.根據權利要求20所述的用于計算圖形操作的方法,其中從群組的指標中測量該效能參數,該群組包括通過該頂點著色器、該幾何著色器、及該像素著色器的一些頂點、像素及像素輸出;以及執行單元的整體利用。
            23.根據權利要求22所述的用于計算圖形操作的方法,其中該執行單元的整體利用從群組的指標中測量,該群組包括總指令流量及平均執行單元指令發送率。
            24.一種圖形處理裝置,包括多個執行單元;及配置的排程器,于多個的多重線程執行單元中配置線程以執行任務,該任務包括頂點著色操作、幾何著色操作、及像素著色操作,該排程器被配置,從根據效能參數的該等線程中,動態地重新配置任務。
            全文摘要
            本發明是有關于圖形處理單元的頂點著色器、幾何著色器及像素著色器中,管理或執行資源的動態配置或重新配置的新方法與裝置。本發明的實施例具體地包括多個執行單元,其中每一執行單元以多重線程操作配置。提供邏輯電路以接收來自于多個著色器層中每層的要求,以執行與著色器相關的計算,以及,排程該等執行單元的線程,以執行與被要求的著色器相關計算。該執行單元集區的線程各自被排程以執行與著色器相關的計算,如此一來,特定線程可在時間內被排程,以執行不同著色器層的著色器操作。
            文檔編號G06T15/00GK1928918SQ20061013170
            公開日2007年3月14日 申請日期2006年9月29日 優先權日2005年10月14日
            發明者焦陽, 蘇奕榮 申請人:威盛電子股份有限公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品