專利名稱:繪圖處理單元以及執(zhí)行單元的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于一種三維計算機(jī)繪圖系統(tǒng),特別有關(guān)于具有 一結(jié)合多種著色功能的繪圖處理系統(tǒng)。
背景技術(shù):
用來將三維世界(真實或假想)的物件呈現(xiàn)于二維顯示屏 幕之上的三維計算機(jī)繪圖系統(tǒng)目前正被廣泛地使用于各種的應(yīng) 用類型之中。例如,三維計算機(jī)繪圖可以用于實時互動的應(yīng)用 程序,像是計算機(jī)游戲、虛擬實境、科學(xué)研究等等,以及離線 應(yīng)用程序,像是高分辨率電影的制作、繪圖設(shè)計等。由于對三 維計算機(jī)繪圖的需求與日俱增,此技術(shù)領(lǐng)域于過去幾年間有了 長足的發(fā)展和進(jìn)步。
為了將三維的物件以二維方式呈現(xiàn),使用了空間坐標(biāo)和色 彩特性將欲顯示的物件定義于一個三維世界空間中。先決定一 個物件表面的點的坐標(biāo),并且用這些點(或頂點)來建立連接 這些點的線框以定義此物件的大致形狀。在某些情況,這些物 件可具有骨干和接合點,其可繞轉(zhuǎn)、旋轉(zhuǎn)等,或者具有使物件 彎曲、壓縮和變形等特性。繪圖處理系統(tǒng)可集結(jié)物件線框的頂 點來建立三角形或多邊形。舉例來說,對于一個具有簡單結(jié)構(gòu) 的物件,例如一面墻或大樓的一個面,可簡單地以一個平面上 形成一矩形多邊形或兩個三角形的四個頂點所定義。對于更復(fù) 雜的物件,像是樹或球體,可能需要上百個頂點形成上百個三 角形來定義此物件。
除了定義物件的頂點,繪圖處理器亦可執(zhí)行其它的工作, 像是決定三維的物件將如何出現(xiàn)在一個二維的屏幕上。此過程
5包括由朝向一特定方向的單一相機(jī)景像決定一個三維世界的窗 口框架景象。從此景象,繪圖處理器可剪裁一物件其可能在框 架外面的部分、被其它物件遮蔽的部分、或是偏離相機(jī)且^皮此 物件其它部分所遮蔽的部分。此外,繪圖處理器也可決定三角 形或多邊形的頂點的顏色,并且依照光線效果、反射特性和透 明特性等等來做適當(dāng)?shù)恼{(diào)整。使用紋理貼圖可將平面圖片的紋 理或顏色附加于三維物件的表面之上,就好像覆蓋表皮層于物 件之上。在某些情況,對于位于兩頂點之間的像素,或位于由 三個或更多個頂點所形成的一多邊形的表面之上的像素,其像 素顏色值是可以被插值的,如果頂點的顏色值已知的話。其它 的繪圖處理技術(shù)可用來將這些物件呈現(xiàn)于一平面屏幕之上。
如本領(lǐng)域技術(shù)人員所知,繪圖處理器包括了被稱為著色器
這些著色器來建立影像且隨意控制連續(xù)影格的視頻。舉例來說, 頂點著色器、幾何著色器和像素著色器通常包含于繪圖處理器 之內(nèi)以執(zhí)行上述諸多工作。有些工作也由像是掃描場解析器
(rasterizer)、 4象素插補(bǔ)器(pixel interpolators )和三角i殳定單元 等固定功能單元所執(zhí)行。借著建構(gòu)具有上述各個組件的繪圖處 理器,制造商能夠提供可產(chǎn)生逼真三維影像或視頻的基本工具。 然而,因為不同的軟件開發(fā)者或本領(lǐng)域技術(shù)人員基于他們的特 殊應(yīng)用而有不同的需求,因此不容易一開始就能決定整個處理 核心內(nèi)每一著色器單元或固定功能單元應(yīng)該要包含于繪圖處理
器的部分。因此,有需要于繪圖處理器此領(lǐng)域提出基于不同的 應(yīng)用類別,而將分離的著色器和固定功能單元作結(jié)合和比例分 配等規(guī)劃的方法或系統(tǒng)。因而需要提供有能力于三維繪圖技術(shù) 中克服這些和其它缺失的繪圖處理系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明揭露了繪圖處理單元(Graphics Processing Unit, GPU)的系統(tǒng)及其方法。在某些實施例中,繪圖處理單元具有 實現(xiàn)于統(tǒng)一著色器單元或并行執(zhí)行單元中的可編程著色單元, 如此一來可提供比傳統(tǒng)繪圖處理單元更大的彈性和擴(kuò)充性。
在本發(fā)明的一個實施例中,繪圖處理單元包括一控制裝置 和并行連接的多個執(zhí)行單元,上述控制裝置用以接收頂點的數(shù) 據(jù)。每一個執(zhí)行單元用以對上述頂點數(shù)據(jù)執(zhí)行多個繪圖著色功 能。上述控制裝置還用以分配上述頂點數(shù)據(jù)的其中一部分給上 述每一個執(zhí)行單元,以平衡上述執(zhí)行單元之間的負(fù)載。類似的 控制裝置可分配幾何數(shù)據(jù)、像素數(shù)據(jù)于上述執(zhí)行單元之間。
本發(fā)明也揭露了各個執(zhí)行單元。在本發(fā)明的另一個實施例 中,執(zhí)行單元包括一數(shù)據(jù)路徑,具有執(zhí)行頂點著色功能的邏輯 單元、執(zhí)行幾何著色功能的邏輯單元、執(zhí)行掃描場解析功能的 邏輯單元以及執(zhí)行像素著色功能的邏輯單元。上述執(zhí)行單元還
包括 一 高速緩存系統(tǒng)和 一 執(zhí)行線程控制裝置,上述執(zhí)行線程控 制裝置用以根據(jù)所分配的任務(wù)控制上述數(shù)據(jù)路徑。其中上述數(shù) 據(jù)^各徑還用以才艮據(jù)分配任務(wù)執(zhí)行一個或多個的上述頂點著色功 能、上述幾何著色功能、上述掃描場解析功能或上述像素著色 功能。
本發(fā)明可適當(dāng)?shù)卣{(diào)整處理設(shè)備的分配以有效率及快速地處 理繪圖數(shù)據(jù)。
圖l顯示根據(jù)本發(fā)明的實施例的繪圖處理系統(tǒng)的方塊圖; 圖2顯示圖1中所示的繪圖處理單元的實施例的方塊圖; 圖3A顯示圖1中所示的繪圖處理單元的另 一 個實施例的方塊圖3B顯示圖l中所示的繪圖處理單元的另 一個實施例的方 塊圖3C顯示圖1中所示的繪圖處理單元的另 一 實施例的方塊
圖4顯示根據(jù)圖3A至圖3C中所示的執(zhí)行單元的 一個實施例 的方塊圖5顯示根據(jù)圖3A至圖3C中所示的執(zhí)行單元的另 一 個實施 例的方塊圖6顯示根據(jù)圖3A至圖3C中所示的執(zhí)行單元的另 一 個實施 例的方塊圖7顯示根據(jù)圖5和圖6中所示的公用緩存器文件接口的一 個實施例的方塊圖
圖8顯示說明圖5和圖6中所示的公用緩存器文件的信號流 的流程圖。
具體實施例方式
經(jīng)過閱讀以下所述的圖示和詳細(xì)解釋,對本領(lǐng)域:技術(shù)人員 而言,本發(fā)明其它的系統(tǒng)、方法、特征和優(yōu)點將會是顯而易見 的。本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書所界定者為準(zhǔn)。
傳統(tǒng)上,《會圖處理器或癥會圖處理單元(Graphics Processing Units, GPUs)合并于計算機(jī)系統(tǒng)內(nèi)以專門地執(zhí)行計算機(jī)繪圖。 隨著三維計算機(jī)繪圖的普遍使用,繪圖處理單元變得更加進(jìn)步 且功能強(qiáng)大,某些一般由中央處理單元(Central Processing Unit, CPU)所處理的工作現(xiàn)在都交由繪圖處理單元處理,以 達(dá)成具有高度復(fù)雜性的繪圖處理任務(wù)。 一般來說,繪圖處理單 元可實現(xiàn)于附接到計算機(jī)處理系統(tǒng)的主枳4反,或與主機(jī)板溝通
8的繪圖卡之內(nèi)。
繪圖處理單元包括許多獨立的單元來執(zhí)行不同的工作以最 終呈現(xiàn)三維的景象于二維的顯示屏幕之上,例如電視、計算機(jī) 屏幕、視頻屏幕或其它適當(dāng)?shù)娘@示裝置。這些獨立的處理單元 一般稱為著色器,其可包括頂點著色器、幾何著色器以及像素 著色器等等。繪圖處理單元亦包含了其它被稱為固定功能單元 的處理單元,像是像素插補(bǔ)器和掃描場解析器等。在設(shè)計繪圖 處理單元的時候,上述組件的每一種組合都會被考慮進(jìn)去以便 能執(zhí)行各種工作。根據(jù)這些組合,繪圖處理單元可能具有較大 的能力處理某一件工作,但缺乏完整執(zhí)行另 一項工作的能力。 因此,硬件開發(fā)者始終嘗試將一些著色器單元放進(jìn)一個組件 中。然而,獨立單元結(jié)合在一起的程度卻是有限的。
本發(fā)明揭露了將著色器單元和固定功能單元結(jié)合成一單一 單元的機(jī)制,在此稱為統(tǒng)一著色器。統(tǒng)一著色器具有執(zhí)行頂點 著色、幾何著色和像素著色等功能的能力,同時亦能執(zhí)行掃描 場解析和像素插補(bǔ)等功能。同樣地,借著包括用來決定配置處 理的裝置,三維繪圖的成像可基于當(dāng)下的特殊需求來動態(tài)調(diào) 整。借著觀察各個功能目前和先前的需求,此配置機(jī)制可適當(dāng) 地調(diào)整處理設(shè)備的分配以有效率及快速地處理繪圖數(shù)據(jù)。
舉例來說,當(dāng)統(tǒng)一著色器確定定義于三維世界空間之內(nèi)的 諸多物件具有的簡單結(jié)構(gòu),例如 一 房間里面所看到的諸多平面 墻壁、地板、天花板和門等場景,這個時候,不會太過頻繁地 使用頂點著色器。因此,可以把更多的處理能力分配給可能需 要處理復(fù)雜紋理的像素著色器。相對地,如果一個場景包含許 多復(fù)雜的形狀,例如森林的場景,頂點著色器可能需要更多的 處理能力,而像素著色器只需要較少的處理能力。即使場景改 變了,例如從戶外場景移到戶內(nèi)場景或相反,統(tǒng)一著色器可動態(tài)地調(diào)整著色器的分配以符合特殊的需求。
此外,統(tǒng)一著色器可設(shè)計成具有多個并行處理單元,例如 執(zhí)行單元,其中每 一 個執(zhí)行單元皆有能力執(zhí)行完全的繪圖處理 著色任務(wù)和固定功能任務(wù)。如此一來,此配置機(jī)制可動態(tài)地架 構(gòu)每一個或部分的執(zhí)行單元以處理特定的繪圖功能。此具有許
多相似功能的執(zhí)行單元的統(tǒng)一著色器,可有足夠的彈性以允許 軟件開發(fā)者根據(jù)特定的場景或物件來做資源的分配。如此一 來,可借著資源的分配使得繪圖處理單元更有效率地運作。此 基于需求的資源分配機(jī)制可提供較快速的處理速度,并且允許
更復(fù)雜的物件成像。
本發(fā)明的統(tǒng)一著色器的另 一個優(yōu)點就是每一個執(zhí)行單元的 功能和大小可相對地簡單。借著并行地結(jié)合執(zhí)行單元,可增加 或減少執(zhí)行單元的數(shù)目來輕易地改變繪圖處理單元的效能。因 為執(zhí)行單元的數(shù)目是可以改變的,具有較低的執(zhí)行能力的繪圖 處理單元可用于簡單的繪圖處理。同樣地,執(zhí)行單元的數(shù)目也 可以增加以符合需求較高的使用者的需求。由于執(zhí)行單元具有 執(zhí)行廣泛繪圖處理功能的多用性,繪圖處理單元的效能可單純 地以其所包含的寺丸行單元的數(shù)目來決定。執(zhí)行單元的增加或減 少可相對簡單,且不需復(fù)雜的重新設(shè)計來滿足低階或高階范圍 的使用者。
本發(fā)明中所述的繪圖處理單元、統(tǒng)一著色器和執(zhí)行單元設(shè)
計成符合OpenGL和(或)DirectX的規(guī)J各。以下將會討"i侖這些 組件的實施例的詳細(xì)"i兌明。
圖l顯示計算機(jī)繪圖系統(tǒng)10的一實施例的方塊圖,此計算機(jī) 繪圖系統(tǒng)10包括一運算系統(tǒng)12、 一繪圖模塊14和一顯示裝置 16。除了上述的組件,運算系統(tǒng)12還包括一繪圖處理單元18以 至少處理運算系統(tǒng)12所負(fù)責(zé)的一部分繪圖數(shù)據(jù)。在某些實施例中,繪圖處理單元18可設(shè)計為運算系統(tǒng)12內(nèi)的繪圖卡之上。繪 圖處理單元18處理圖形數(shù)據(jù)以產(chǎn)生幀的每一像素的顏色值及亮 度值,并顯示于顯示裝置16之上, 一般來說是以每秒30個幀的 頻率來處理。繪圖才莫塊14包括一應(yīng)用程序4妻口 (Application Programming Interface, API) 20和 一軟件應(yīng)用程序22。在本實 施例中,應(yīng)用程序接口 20支持最新的OpenGL和(或)DirectX 規(guī)格。
在最近幾年,對具有大量可編程邏輯的繪圖處理單元的使 用需求漸增。在此實施例中,繪圖處理單元18具有較高的可編 程性,使用者可以借著繪圖模塊14控制許多的輸入/輸出裝置來 互動地輸入數(shù)據(jù)和(或)命令。應(yīng)用程序接口20根據(jù)軟件應(yīng)用 程序22內(nèi)的邏輯單元來控制繪圖處理單元18的硬件以建立繪圖 處理單元18可用的繪圖功能。在本實施例中,使用者可以不需 要了解繪圖處理單元18與其功能,特別是如果此繪圖模塊14是 一電動游戲操縱器,且該使用者純粹是一個玩家。如果該繪圖 模塊14是用來建立三維繪圖視頻、計算機(jī)游戲或是其它實時或 離線成像的裝置,并且該使用者是軟件開發(fā)者或本領(lǐng)域技術(shù)人 員,則此使用者一般比較了解繪圖處理單元18的功能。要了解 的是,繪圖處理單元18可使用于諸多不同的應(yīng)用類型中。然而 為了簡化敘述,本發(fā)明特別著重影像于二維顯示裝置16上的實 時成像。
圖2顯示圖1所示的繪圖處理單元18的 一 個實施例的方塊 圖。在此實施例中,繪圖處理單元18包括繪圖處理管線24,其 與高速緩存系統(tǒng)26之間被總線接口28所分離。繪圖處理管線24 包括頂點著色器30、幾何著色器32、掃描場解析器34和像素著 色器36。繪圖處理管線24的輸出可被送到一個回寫單元(圖未 顯示)。高速緩存系統(tǒng)26包括頂點串流高速緩存40、第一級高速
ii緩存42、第二級高速緩存44、 Z高速緩存46和紋理高速緩存48。 頂點串流高速緩存40接收命令和圖形數(shù)據(jù),并且傳送這些 命令和數(shù)據(jù)給頂點著色器30,用以對這些數(shù)據(jù)執(zhí)行頂點著色的 運算。頂點著色器30使用頂點信息建立欲顯示的物件的三角形 和多邊形。頂點數(shù)據(jù)從頂點著色器3 0傳送到幾何著色器3 2和第 一級高速緩存42。如果有需要的話,某些數(shù)據(jù)可被第一級高速 緩存42和第二級高速緩存44所共享。第一級高速緩存42也可傳 送數(shù)據(jù)給幾何著色器32,其用以執(zhí)行某些像是鑲嵌、陰影計算、 單點子畫面(point sprite)的建立等功能。幾何著色器32也可借著 從單一頂點建立三角形,或從單一三角形建立多個三角形來提 供流暢的運算。
在此階段以后,繪圖處理管線2 4所包括的掃描場解析器3 4 對幾何著色器32和第二級高速緩存44的數(shù)據(jù)進(jìn)行運算。掃描場 解析器34亦可利用Z高速緩存46做深度分析,以及紋理高速緩 存48做有關(guān)顏色特性的處理。掃描場解析器34可包括固定功能 的運算,像是三角設(shè)定、跨磚運算(span tile operations )、深 度測試(Z測試)、預(yù)包裝、像素顏色插值、包裝等等。掃描場 解析器34亦可包括用來將一個物件的頂點從世界空間轉(zhuǎn)換至屏 幕空間的坐標(biāo)體系的轉(zhuǎn)換矩陣。
完成掃描場解析之后,掃描場解析器34將數(shù)據(jù)傳送給像素 著色器36來決定最后的像素值,像素著色器36的功能包括根據(jù) 各種顏色特性處理每一各個的像素以及改變顏色值。舉例來 說,像素著色器3 6可包括根據(jù)光源的位置及頂點的法線來決定 反射或鏡像色值和透明值的功能,然后從繪圖處理管線24輸出 所完成的視頻幀。誠如圖2中所示,著色器單元和固定功能單元 于許多階段使用到高速緩存系統(tǒng)26。假如總線接口28是一異步 的接口 ,則于繪圖處理管線24和高速緩存系統(tǒng)26之間的通訊可包括另外的緩沖機(jī)制。
在此實施例中,繪圖處理管線24的組件設(shè)計成分離的單 元,這些單元根據(jù)需要存取不同的高速緩存組件。然而,著色
器組件可被集中于統(tǒng)一著色器之內(nèi),使得繪圖處理管線24可以
較簡單的形式設(shè)計,且仍提供相同的功能。數(shù)據(jù)流可被映像在 實體裝置之上,在此稱為執(zhí)行單元,用于執(zhí)行一部分的著色器
功能。如此一來,繪圖處理管線24結(jié)合成有能力執(zhí)行繪圖處理 管線24的功能的至少一個執(zhí)行單元。同樣的,高速緩存系統(tǒng)26 的某些高速緩存單元也可并入這些執(zhí)行單元。借著將這些組件 合并成單一的單元可簡化繪圖處理的流量,并且可進(jìn)行與異步 接口的切換。因此,可在小區(qū)域范圍(local)內(nèi)進(jìn)行數(shù)據(jù)的處 理,因而允許較快速度的執(zhí)行。
圖3A顯示圖1中所示的繪圖處理單元18實施例的方塊圖 (或其它繪圖處理裝置的方塊圖1繪圖處理單元18包括一統(tǒng)一 著色器單元50和高速緩存/控制裝置54,其中統(tǒng)一著色器單元50 具有多個執(zhí)行單元52。執(zhí)行單元52并行地連接設(shè)置并通過高速 緩存/控制裝置54來存取,統(tǒng)一著色器單元50可包括任意數(shù)量的 執(zhí)行單元5 2以適當(dāng)?shù)馗鶕?jù)各種規(guī)格執(zhí)行所要的繪圖處理量。當(dāng) 設(shè)計情況需要處理到更多的繪圖任務(wù)時可以加入更多的執(zhí)行單 元,如此一來,統(tǒng)一著色器單元50具有可擴(kuò)充性的特色。
在此實施例中,統(tǒng)一著色器單元50具有比傳統(tǒng)繪圖處理管 線更具彈性的簡化設(shè)計。在其它實施例中,每一著色器單元可 能需要較大量的資源以因應(yīng)運作之需(例如高速緩存和控制裝 置),在此實施例中資源是可以共享的。每一個執(zhí)行單元52也可 以以類似的方法制造,并且依照當(dāng)前的工作負(fù)載量來做存取。 根據(jù)此工作負(fù)載量,可以視需求來配置執(zhí)4亍單元52以執(zhí)行一或 多個繪圖處理管線24的功能。因此,統(tǒng)一著色器單元50于繪圖處理中提供一個成本效能比更佳的解決方案。
此外,當(dāng)應(yīng)用程序接口20的設(shè)計和規(guī)格改變的時候(此屬 常見現(xiàn)象〗統(tǒng)一著色器單元50不需要為了配合應(yīng)用程序接口的
改變而重新設(shè)計。相反地,統(tǒng)一著色器單元50可動態(tài)調(diào)整以便 依照需求提供特定的著色功能。高速緩存/控制裝置54包括一動
態(tài)規(guī)劃裝置,以依照當(dāng)前正在處理的物件或場景來平衡所處理
的負(fù)載量。依照規(guī)劃裝置的決定,可分配更多的執(zhí)行單元52來 提供較大的處理能力于特殊的繪圖處理,例如著色器功能或固 定功能,如此一來就可以減少延遲。才丸行單元52也可以適用于 操作所有著色器功能的相同指令集,進(jìn)而簡化處理的過程。
圖3B顯示繪圖處理單元18的另 一實施例的方塊圖,成對的 執(zhí)行單元56和紋理單元58平行并列,并且連接到高速緩存/控制 裝置60。在此實施例中,紋理單元58為執(zhí)行單元集區(qū)的一部分, 執(zhí)行單元56和紋理單元58因此可共享高速緩存/控制裝置60內(nèi) 的高速緩存,使得紋理單元58可比傳統(tǒng)紋理單元更快速地存取 指令。此實施例中的高速緩存/控制裝置60包括只讀高速緩存 62,數(shù)據(jù)高速緩存64,頂點著色器控制裝置66和掃描場接口68。 繪圖處理單元18亦包括命令串流處理器70、內(nèi)存存取單元72、 掃描場解析單元74以及回寫單元76。
因為數(shù)據(jù)高速緩存64為讀/寫高速緩存,并且成本比只讀高 速緩存62高,所以這兩個高速緩存是分開的。只讀高速緩存62 可包括約32個快取列,但這個數(shù)目是可以增減的,并且每一個 快取列的大小是可以增減的,這樣的做法主要是為了減少所需 的數(shù)目比較。只讀高速緩存62的命中/失誤測試與一般CPU的命 中/失誤測試不同,主要是因為繪圖數(shù)據(jù)是持續(xù)地串流。對于失 誤的情況,高速緩存僅更新數(shù)據(jù)并且繼續(xù)動作而不需要將數(shù)據(jù) 儲存于外部的內(nèi)存。對于命中的情況,則稍微延遲讀取的動作以接收高速緩存的數(shù)據(jù)。只讀高速緩存62和數(shù)據(jù)高速緩存64可
以是第一級高速緩存裝置以減少延遲,其對使用第二級高速緩 存的傳統(tǒng)繪圖處理單元的高速緩存系統(tǒng)來說是更進(jìn)步的。
頂點著色器控制裝置66從命令串流處理器70接收命令和數(shù) 據(jù),執(zhí)行單元56和紋理單元58接收只讀高速緩存62的紋理信 息、指令和常數(shù)的串流。執(zhí)行單元56和紋理單元58也接收數(shù)據(jù) 高速緩存64的數(shù)據(jù),以及將處理后的數(shù)據(jù)提供回數(shù)據(jù)高速緩存 64。只讀高速緩存62和數(shù)據(jù)高速緩存64與內(nèi)存存取單元72連 接。掃描場接口 68和頂點著色器控制裝置66提供信號給執(zhí)行單 元56,并從執(zhí)行單元56接收回處理過的信號。掃描場接口68與 掃描場解析單元裝置74連接,執(zhí)行單元56的輸出也接到回寫單 元76。
圖3C顯示此繪圖處理單元18的另 一實施例的方塊圖。在此 實施例中,繪圖處理單元18包括包裝器(packer) 78、輸入閂 80 (又稱為異步輸入接口 )、多對的執(zhí)行單元82、輸出閂84(又 稱為異步輸出接口 )、回寫單元86、紋理尋址產(chǎn)生器88、第二級 高速緩存90、高速緩存/控制裝置92、內(nèi)存接口94、內(nèi)存存取單 元96、三角i殳定單元98以及命令串流處理器100。
命令串流處理器1 OO提供一 串流的索引給高速緩存/控制裝 置92,這些索引是關(guān)于頂點的身份標(biāo)記。舉例來說,高速緩存/ 控制裝置92可一次辨識先進(jìn)先出緩沖器內(nèi)的256個索引。包裝器 78,通常為固定功能單元,其送出要求給高速緩存/控制裝置92 以取得相關(guān)的信息來執(zhí)行像素著色的功能。高速緩存/控制裝置 9 2送回像素著色器信息以及關(guān)于 一 特定執(zhí)行單元號碼和執(zhí)行線 程號碼的配置信息。該執(zhí)行單元號碼是指執(zhí)行單元82中的其中 一個執(zhí)行單元,而執(zhí)行線程號碼是指每一個執(zhí)行單元中用來處
理數(shù)據(jù)的許多并行執(zhí)行線程的其中一個執(zhí)行線程。之后,包裝器7 8傳送像素著色運算所需的相關(guān)紋理像素和顏色信息給輸入
閂80。舉例來說,可把連接至輸入閂80的兩個輸入指定給紋理 像素信息,另外兩個輸入指定給顏色信息。每一個輸入具有傳 送一特定位^t的能力,例如512位。
輸入閂80可為總線接口 ,其依照高速緩存/控制裝置92所定 義的分配任務(wù)將像素著色器數(shù)據(jù)安排給特定的執(zhí)行單元和執(zhí)行 線程。此分配的任務(wù)可根據(jù)執(zhí)行單元和執(zhí)行線程的可用性、或 是其它的因素來決定,且可依需求改變。在多個執(zhí)行單元82并 行連接,且每個執(zhí)行單元有能力并行處理多個工作(或執(zhí)行線 程)的架構(gòu)下,可同時執(zhí)行更大量的繪圖處理任務(wù)。由于高速 緩存存取的便利性,數(shù)據(jù)流可維持在局部區(qū)域而不需要從較不 易存取的高速緩存獲取數(shù)據(jù)。另外,與傳統(tǒng)繪圖系統(tǒng)相比,流 經(jīng)輸入閂80和輸出閂84的數(shù)據(jù)流可以被減少,因而降低處理時 間。
每一個執(zhí)行單元82依照其被指派的方式使用頂點著色和幾 何著色的功能來處理數(shù)據(jù)。另外,執(zhí)行單元82可根據(jù)包裝器78 的紋理像素信息和顏色信息來執(zhí)行像素著色的功能。如圖3C所 繪示,本實施例包括了五個執(zhí)行單元,且每一個執(zhí)行單元分成 兩個部分,每一個部分代表多個執(zhí)行線程。每一部分可以圖4 至圖6來表示,執(zhí)行單元82的輸出傳送到輸出閂84。
當(dāng)繪圖數(shù)據(jù)完成后,這些數(shù)據(jù)從輸出閂84傳送到回寫單元 86,其連接至用來將幀顯示在顯示裝置16之上的幀緩沖器(未 圖示〗在一或多個執(zhí)行單元82以像素著色功能將數(shù)據(jù)處理完畢 之后,回寫單元86會接收完成的幀,這是繪圖處理的最后階段。 然而,在每一幀的處理完成之前,數(shù)據(jù)處理流可一或多次地通 過高速緩存/控制裝置92回繞。在中間處理的期間,紋理尋址產(chǎn) 生器88從輸出閂84接收紋理坐標(biāo)以決定要取樣的地址。紋理尋址產(chǎn)生器88可操作于 一 預(yù)取模式或 一 相依讀取模式。紋理尋址
產(chǎn)生器88傳送一紋理號碼(texture number)加載要求給第二級 高速緩存90,所加載的數(shù)據(jù)可傳回至紋理尋址產(chǎn)生器88。
輸出閂84還可輸出頂點數(shù)據(jù),這些頂點數(shù)據(jù)被傳送至高速 緩存/控制裝置92。高速緩存/控制裝置92可傳送關(guān)于頂點著色 器或幾何著色器運算的數(shù)據(jù)輸入給輸入閂80。同樣地,讀取要 求也從輸出閂84送到第二級高速緩存90,第二級高速緩存90也 可傳送數(shù)據(jù)給輸入閂8 0做為響應(yīng)。第二級高速緩存9 0執(zhí)行命中/ 失誤測試確認(rèn)數(shù)據(jù)是否儲存于高速緩存之內(nèi)。如果不是儲存于 高速緩存之內(nèi),內(nèi)存接口94可通過內(nèi)存存取單元96存取內(nèi)存以 讀取所需的數(shù)據(jù)。第二級高速緩存9 0依所讀取的數(shù)據(jù)更新其內(nèi) 存并且根據(jù)需要把舊的數(shù)據(jù)丟棄。高速緩存/控制裝置92也包括 一個輸出,用來傳送頂點著色器和幾何著色器數(shù)據(jù)至三角設(shè)定 單元98以執(zhí)行三角i殳定處理。
圖4顯示常見執(zhí)行單元102的一個實施例的方塊圖。執(zhí)行單 元102實現(xiàn)的方式可如圖3A中的寺丸行單元52、圖3B中的^丸行單 元56、圖3C中執(zhí)行單元82的其中一半等,或其它具有多重著色 器和固定功能運算的并行處理能力的適當(dāng)執(zhí)行單元。在此實施 例中,執(zhí)行單元102包括執(zhí)行線程控制裝置104、高速緩存系統(tǒng) 10 6以及數(shù)據(jù)^各徑10 8 。這些組件都經(jīng)由輸入閂110和輸出閂112 連接到繪圖處理單元18的其它部分,輸入閂110和輸出閂112可 分別對應(yīng)到圖3C中所示的輸入閂80和輸出閂84。
執(zhí)行線程控制裝置10 4包括控制硬件以決定執(zhí)行單元數(shù)據(jù) 路徑的資源的適當(dāng)分配,即用來執(zhí)行著色器執(zhí)行碼的數(shù)據(jù)路徑 108。數(shù)據(jù)路徑108所定義的精簡處理管線的優(yōu)點是減少數(shù)據(jù) 流,故可需求較少的頻率周期和高速緩存失誤。同樣地,減少 的數(shù)據(jù)流帶給異步接口較少的壓力,因而潛在地減少這些組件
17的瓶頸情況。借著使用本發(fā)明所述的執(zhí)行單元102,與傳統(tǒng)繪圖 處理器相比可減少處理時間。
數(shù)據(jù)路徑10 8是繪圖處理管線的核心,并且可以是可編程 的。由于數(shù)據(jù)路徑108的彈性,使用者可以程序化這些執(zhí)行單元 以執(zhí)行比傳統(tǒng)實時繪圖處理器更大量的繪圖運算。數(shù)據(jù)路徑10 8 包括支持頂點著色處理、幾何著色處理、三角設(shè)定、插值、像 素著色處理、掃描場解析功能等等的硬件功能。由于執(zhí)行單元 102的精簡設(shè)計,減少了把數(shù)據(jù)傳送出去給內(nèi)存并且于稍后讀取 的需求。舉例來說,如果數(shù)據(jù)路徑108正在處理一個三角帶,此 三角帶的其中幾個頂點可由 一 個執(zhí)行單元處理,而另 一 個執(zhí)行 單元則同時處理其它的頂點。同樣地,對于三角形拒絕的情況, 數(shù)據(jù)路徑108可更快地確認(rèn)某一個三角形是否被拒絕,因而減少 延遲的時間和不必要的計算處理。
在一些實施例中,輸入閂110和輸出閂112為允許^U亍單元 運算于與繪圖處理單元其它部分不同頻率速度的異步接口 。舉 例來說,執(zhí)行單元可運行于比繪圖處理單元其它部分快兩倍的 頻率速度之上。同樣地,數(shù)據(jù)路徑108可運行于比執(zhí)行線程控制 裝置104和高速緩存系統(tǒng)106快兩倍的頻率速度之上。由于頻率 速度的不同,輸入閂110和輸出閂112的設(shè)計可包含緩沖器以同 步內(nèi)部執(zhí)行單元組件和外部組件之間的處理。這些或其它類似 的緩沖器于圖5中顯示。
圖5顯示圖4所述的寺丸行單元102的實施例的細(xì)部方塊圖。在 此實施例中,高速緩存系統(tǒng)106包括指令高速緩存114、常數(shù)高 速緩存116以及頂點和屬性高速緩存117。數(shù)據(jù)路徑108包括公用 緩存器文件118和執(zhí)行單元數(shù)據(jù)路徑120。公用緩存器文件118 包括指定給奇數(shù)執(zhí)行線程的奇數(shù)路徑以及指定給偶數(shù)執(zhí)行線程 的偶數(shù)路徑。執(zhí)行單元數(shù)據(jù)路徑120包括算數(shù)邏輯單元(ALU)122、 123和插補(bǔ)器124。輸入閂110包括執(zhí)行單元集區(qū)控制單元 126、高速緩存128、紋理緩沖器130和數(shù)據(jù)高速緩存132。輸出 閂112包括執(zhí)行單元集區(qū)控制單元134、高速緩存136、輸出緩沖 器138。圖5的實施例也包括索引輸入擷耳又單元(IFU) 140和斷 言緩存器文件(PRF) 142。
由于輸入閂110和輸出閂112的異步性質(zhì),異步接口包含了 緩沖器以與繪圖處理單元的外部組件做協(xié)調(diào)。執(zhí)行單元集區(qū)控 制單元12 6的信號被送到執(zhí)行線程控制裝置10 4以維持?jǐn)?shù)據(jù)路徑 108的多重執(zhí)行線程。高速緩存128分別傳送指令和常數(shù)給指令 高速緩存114和常數(shù)高速緩存116。紋理坐標(biāo)從紋理緩沖器130 傳送到公用緩存器文件118,數(shù)據(jù)從數(shù)據(jù)高速緩存132傳送到公 用緩存器文件118以及頂點和屬性高速緩存117 。
指令高速緩存114傳送指令擷取給執(zhí)行線程控制裝置10 4 。 在此實施例中,大部分的擷取將會是命中的情況,小部分的失 誤從指令高速緩存114送到高速緩存136以便從內(nèi)存讀取。同樣 地,常數(shù)高速緩存116傳送失誤給高速緩存136以便讀取數(shù)據(jù)。 數(shù)據(jù)路徑108的處理包括根據(jù)一偶數(shù)或奇數(shù)指定加載公用緩存 器文件118的數(shù)據(jù)。偶數(shù)邊的數(shù)據(jù)傳送到算數(shù)邏輯單元O( 122), 而奇數(shù)邊的數(shù)據(jù)傳送到算數(shù)邏輯單元l (123)。算數(shù)邏輯單元O 122和算數(shù)邏輯單元1 123可包括著色器處理硬件,以根據(jù)執(zhí)行 線程控制裝置104的配置視需求處理數(shù)據(jù)。在執(zhí)行單元數(shù)據(jù)路徑 120中,數(shù)據(jù)也送到插補(bǔ)器124。
圖6顯示圖4的執(zhí)行單元102的另 一實施例的細(xì)部方塊圖。在 此實施例中,執(zhí)行單元102可包括圖3C中所述的執(zhí)行單元82的 其中 一半。此半個執(zhí)行單元102 (執(zhí)行單元0或執(zhí)行單元1 )包括 Xin接口邏輯單元(又稱為輸入總線接口 ) 144、指令高速緩存 146、執(zhí)行線程高速緩存148、常數(shù)緩沖器150以及公用緩存器文件152。此半個執(zhí)行單元102還包括執(zhí)行單元數(shù)據(jù)路徑154、要求 先進(jìn)先出緩沖器156、斷言緩存器文件158、純量緩存器文件 160、數(shù)據(jù)輸出控制單元162、 Xout接口邏輯單元(又稱為輸出 總線接口 ) 164和才丸行線程工作接口 166。
指令高速緩存146可以是第一級高速緩存,并且可包括大約 8K字節(jié)的靜態(tài)隨機(jī)存取內(nèi)存。指令高速緩存146從Xin接口邏輯 144單元接收指令,指令失誤以要求的形式(as requests)被送 到X o u t接口邏輯單元16 4 。執(zhí)行線程高速緩存14 8接收指定的執(zhí) 行線程并且發(fā)出指令給執(zhí)行單元數(shù)據(jù)路徑154。在某些實施例 中,執(zhí)行線程高速緩存148包括32個執(zhí)行線程。常數(shù)緩沖器150 從Xin接口邏輯單元144接收常數(shù),并且將常數(shù)數(shù)據(jù)加載執(zhí)行單 元數(shù)據(jù)路徑154。在某些實施例中,常數(shù)緩沖器包括4K字節(jié)的 內(nèi)存。公用緩存器文件152接收紋理像素數(shù)據(jù),其被傳送到執(zhí)行 單元數(shù)據(jù)路徑154。舉例來說,公用緩存器文件152可包括16K 字節(jié)的內(nèi)存。
執(zhí)行單元數(shù)據(jù)路徑15 4譯碼指令、擷取操作數(shù)以及執(zhí)行分支 計算。執(zhí)行單元數(shù)據(jù)路徑154還執(zhí)行數(shù)據(jù)的浮點或整數(shù)計算,以 及位移/邏輯、發(fā)牌/洗牌和載入/儲存的操作。紋理像素數(shù)據(jù)和 失誤從執(zhí)行單元數(shù)據(jù)路徑154經(jīng)由要求先進(jìn)先出緩沖器156送到 Xout接口邏輯單元164。斷言緩存器文件158和純量緩存器文件 160可以各是1K字節(jié),并且視需求提供數(shù)據(jù)給執(zhí)行單元數(shù)據(jù)路 徑154。
控制信號從執(zhí)行單元102外部輸入至數(shù)據(jù)輸出控制單元 162o數(shù)據(jù)輸出控制單元162也接收執(zhí)行單元數(shù)據(jù)路徑154的信號 和Xin接口邏輯單元144的數(shù)據(jù)。數(shù)據(jù)輸出控制162也可視需求向 公用緩存器文件15 2要求取得數(shù)據(jù)。數(shù)據(jù)輸出控制單元16 2輸出 數(shù)據(jù)給Xout接口邏輯164單元和執(zhí)行線程工作接口 166以根據(jù)已經(jīng)完成或正在進(jìn)行的數(shù)據(jù)決定執(zhí)行線程未來的工作分配。
流經(jīng)執(zhí)行單元數(shù)據(jù)路徑1 5 4的數(shù)據(jù)流可被分成三個層級,包 括本文層級、執(zhí)行線程層級和指令(執(zhí)行)層級。在任何給定
的時間,每個執(zhí)行單元內(nèi)有兩個本文(context)。本文信息于此 本文的工作開始之前發(fā)送到執(zhí)行單元數(shù)據(jù)^各徑154。本文層級信 息包括例如著色器類型、輸入/輸出緩存器的數(shù)目、指令起始地 址、輸出映像表、水平重組表、頂點識別和常數(shù)緩沖器150內(nèi)的常數(shù)。
在執(zhí)行線程層級中,舉例來說,每一個執(zhí)行單元于執(zhí)行線 程高速緩存148中可包括多達(dá)32個執(zhí)行線禾艮執(zhí)行線程對應(yīng)頂點 著色器、幾何著色器或像素著色器等類似功能。 一個位用來辨 識于執(zhí)行線程中所使用到的兩個本文,執(zhí)行線程被分配到尚未 額滿的執(zhí)行單元數(shù)據(jù)路徑154中的其中 一個執(zhí)行線程位置,此執(zhí) 行線程位置可以是空的或部分使用中。舉例來說,執(zhí)行線程被 分成偶數(shù)群組和奇數(shù)群組,每一群組包括16個執(zhí)行線程的序 列。在執(zhí)行線程開始之后,執(zhí)行線程將被放入一個八執(zhí)行線程 的緩沖器。執(zhí)行線程根據(jù)程序計數(shù)器于每一 周期中擷取指令, 例如多達(dá)256位的指令數(shù)據(jù)。在等待一些進(jìn)來的數(shù)據(jù)時,執(zhí)行線 程將保持非作用的狀態(tài)。反之,此執(zhí)行線程將處于作用模式。
沖突(例如算數(shù)邏輯單元或公用緩存器文件沖突)從八執(zhí)行線 程的緩沖器配對兩個作用的執(zhí)行線程在 一起。因為某些執(zhí)行線 程于執(zhí)行期間可能進(jìn)入非作用模式,故可達(dá)成此八個執(zhí)行線程 的較佳配對。在執(zhí)行末期時,執(zhí)行線程從工作緩沖器移開,并 且 一 程序結(jié)束的標(biāo)記#1發(fā)出。此標(biāo)記進(jìn)入數(shù)據(jù)輸出控制單元16 2 以將數(shù)據(jù)移出至Xout接口邏輯單元164。 一旦所有的數(shù)據(jù)都被移 出,執(zhí)行線程將從執(zhí)行線程位置移除并且通知執(zhí)行單元數(shù)據(jù)路
21徑154。數(shù)據(jù)輸出控制單元162也根據(jù) 一 映像表移動公用緩存器 文件152的數(shù)據(jù)。 一旦這些緩存器被清空,執(zhí)行單元數(shù)據(jù)路徑154 可加載公用緩存器文件152以為下個執(zhí)行線程作準(zhǔn)備。
關(guān)于指令數(shù)據(jù)流,執(zhí)行線程執(zhí)行產(chǎn)生指令擷取。舉例來說, 每一壓縮的指令中可有64位的數(shù)據(jù)。如果需要的話,執(zhí)行線程 控制可解壓縮指令,并且執(zhí)行計分板測試然后進(jìn)入仲裁階段。 為了提高效率,硬件可將屬于不同執(zhí)行線程的指令配對在一起
介于執(zhí)行線程控制和指令高速緩存之間的指令擷取機(jī)制包 括失誤的情況,其會送回四位的集合i也址(set address)外加兩 位的信道地址(way address )。 /人Xin4姿口邏輯單元144所進(jìn)來的 數(shù)據(jù)的廣播信號可被接收。指令擷取也包括命中的情況,其于 下個頻率周期接收數(shù)據(jù)。命中失誤(hit-on-miss )與失誤的結(jié) 果相似,雙重失誤(miss-on-miss )的情況會回傳四位的集合地 址,并且Xin接口邏輯單元144的廣播信號可于第二要求之上接 收。為了使執(zhí)行線程保持運作,計分板維持回傳的要求的數(shù)據(jù)。 如果進(jìn)來的指令需要這些數(shù)據(jù)來繼續(xù)處理的話,可以停止執(zhí)行 線程的運作。
圖7顯示圖5或6中所示的執(zhí)行單元102的公用緩存器文件 接口的一個實施例的方塊圖。圖8顯示公用緩存器文件接口對應(yīng) 的信號傳輸。在圖7中,公用緩存器文件接口的實施例包括Xin 邏輯單元168、數(shù)據(jù)輸出控制單元170、 Xout邏輯單元172、偶數(shù) 公用緩存器文件174、奇數(shù)公用緩存器文件176、偶數(shù)執(zhí)行單元 數(shù)據(jù)路徑178和奇數(shù)執(zhí)行單元數(shù)據(jù)路徑180。在圖8中,根據(jù)所指 定的執(zhí)行線程以標(biāo)簽比較的方式接收讀取和寫入的數(shù)據(jù)。標(biāo)簽 比較的輸出被傳送到區(qū)塊讀取選擇,然后再到區(qū)塊讀取端口 。 在本實施例中標(biāo)簽比較4到6的輸出為失誤,其被送到一個配置 裝置。在標(biāo)簽比較4和5的配置中,信號被傳送到區(qū)塊寫入選擇,然后再到區(qū)塊寫入端口。在標(biāo)簽比較6的配置中,信號被傳送到 區(qū)塊讀/寫選擇,然后再到區(qū)塊讀/寫端口。
本發(fā)明所述的統(tǒng)一著色器和執(zhí)行單元可以硬件、軟件、固 件或其組合等方式實現(xiàn)。在所揭露的實施例中,部分以例如軟 件或固件實現(xiàn)的統(tǒng)一著色器和執(zhí)行單元可被儲存于內(nèi)存,并且 可被適當(dāng)?shù)闹噶顖?zhí)行單元執(zhí)行。部分以例如石更件實現(xiàn)的統(tǒng)一著 色器和執(zhí)行單元,可以任何具有邏輯門、專用集成電路
(Application Specific Integrated Circuit, ASIC )、可編一呈門P車 列(Programmable Gate Array, PGA )、現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA )等等的離散邏輯電路,或上
述任何組合的離散邏輯電路所實現(xiàn)。
在此所描述的統(tǒng)一著色器和執(zhí)行單元的功能可包括用來實 現(xiàn)邏輯功能的可執(zhí)行指令的順序列表。這些可執(zhí)行指令可嵌入 于任何計算機(jī)可讀取的介質(zhì)以讓指令執(zhí)行系統(tǒng)、機(jī)械或裝置使 用,像是基于計算機(jī)的系統(tǒng)、處理器控制的系統(tǒng)或其它系統(tǒng)。 計算機(jī)可讀取介質(zhì)可以是能容納、儲存、通訊、傳播或傳輸程 序以讓指令執(zhí)行系統(tǒng)、機(jī)械或裝置所使用的任何介質(zhì)。舉例來 說,此計算機(jī)可讀取介質(zhì)可以是電子、-茲力、光學(xué)、電磁、紅 外線或半體導(dǎo)的系統(tǒng)、機(jī)械、裝置或傳播介質(zhì)。
以上所述僅為本發(fā)明較佳實施例,然其并非用以限定本發(fā)
明的范圍,任何熟悉本項技術(shù)的人員,在不脫離本發(fā)明的精神 和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明 的保護(hù)范圍當(dāng)以本申請的權(quán)利要求書所界定的范圍為準(zhǔn)。
附圖中符號的簡單說明如下
12:運算系統(tǒng)
14:繪圖模塊
16:顯示裝置
2318:繪圖處理單元
20:應(yīng)用程序接口
22:軟件應(yīng)用程序
24:繪圖處理管線
26、 106:高速緩存系統(tǒng)
28:總線接口
30:頂點著色器
32:幾何著色器
34:掃描場解析器
36:像素著色器
40:頂點串流高速緩存
42、 196:第一級高速緩存
44、 90:第二級高速緩存
46: Z高速緩存
48:紋理高速緩存
50:統(tǒng)一著色器單元
52、 56、 82、 102:執(zhí)行單元
54、 60、 92:高速緩存/控制裝置
58:纟丈理單元
62:只讀高速緩存
64、 132:數(shù)據(jù)高速緩存
66:頂點著色器控制裝置
68:掃描場4妄口
70、 100:命令串流處理器
72、 96:內(nèi)存存取單元
74:掃描場解析單元
76、 86:回寫單元78:包裝器
80、 110:輸入閂
84、 112: llr出閂
88:紋理尋址產(chǎn)生器
94:內(nèi)存接口
98:三角設(shè)定單元
104:執(zhí)行線程控制裝置
108:數(shù)據(jù)路徑
114、 146:指令高速緩存
116:常數(shù)高速緩存
117:頂點和屬性高速緩存
118、 152:公用緩存器文件
120、 154:執(zhí)行單元數(shù)據(jù)路徑
122:算數(shù)邏輯單元0
123:算數(shù)邏輯單元l
124:插補(bǔ)器
126、 134:執(zhí)行單元集區(qū)控制單元
128、 136:高速緩存
130:紋理緩沖器
138:輸出緩沖器
140:索引輸入擷取單元
142、 158:斷言緩存器文件
144: Xin接口邏輯單元
148:執(zhí)行線程高速緩存
150:常數(shù)緩沖器
156:要求先進(jìn)先出緩沖器
160:純量緩存器文件162、 170: ^:據(jù)輸出控制單元
164: Xout接口邏輯單元 166:-執(zhí)行線程工作接口
168: Xin邏輯單元
172: Xout邏輯單元 174:偶數(shù)公用緩存器文件 176:奇數(shù)公用緩存器文件 178:偶數(shù)執(zhí)行單元數(shù)據(jù)路徑 180:奇數(shù)執(zhí)行單元數(shù)據(jù)路徑。
權(quán)利要求
1. 一種繪圖處理單元,其特征在于,包括一個控制裝置,用以接收頂點數(shù)據(jù)、幾何數(shù)據(jù)和像素數(shù)據(jù);以及一個統(tǒng)一著色器單元,具有并行耦接的多個執(zhí)行單元,每一執(zhí)行單元用以對上述頂點數(shù)據(jù)、幾何數(shù)據(jù)和像素數(shù)據(jù)執(zhí)行多個繪圖著色功能中至少一個的繪圖著色功能,其中上述控制裝置還用以分配上述頂點數(shù)據(jù)、幾何數(shù)據(jù)和像素數(shù)據(jù)其中的一部分給上述每一執(zhí)行單元,以平衡上述執(zhí)行單元之間的負(fù)載量。
2. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,上 述繪圖著色功能包括頂點著色功能、幾何著色功能和像素著色 功能。
3. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,上 述繪圖著色功能還包括一個掃描場解析功能。
4. 根據(jù)權(quán)利要求3所述的繪圖處理單元,其特征在于,上 述掃描場解析功能包括三角設(shè)定功能、跨磚運算功能、Z測試 功能和像素顏色插值功能其中的至少一個功能。
5. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,上 述統(tǒng)一著色器單元還包括多個紋理單元,上述紋理單元與上述 執(zhí)行單元并行。
6. 根據(jù)權(quán)利要求5所述的繪圖處理單元,其特征在于,上 述控制裝置包括一 個只讀高速緩存和 一 個數(shù)據(jù)高速緩存,上述 執(zhí)行單元和上述紋理單元可共享上述只讀高速緩存和上述數(shù)據(jù) 高速緩存。
7. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,還 包括一個異步輸入閂和一個異步輸出閂,其中上述執(zhí)行單元并 行耦接于上述異步輸入閂和上述異步輸出閂之間,并且上述控 制裝置經(jīng)由上述異步輸入閂控制上述頂點數(shù)據(jù)至上述執(zhí)行單元的分配。
8. 根據(jù)權(quán)利要求7所述的繪圖處理單元,其特征在于,上 述控制裝置還包括耦接到上述異步輸入閂的 一 個包裝器。
9. 根據(jù)權(quán)利要求7所述的繪圖處理單元,其特征在于,上 述控制裝置還包括耦接到上述異步輸出閂的一個回寫單元和一 個紋理尋址產(chǎn)生器。
10. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,還 包括一個命令串流處理器,用以輸入一串流的輸入頂點數(shù)據(jù)給 上述控制裝置。
11. 一種執(zhí)行單元,其特征在于,包括 一個數(shù)據(jù)路徑,具有 一個執(zhí)行頂點著色功能的邏輯單元、一個執(zhí)行幾何著色功能的邏輯單元以及一個執(zhí)行像素著色功能的邏輯單元;一個高速緩存系統(tǒng);以及一個執(zhí)行線程控制裝置,用以根據(jù)分配任務(wù)控制上述數(shù)據(jù) 路徑,其中上述數(shù)據(jù)路徑還設(shè)計來執(zhí)行上述頂點著色功能、上述幾何著色功能或上述像素著色功能其中的一個或多個。
12. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑還包括用來執(zhí)行掃描場解析功能的邏輯單元。
13. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑還包括一個公用緩存器文件和一個執(zhí)行單元數(shù)據(jù)路 徑。
14. 根據(jù)斥又利要求13所述的執(zhí)行單元,其特征在于,上述 公用緩存器文件包括指定給偶數(shù)執(zhí)行線程的 一 個第 一通道,以 及指定給奇數(shù)執(zhí)行線程的一個第二通道。
15. 根據(jù)權(quán)利要求13所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑包括兩個算數(shù)邏輯單元和 一 個插補(bǔ)器。
16. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 高速緩存系統(tǒng)包括一 個指令高速緩存、 一 個常數(shù)高速緩存以及 一個頂點和屬性高速緩存。
17. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述數(shù)據(jù)路徑耦接于 一 個異步輸入總線接口和 一 個異步輸出總線接 口之間,以分離上述數(shù)據(jù)路徑和繪圖處理單元其它部分的頻率 頻域。
18. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑操作于一頻率速度之上,上述頻率速度至少是一外部 頻率速度的兩倍。
19. 根據(jù)權(quán)利要求17所述的執(zhí)行單元,其特征在于,還包 括一個數(shù)據(jù)輸出控制裝置,用以控制關(guān)于上述異步輸入總線接 口的輸入邏輯單元和關(guān)于上述異步輸出總線接口的輸出邏輯單 元。
20. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,還包 括一個斷言緩存器文件和一個純量緩存器文件。
全文摘要
一種繪圖處理單元以及執(zhí)行單元,其中繪圖處理單元是用來處理關(guān)于三維物件或場景的數(shù)據(jù),并且將三維的數(shù)據(jù)成像于二維的顯示屏幕之上。本發(fā)明揭露的繪圖處理單元實施例包括用來接收頂點數(shù)據(jù)、幾何數(shù)據(jù)和像素數(shù)據(jù)的控制裝置。上述繪圖處理單元還包括并行連接的多個執(zhí)行單元,每一執(zhí)行單元用來對頂點、幾何和像素數(shù)據(jù)執(zhí)行多種繪圖著色功能。上述控制裝置還分配一部分的頂點、幾何和像素數(shù)據(jù)給每一執(zhí)行單元以大致平衡執(zhí)行單元之間的負(fù)載量。本發(fā)明可適當(dāng)?shù)卣{(diào)整處理設(shè)備的分配以有效率及快速地處理繪圖數(shù)據(jù)。
文檔編號G06T1/20GK101470892SQ200910000998
公開日2009年7月1日 申請日期2009年1月24日 優(yōu)先權(quán)日2008年1月25日
發(fā)明者提莫·佩塔西, 陽 焦 申請人:威盛電子股份有限公司