欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

繪圖處理單元以及執(zhí)行單元的制作方法

文檔序號:6480152閱讀:223來源:國知局
專利名稱:繪圖處理單元以及執(zhí)行單元的制作方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于一種三維計(jì)算機(jī)繪圖系統(tǒng),特別有關(guān)于具有 一結(jié)合多種著色功能的繪圖處理系統(tǒng)。
背景技術(shù)
用來將三維世界(真實(shí)或假想)的物件呈現(xiàn)于二維顯示屏 幕之上的三維計(jì)算機(jī)繪圖系統(tǒng)目前正被廣泛地使用于各種的應(yīng) 用類型之中。例如,三維計(jì)算機(jī)繪圖可以用于實(shí)時(shí)互動的應(yīng)用 程序,像是計(jì)算機(jī)游戲、虛擬實(shí)境、科學(xué)研究等等,以及離線 應(yīng)用程序,像是高分辨率電影的制作、繪圖設(shè)計(jì)等。由于對三 維計(jì)算機(jī)繪圖的需求與日俱增,此技術(shù)領(lǐng)域于過去幾年間有了 長足的發(fā)展和進(jìn)步。
為了將三維的物件以二維方式呈現(xiàn),使用了空間坐標(biāo)和色 彩特性將欲顯示的物件定義于一個(gè)三維世界空間中。先決定一 個(gè)物件表面的點(diǎn)的坐標(biāo),并且用這些點(diǎn)(或頂點(diǎn))來建立連接 這些點(diǎn)的線框以定義此物件的大致形狀。在某些情況,這些物 件可具有骨干和接合點(diǎn),其可繞轉(zhuǎn)、旋轉(zhuǎn)等,或者具有使物件 彎曲、壓縮和變形等特性。繪圖處理系統(tǒng)可集結(jié)物件線框的頂 點(diǎn)來建立三角形或多邊形。舉例來說,對于一個(gè)具有簡單結(jié)構(gòu) 的物件,例如一面墻或大樓的一個(gè)面,可簡單地以一個(gè)平面上 形成一矩形多邊形或兩個(gè)三角形的四個(gè)頂點(diǎn)所定義。對于更復(fù) 雜的物件,像是樹或球體,可能需要上百個(gè)頂點(diǎn)形成上百個(gè)三 角形來定義此物件。
除了定義物件的頂點(diǎn),繪圖處理器亦可執(zhí)行其它的工作, 像是決定三維的物件將如何出現(xiàn)在一個(gè)二維的屏幕上。此過程
5包括由朝向一特定方向的單一相機(jī)景像決定一個(gè)三維世界的窗 口框架景象。從此景象,繪圖處理器可剪裁一物件其可能在框 架外面的部分、被其它物件遮蔽的部分、或是偏離相機(jī)且^皮此 物件其它部分所遮蔽的部分。此外,繪圖處理器也可決定三角 形或多邊形的頂點(diǎn)的顏色,并且依照光線效果、反射特性和透 明特性等等來做適當(dāng)?shù)恼{(diào)整。使用紋理貼圖可將平面圖片的紋 理或顏色附加于三維物件的表面之上,就好像覆蓋表皮層于物 件之上。在某些情況,對于位于兩頂點(diǎn)之間的像素,或位于由 三個(gè)或更多個(gè)頂點(diǎn)所形成的一多邊形的表面之上的像素,其像 素顏色值是可以被插值的,如果頂點(diǎn)的顏色值已知的話。其它 的繪圖處理技術(shù)可用來將這些物件呈現(xiàn)于一平面屏幕之上。
如本領(lǐng)域技術(shù)人員所知,繪圖處理器包括了被稱為著色器
這些著色器來建立影像且隨意控制連續(xù)影格的視頻。舉例來說, 頂點(diǎn)著色器、幾何著色器和像素著色器通常包含于繪圖處理器 之內(nèi)以執(zhí)行上述諸多工作。有些工作也由像是掃描場解析器
(rasterizer)、 4象素插補(bǔ)器(pixel interpolators )和三角i殳定單元 等固定功能單元所執(zhí)行。借著建構(gòu)具有上述各個(gè)組件的繪圖處 理器,制造商能夠提供可產(chǎn)生逼真三維影像或視頻的基本工具。 然而,因?yàn)椴煌能浖_發(fā)者或本領(lǐng)域技術(shù)人員基于他們的特 殊應(yīng)用而有不同的需求,因此不容易一開始就能決定整個(gè)處理 核心內(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)及其方法。在某些實(shí)施例中,繪圖處理單元具有 實(shí)現(xiàn)于統(tǒng)一著色器單元或并行執(zhí)行單元中的可編程著色單元, 如此一來可提供比傳統(tǒng)繪圖處理單元更大的彈性和擴(kuò)充性。
在本發(fā)明的一個(gè)實(shí)施例中,繪圖處理單元包括一控制裝置 和并行連接的多個(gè)執(zhí)行單元,上述控制裝置用以接收頂點(diǎn)的數(shù) 據(jù)。每一個(gè)執(zhí)行單元用以對上述頂點(diǎn)數(shù)據(jù)執(zhí)行多個(gè)繪圖著色功 能。上述控制裝置還用以分配上述頂點(diǎn)數(shù)據(jù)的其中一部分給上 述每一個(gè)執(zhí)行單元,以平衡上述執(zhí)行單元之間的負(fù)載。類似的 控制裝置可分配幾何數(shù)據(jù)、像素?cái)?shù)據(jù)于上述執(zhí)行單元之間。
本發(fā)明也揭露了各個(gè)執(zhí)行單元。在本發(fā)明的另一個(gè)實(shí)施例 中,執(zhí)行單元包括一數(shù)據(jù)路徑,具有執(zhí)行頂點(diǎn)著色功能的邏輯 單元、執(zhí)行幾何著色功能的邏輯單元、執(zhí)行掃描場解析功能的 邏輯單元以及執(zhí)行像素著色功能的邏輯單元。上述執(zhí)行單元還
包括 一 高速緩存系統(tǒng)和 一 執(zhí)行線程控制裝置,上述執(zhí)行線程控 制裝置用以根據(jù)所分配的任務(wù)控制上述數(shù)據(jù)路徑。其中上述數(shù) 據(jù)^各徑還用以才艮據(jù)分配任務(wù)執(zhí)行一個(gè)或多個(gè)的上述頂點(diǎn)著色功 能、上述幾何著色功能、上述掃描場解析功能或上述像素著色 功能。
本發(fā)明可適當(dāng)?shù)卣{(diào)整處理設(shè)備的分配以有效率及快速地處 理繪圖數(shù)據(jù)。


圖l顯示根據(jù)本發(fā)明的實(shí)施例的繪圖處理系統(tǒng)的方塊圖; 圖2顯示圖1中所示的繪圖處理單元的實(shí)施例的方塊圖; 圖3A顯示圖1中所示的繪圖處理單元的另 一 個(gè)實(shí)施例的方塊圖3B顯示圖l中所示的繪圖處理單元的另 一個(gè)實(shí)施例的方 塊圖3C顯示圖1中所示的繪圖處理單元的另 一 實(shí)施例的方塊
圖4顯示根據(jù)圖3A至圖3C中所示的執(zhí)行單元的 一個(gè)實(shí)施例 的方塊圖5顯示根據(jù)圖3A至圖3C中所示的執(zhí)行單元的另 一 個(gè)實(shí)施 例的方塊圖6顯示根據(jù)圖3A至圖3C中所示的執(zhí)行單元的另 一 個(gè)實(shí)施 例的方塊圖7顯示根據(jù)圖5和圖6中所示的公用緩存器文件接口的一 個(gè)實(shí)施例的方塊圖
圖8顯示說明圖5和圖6中所示的公用緩存器文件的信號流 的流程圖。
具體實(shí)施例方式
經(jīng)過閱讀以下所述的圖示和詳細(xì)解釋,對本領(lǐng)域:技術(shù)人員 而言,本發(fā)明其它的系統(tǒng)、方法、特征和優(yōu)點(diǎn)將會是顯而易見 的。本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書所界定者為準(zhǔn)。
傳統(tǒng)上,《會圖處理器或癥會圖處理單元(Graphics Processing Units, GPUs)合并于計(jì)算機(jī)系統(tǒng)內(nèi)以專門地執(zhí)行計(jì)算機(jī)繪圖。 隨著三維計(jì)算機(jī)繪圖的普遍使用,繪圖處理單元變得更加進(jìn)步 且功能強(qiáng)大,某些一般由中央處理單元(Central Processing Unit, CPU)所處理的工作現(xiàn)在都交由繪圖處理單元處理,以 達(dá)成具有高度復(fù)雜性的繪圖處理任務(wù)。 一般來說,繪圖處理單 元可實(shí)現(xiàn)于附接到計(jì)算機(jī)處理系統(tǒng)的主枳4反,或與主機(jī)板溝通
8的繪圖卡之內(nèi)。
繪圖處理單元包括許多獨(dú)立的單元來執(zhí)行不同的工作以最 終呈現(xiàn)三維的景象于二維的顯示屏幕之上,例如電視、計(jì)算機(jī) 屏幕、視頻屏幕或其它適當(dāng)?shù)娘@示裝置。這些獨(dú)立的處理單元 一般稱為著色器,其可包括頂點(diǎn)著色器、幾何著色器以及像素 著色器等等。繪圖處理單元亦包含了其它被稱為固定功能單元 的處理單元,像是像素插補(bǔ)器和掃描場解析器等。在設(shè)計(jì)繪圖 處理單元的時(shí)候,上述組件的每一種組合都會被考慮進(jìn)去以便 能執(zhí)行各種工作。根據(jù)這些組合,繪圖處理單元可能具有較大 的能力處理某一件工作,但缺乏完整執(zhí)行另 一項(xiàng)工作的能力。 因此,硬件開發(fā)者始終嘗試將一些著色器單元放進(jìn)一個(gè)組件 中。然而,獨(dú)立單元結(jié)合在一起的程度卻是有限的。
本發(fā)明揭露了將著色器單元和固定功能單元結(jié)合成一單一 單元的機(jī)制,在此稱為統(tǒng)一著色器。統(tǒng)一著色器具有執(zhí)行頂點(diǎn) 著色、幾何著色和像素著色等功能的能力,同時(shí)亦能執(zhí)行掃描 場解析和像素插補(bǔ)等功能。同樣地,借著包括用來決定配置處 理的裝置,三維繪圖的成像可基于當(dāng)下的特殊需求來動態(tài)調(diào) 整。借著觀察各個(gè)功能目前和先前的需求,此配置機(jī)制可適當(dāng) 地調(diào)整處理設(shè)備的分配以有效率及快速地處理繪圖數(shù)據(jù)。
舉例來說,當(dāng)統(tǒng)一著色器確定定義于三維世界空間之內(nèi)的 諸多物件具有的簡單結(jié)構(gòu),例如 一 房間里面所看到的諸多平面 墻壁、地板、天花板和門等場景,這個(gè)時(shí)候,不會太過頻繁地 使用頂點(diǎn)著色器。因此,可以把更多的處理能力分配給可能需 要處理復(fù)雜紋理的像素著色器。相對地,如果一個(gè)場景包含許 多復(fù)雜的形狀,例如森林的場景,頂點(diǎn)著色器可能需要更多的 處理能力,而像素著色器只需要較少的處理能力。即使場景改 變了,例如從戶外場景移到戶內(nèi)場景或相反,統(tǒng)一著色器可動態(tài)地調(diào)整著色器的分配以符合特殊的需求。
此外,統(tǒng)一著色器可設(shè)計(jì)成具有多個(gè)并行處理單元,例如 執(zhí)行單元,其中每 一 個(gè)執(zhí)行單元皆有能力執(zhí)行完全的繪圖處理 著色任務(wù)和固定功能任務(wù)。如此一來,此配置機(jī)制可動態(tài)地架 構(gòu)每一個(gè)或部分的執(zhí)行單元以處理特定的繪圖功能。此具有許
多相似功能的執(zhí)行單元的統(tǒng)一著色器,可有足夠的彈性以允許 軟件開發(fā)者根據(jù)特定的場景或物件來做資源的分配。如此一 來,可借著資源的分配使得繪圖處理單元更有效率地運(yùn)作。此 基于需求的資源分配機(jī)制可提供較快速的處理速度,并且允許
更復(fù)雜的物件成像。
本發(fā)明的統(tǒng)一著色器的另 一個(gè)優(yōu)點(diǎn)就是每一個(gè)執(zhí)行單元的 功能和大小可相對地簡單。借著并行地結(jié)合執(zhí)行單元,可增加 或減少執(zhí)行單元的數(shù)目來輕易地改變繪圖處理單元的效能。因 為執(zhí)行單元的數(shù)目是可以改變的,具有較低的執(zhí)行能力的繪圖 處理單元可用于簡單的繪圖處理。同樣地,執(zhí)行單元的數(shù)目也 可以增加以符合需求較高的使用者的需求。由于執(zhí)行單元具有 執(zhí)行廣泛繪圖處理功能的多用性,繪圖處理單元的效能可單純 地以其所包含的寺丸行單元的數(shù)目來決定。執(zhí)行單元的增加或減 少可相對簡單,且不需復(fù)雜的重新設(shè)計(jì)來滿足低階或高階范圍 的使用者。
本發(fā)明中所述的繪圖處理單元、統(tǒng)一著色器和執(zhí)行單元設(shè)
計(jì)成符合OpenGL和(或)DirectX的規(guī)J各。以下將會討"i侖這些 組件的實(shí)施例的詳細(xì)"i兌明。
圖l顯示計(jì)算機(jī)繪圖系統(tǒng)10的一實(shí)施例的方塊圖,此計(jì)算機(jī) 繪圖系統(tǒng)10包括一運(yùn)算系統(tǒng)12、 一繪圖模塊14和一顯示裝置 16。除了上述的組件,運(yùn)算系統(tǒng)12還包括一繪圖處理單元18以 至少處理運(yùn)算系統(tǒng)12所負(fù)責(zé)的一部分繪圖數(shù)據(jù)。在某些實(shí)施例中,繪圖處理單元18可設(shè)計(jì)為運(yùn)算系統(tǒng)12內(nèi)的繪圖卡之上。繪 圖處理單元18處理圖形數(shù)據(jù)以產(chǎn)生幀的每一像素的顏色值及亮 度值,并顯示于顯示裝置16之上, 一般來說是以每秒30個(gè)幀的 頻率來處理。繪圖才莫塊14包括一應(yīng)用程序4妻口 (Application Programming Interface, API) 20和 一軟件應(yīng)用程序22。在本實(shí) 施例中,應(yīng)用程序接口 20支持最新的OpenGL和(或)DirectX 規(guī)格。
在最近幾年,對具有大量可編程邏輯的繪圖處理單元的使 用需求漸增。在此實(shí)施例中,繪圖處理單元18具有較高的可編 程性,使用者可以借著繪圖模塊14控制許多的輸入/輸出裝置來 互動地輸入數(shù)據(jù)和(或)命令。應(yīng)用程序接口20根據(jù)軟件應(yīng)用 程序22內(nèi)的邏輯單元來控制繪圖處理單元18的硬件以建立繪圖 處理單元18可用的繪圖功能。在本實(shí)施例中,使用者可以不需 要了解繪圖處理單元18與其功能,特別是如果此繪圖模塊14是 一電動游戲操縱器,且該使用者純粹是一個(gè)玩家。如果該繪圖 模塊14是用來建立三維繪圖視頻、計(jì)算機(jī)游戲或是其它實(shí)時(shí)或 離線成像的裝置,并且該使用者是軟件開發(fā)者或本領(lǐng)域技術(shù)人 員,則此使用者一般比較了解繪圖處理單元18的功能。要了解 的是,繪圖處理單元18可使用于諸多不同的應(yīng)用類型中。然而 為了簡化敘述,本發(fā)明特別著重影像于二維顯示裝置16上的實(shí) 時(shí)成像。
圖2顯示圖1所示的繪圖處理單元18的 一 個(gè)實(shí)施例的方塊 圖。在此實(shí)施例中,繪圖處理單元18包括繪圖處理管線24,其 與高速緩存系統(tǒng)26之間被總線接口28所分離。繪圖處理管線24 包括頂點(diǎn)著色器30、幾何著色器32、掃描場解析器34和像素著 色器36。繪圖處理管線24的輸出可被送到一個(gè)回寫單元(圖未 顯示)。高速緩存系統(tǒng)26包括頂點(diǎn)串流高速緩存40、第一級高速
ii緩存42、第二級高速緩存44、 Z高速緩存46和紋理高速緩存48。 頂點(diǎn)串流高速緩存40接收命令和圖形數(shù)據(jù),并且傳送這些 命令和數(shù)據(jù)給頂點(diǎn)著色器30,用以對這些數(shù)據(jù)執(zhí)行頂點(diǎn)著色的 運(yùn)算。頂點(diǎn)著色器30使用頂點(diǎn)信息建立欲顯示的物件的三角形 和多邊形。頂點(diǎn)數(shù)據(jù)從頂點(diǎn)著色器3 0傳送到幾何著色器3 2和第 一級高速緩存42。如果有需要的話,某些數(shù)據(jù)可被第一級高速 緩存42和第二級高速緩存44所共享。第一級高速緩存42也可傳 送數(shù)據(jù)給幾何著色器32,其用以執(zhí)行某些像是鑲嵌、陰影計(jì)算、 單點(diǎn)子畫面(point sprite)的建立等功能。幾何著色器32也可借著 從單一頂點(diǎn)建立三角形,或從單一三角形建立多個(gè)三角形來提 供流暢的運(yùn)算。
在此階段以后,繪圖處理管線2 4所包括的掃描場解析器3 4 對幾何著色器32和第二級高速緩存44的數(shù)據(jù)進(jìn)行運(yùn)算。掃描場 解析器34亦可利用Z高速緩存46做深度分析,以及紋理高速緩 存48做有關(guān)顏色特性的處理。掃描場解析器34可包括固定功能 的運(yùn)算,像是三角設(shè)定、跨磚運(yùn)算(span tile operations )、深 度測試(Z測試)、預(yù)包裝、像素顏色插值、包裝等等。掃描場 解析器34亦可包括用來將一個(gè)物件的頂點(diǎn)從世界空間轉(zhuǎn)換至屏 幕空間的坐標(biāo)體系的轉(zhuǎn)換矩陣。
完成掃描場解析之后,掃描場解析器34將數(shù)據(jù)傳送給像素 著色器36來決定最后的像素值,像素著色器36的功能包括根據(jù) 各種顏色特性處理每一各個(gè)的像素以及改變顏色值。舉例來 說,像素著色器3 6可包括根據(jù)光源的位置及頂點(diǎn)的法線來決定 反射或鏡像色值和透明值的功能,然后從繪圖處理管線24輸出 所完成的視頻幀。誠如圖2中所示,著色器單元和固定功能單元 于許多階段使用到高速緩存系統(tǒng)26。假如總線接口28是一異步 的接口 ,則于繪圖處理管線24和高速緩存系統(tǒng)26之間的通訊可包括另外的緩沖機(jī)制。
在此實(shí)施例中,繪圖處理管線24的組件設(shè)計(jì)成分離的單 元,這些單元根據(jù)需要存取不同的高速緩存組件。然而,著色
器組件可被集中于統(tǒng)一著色器之內(nèi),使得繪圖處理管線24可以
較簡單的形式設(shè)計(jì),且仍提供相同的功能。數(shù)據(jù)流可被映像在 實(shí)體裝置之上,在此稱為執(zhí)行單元,用于執(zhí)行一部分的著色器
功能。如此一來,繪圖處理管線24結(jié)合成有能力執(zhí)行繪圖處理 管線24的功能的至少一個(gè)執(zhí)行單元。同樣的,高速緩存系統(tǒng)26 的某些高速緩存單元也可并入這些執(zhí)行單元。借著將這些組件 合并成單一的單元可簡化繪圖處理的流量,并且可進(jìn)行與異步 接口的切換。因此,可在小區(qū)域范圍(local)內(nèi)進(jìn)行數(shù)據(jù)的處 理,因而允許較快速度的執(zhí)行。
圖3A顯示圖1中所示的繪圖處理單元18實(shí)施例的方塊圖 (或其它繪圖處理裝置的方塊圖1繪圖處理單元18包括一統(tǒng)一 著色器單元50和高速緩存/控制裝置54,其中統(tǒng)一著色器單元50 具有多個(gè)執(zhí)行單元52。執(zhí)行單元52并行地連接設(shè)置并通過高速 緩存/控制裝置54來存取,統(tǒng)一著色器單元50可包括任意數(shù)量的 執(zhí)行單元5 2以適當(dāng)?shù)馗鶕?jù)各種規(guī)格執(zhí)行所要的繪圖處理量。當(dāng) 設(shè)計(jì)情況需要處理到更多的繪圖任務(wù)時(shí)可以加入更多的執(zhí)行單 元,如此一來,統(tǒng)一著色器單元50具有可擴(kuò)充性的特色。
在此實(shí)施例中,統(tǒng)一著色器單元50具有比傳統(tǒng)繪圖處理管 線更具彈性的簡化設(shè)計(jì)。在其它實(shí)施例中,每一著色器單元可 能需要較大量的資源以因應(yīng)運(yùn)作之需(例如高速緩存和控制裝 置),在此實(shí)施例中資源是可以共享的。每一個(gè)執(zhí)行單元52也可 以以類似的方法制造,并且依照當(dāng)前的工作負(fù)載量來做存取。 根據(jù)此工作負(fù)載量,可以視需求來配置執(zhí)4亍單元52以執(zhí)行一或 多個(gè)繪圖處理管線24的功能。因此,統(tǒng)一著色器單元50于繪圖處理中提供一個(gè)成本效能比更佳的解決方案。
此外,當(dāng)應(yīng)用程序接口20的設(shè)計(jì)和規(guī)格改變的時(shí)候(此屬 常見現(xiàn)象〗統(tǒng)一著色器單元50不需要為了配合應(yīng)用程序接口的
改變而重新設(shè)計(jì)。相反地,統(tǒng)一著色器單元50可動態(tài)調(diào)整以便 依照需求提供特定的著色功能。高速緩存/控制裝置54包括一動
態(tài)規(guī)劃裝置,以依照當(dāng)前正在處理的物件或場景來平衡所處理
的負(fù)載量。依照規(guī)劃裝置的決定,可分配更多的執(zhí)行單元52來 提供較大的處理能力于特殊的繪圖處理,例如著色器功能或固 定功能,如此一來就可以減少延遲。才丸行單元52也可以適用于 操作所有著色器功能的相同指令集,進(jìn)而簡化處理的過程。
圖3B顯示繪圖處理單元18的另 一實(shí)施例的方塊圖,成對的 執(zhí)行單元56和紋理單元58平行并列,并且連接到高速緩存/控制 裝置60。在此實(shí)施例中,紋理單元58為執(zhí)行單元集區(qū)的一部分, 執(zhí)行單元56和紋理單元58因此可共享高速緩存/控制裝置60內(nèi) 的高速緩存,使得紋理單元58可比傳統(tǒng)紋理單元更快速地存取 指令。此實(shí)施例中的高速緩存/控制裝置60包括只讀高速緩存 62,數(shù)據(jù)高速緩存64,頂點(diǎn)著色器控制裝置66和掃描場接口68。 繪圖處理單元18亦包括命令串流處理器70、內(nèi)存存取單元72、 掃描場解析單元74以及回寫單元76。
因?yàn)閿?shù)據(jù)高速緩存64為讀/寫高速緩存,并且成本比只讀高 速緩存62高,所以這兩個(gè)高速緩存是分開的。只讀高速緩存62 可包括約32個(gè)快取列,但這個(gè)數(shù)目是可以增減的,并且每一個(gè) 快取列的大小是可以增減的,這樣的做法主要是為了減少所需 的數(shù)目比較。只讀高速緩存62的命中/失誤測試與一般CPU的命 中/失誤測試不同,主要是因?yàn)槔L圖數(shù)據(jù)是持續(xù)地串流。對于失 誤的情況,高速緩存僅更新數(shù)據(jù)并且繼續(xù)動作而不需要將數(shù)據(jù) 儲存于外部的內(nèi)存。對于命中的情況,則稍微延遲讀取的動作以接收高速緩存的數(shù)據(jù)。只讀高速緩存62和數(shù)據(jù)高速緩存64可
以是第一級高速緩存裝置以減少延遲,其對使用第二級高速緩 存的傳統(tǒng)繪圖處理單元的高速緩存系統(tǒng)來說是更進(jìn)步的。
頂點(diǎn)著色器控制裝置66從命令串流處理器70接收命令和數(shù) 據(jù),執(zhí)行單元56和紋理單元58接收只讀高速緩存62的紋理信 息、指令和常數(shù)的串流。執(zhí)行單元56和紋理單元58也接收數(shù)據(jù) 高速緩存64的數(shù)據(jù),以及將處理后的數(shù)據(jù)提供回?cái)?shù)據(jù)高速緩存 64。只讀高速緩存62和數(shù)據(jù)高速緩存64與內(nèi)存存取單元72連 接。掃描場接口 68和頂點(diǎn)著色器控制裝置66提供信號給執(zhí)行單 元56,并從執(zhí)行單元56接收回處理過的信號。掃描場接口68與 掃描場解析單元裝置74連接,執(zhí)行單元56的輸出也接到回寫單 元76。
圖3C顯示此繪圖處理單元18的另 一實(shí)施例的方塊圖。在此 實(shí)施例中,繪圖處理單元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)于頂點(diǎn)的身份標(biāo)記。舉例來說,高速緩存/ 控制裝置92可一次辨識先進(jìn)先出緩沖器內(nèi)的256個(gè)索引。包裝器 78,通常為固定功能單元,其送出要求給高速緩存/控制裝置92 以取得相關(guān)的信息來執(zhí)行像素著色的功能。高速緩存/控制裝置 9 2送回像素著色器信息以及關(guān)于 一 特定執(zhí)行單元號碼和執(zhí)行線 程號碼的配置信息。該執(zhí)行單元號碼是指執(zhí)行單元82中的其中 一個(gè)執(zhí)行單元,而執(zhí)行線程號碼是指每一個(gè)執(zhí)行單元中用來處
理數(shù)據(jù)的許多并行執(zhí)行線程的其中一個(gè)執(zhí)行線程。之后,包裝器7 8傳送像素著色運(yùn)算所需的相關(guān)紋理像素和顏色信息給輸入
閂80。舉例來說,可把連接至輸入閂80的兩個(gè)輸入指定給紋理 像素信息,另外兩個(gè)輸入指定給顏色信息。每一個(gè)輸入具有傳 送一特定位^t的能力,例如512位。
輸入閂80可為總線接口 ,其依照高速緩存/控制裝置92所定 義的分配任務(wù)將像素著色器數(shù)據(jù)安排給特定的執(zhí)行單元和執(zhí)行 線程。此分配的任務(wù)可根據(jù)執(zhí)行單元和執(zhí)行線程的可用性、或 是其它的因素來決定,且可依需求改變。在多個(gè)執(zhí)行單元82并 行連接,且每個(gè)執(zhí)行單元有能力并行處理多個(gè)工作(或執(zhí)行線 程)的架構(gòu)下,可同時(shí)執(zhí)行更大量的繪圖處理任務(wù)。由于高速 緩存存取的便利性,數(shù)據(jù)流可維持在局部區(qū)域而不需要從較不 易存取的高速緩存獲取數(shù)據(jù)。另外,與傳統(tǒng)繪圖系統(tǒng)相比,流 經(jīng)輸入閂80和輸出閂84的數(shù)據(jù)流可以被減少,因而降低處理時(shí) 間。
每一個(gè)執(zhí)行單元82依照其被指派的方式使用頂點(diǎn)著色和幾 何著色的功能來處理數(shù)據(jù)。另外,執(zhí)行單元82可根據(jù)包裝器78 的紋理像素信息和顏色信息來執(zhí)行像素著色的功能。如圖3C所 繪示,本實(shí)施例包括了五個(gè)執(zhí)行單元,且每一個(gè)執(zhí)行單元分成 兩個(gè)部分,每一個(gè)部分代表多個(gè)執(zhí)行線程。每一部分可以圖4 至圖6來表示,執(zhí)行單元82的輸出傳送到輸出閂84。
當(dāng)繪圖數(shù)據(jù)完成后,這些數(shù)據(jù)從輸出閂84傳送到回寫單元 86,其連接至用來將幀顯示在顯示裝置16之上的幀緩沖器(未 圖示〗在一或多個(gè)執(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還可輸出頂點(diǎn)數(shù)據(jù),這些頂點(diǎn)數(shù)據(jù)被傳送至高速 緩存/控制裝置92。高速緩存/控制裝置92可傳送關(guān)于頂點(diǎn)著色 器或幾何著色器運(yù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也包括 一個(gè)輸出,用來傳送頂點(diǎn)著色器和幾何著色器數(shù)據(jù)至三角設(shè)定 單元98以執(zhí)行三角i殳定處理。
圖4顯示常見執(zhí)行單元102的一個(gè)實(shí)施例的方塊圖。執(zhí)行單 元102實(shí)現(xiàn)的方式可如圖3A中的寺丸行單元52、圖3B中的^丸行單 元56、圖3C中執(zhí)行單元82的其中一半等,或其它具有多重著色 器和固定功能運(yùn)算的并行處理能力的適當(dāng)執(zhí)行單元。在此實(shí)施 例中,執(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)點(diǎn)是減少數(shù)據(jù) 流,故可需求較少的頻率周期和高速緩存失誤。同樣地,減少 的數(shù)據(jù)流帶給異步接口較少的壓力,因而潛在地減少這些組件
17的瓶頸情況。借著使用本發(fā)明所述的執(zhí)行單元102,與傳統(tǒng)繪圖 處理器相比可減少處理時(shí)間。
數(shù)據(jù)路徑10 8是繪圖處理管線的核心,并且可以是可編程 的。由于數(shù)據(jù)路徑108的彈性,使用者可以程序化這些執(zhí)行單元 以執(zhí)行比傳統(tǒng)實(shí)時(shí)繪圖處理器更大量的繪圖運(yùn)算。數(shù)據(jù)路徑10 8 包括支持頂點(diǎn)著色處理、幾何著色處理、三角設(shè)定、插值、像 素著色處理、掃描場解析功能等等的硬件功能。由于執(zhí)行單元 102的精簡設(shè)計(jì),減少了把數(shù)據(jù)傳送出去給內(nèi)存并且于稍后讀取 的需求。舉例來說,如果數(shù)據(jù)路徑108正在處理一個(gè)三角帶,此 三角帶的其中幾個(gè)頂點(diǎn)可由 一 個(gè)執(zhí)行單元處理,而另 一 個(gè)執(zhí)行 單元則同時(shí)處理其它的頂點(diǎn)。同樣地,對于三角形拒絕的情況, 數(shù)據(jù)路徑108可更快地確認(rèn)某一個(gè)三角形是否被拒絕,因而減少 延遲的時(shí)間和不必要的計(jì)算處理。
在一些實(shí)施例中,輸入閂110和輸出閂112為允許^U亍單元 運(yùn)算于與繪圖處理單元其它部分不同頻率速度的異步接口 。舉 例來說,執(zhí)行單元可運(yùn)行于比繪圖處理單元其它部分快兩倍的 頻率速度之上。同樣地,數(shù)據(jù)路徑108可運(yùn)行于比執(zhí)行線程控制 裝置104和高速緩存系統(tǒng)106快兩倍的頻率速度之上。由于頻率 速度的不同,輸入閂110和輸出閂112的設(shè)計(jì)可包含緩沖器以同 步內(nèi)部執(zhí)行單元組件和外部組件之間的處理。這些或其它類似 的緩沖器于圖5中顯示。
圖5顯示圖4所述的寺丸行單元102的實(shí)施例的細(xì)部方塊圖。在 此實(shí)施例中,高速緩存系統(tǒng)106包括指令高速緩存114、常數(shù)高 速緩存116以及頂點(diǎn)和屬性高速緩存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的實(shí)施例也包括索引輸入擷耳又單元(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以及頂點(diǎn)和屬性高速緩存117 。
指令高速緩存114傳送指令擷取給執(zhí)行線程控制裝置10 4 。 在此實(shí)施例中,大部分的擷取將會是命中的情況,小部分的失 誤從指令高速緩存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的另 一實(shí)施例的細(xì)部方塊圖。在 此實(shí)施例中,執(zhí)行單元102可包括圖3C中所述的執(zhí)行單元82的 其中 一半。此半個(gè)執(zhí)行單元102 (執(zhí)行單元0或執(zhí)行單元1 )包括 Xin接口邏輯單元(又稱為輸入總線接口 ) 144、指令高速緩存 146、執(zhí)行線程高速緩存148、常數(shù)緩沖器150以及公用緩存器文件152。此半個(gè)執(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。在某些實(shí)施例 中,執(zhí)行線程高速緩存148包括32個(gè)執(zhí)行線程。常數(shù)緩沖器150 從Xin接口邏輯單元144接收常數(shù),并且將常數(shù)數(shù)據(jù)加載執(zhí)行單 元數(shù)據(jù)路徑154。在某些實(shí)施例中,常數(shù)緩沖器包括4K字節(jié)的 內(nèi)存。公用緩存器文件152接收紋理像素?cái)?shù)據(jù),其被傳送到執(zhí)行 單元數(shù)據(jù)路徑154。舉例來說,公用緩存器文件152可包括16K 字節(jié)的內(nèi)存。
執(zhí)行單元數(shù)據(jù)路徑15 4譯碼指令、擷取操作數(shù)以及執(zhí)行分支 計(jì)算。執(zhí)行單元數(shù)據(jù)路徑154還執(zhí)行數(shù)據(jù)的浮點(diǎn)或整數(shù)計(jì)算,以 及位移/邏輯、發(fā)牌/洗牌和載入/儲存的操作。紋理像素?cái)?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ù)流可被分成三個(gè)層級,包 括本文層級、執(zhí)行線程層級和指令(執(zhí)行)層級。在任何給定
的時(shí)間,每個(gè)執(zhí)行單元內(nèi)有兩個(gè)本文(context)。本文信息于此 本文的工作開始之前發(fā)送到執(zhí)行單元數(shù)據(jù)^各徑154。本文層級信 息包括例如著色器類型、輸入/輸出緩存器的數(shù)目、指令起始地 址、輸出映像表、水平重組表、頂點(diǎn)識別和常數(shù)緩沖器150內(nèi)的常數(shù)。
在執(zhí)行線程層級中,舉例來說,每一個(gè)執(zhí)行單元于執(zhí)行線 程高速緩存148中可包括多達(dá)32個(gè)執(zhí)行線禾艮執(zhí)行線程對應(yīng)頂點(diǎn) 著色器、幾何著色器或像素著色器等類似功能。 一個(gè)位用來辨 識于執(zhí)行線程中所使用到的兩個(gè)本文,執(zhí)行線程被分配到尚未 額滿的執(zhí)行單元數(shù)據(jù)路徑154中的其中 一個(gè)執(zhí)行線程位置,此執(zhí) 行線程位置可以是空的或部分使用中。舉例來說,執(zhí)行線程被 分成偶數(shù)群組和奇數(shù)群組,每一群組包括16個(gè)執(zhí)行線程的序 列。在執(zhí)行線程開始之后,執(zhí)行線程將被放入一個(gè)八執(zhí)行線程 的緩沖器。執(zhí)行線程根據(jù)程序計(jì)數(shù)器于每一 周期中擷取指令, 例如多達(dá)256位的指令數(shù)據(jù)。在等待一些進(jìn)來的數(shù)據(jù)時(shí),執(zhí)行線 程將保持非作用的狀態(tài)。反之,此執(zhí)行線程將處于作用模式。
沖突(例如算數(shù)邏輯單元或公用緩存器文件沖突)從八執(zhí)行線 程的緩沖器配對兩個(gè)作用的執(zhí)行線程在 一起。因?yàn)槟承﹫?zhí)行線 程于執(zhí)行期間可能進(jìn)入非作用模式,故可達(dá)成此八個(gè)執(zhí)行線程 的較佳配對。在執(zhí)行末期時(shí),執(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以為下個(gè)執(zhí)行線程作準(zhǔn)備。
關(guān)于指令數(shù)據(jù)流,執(zhí)行線程執(zhí)行產(chǎn)生指令擷取。舉例來說, 每一壓縮的指令中可有64位的數(shù)據(jù)。如果需要的話,執(zhí)行線程 控制可解壓縮指令,并且執(zhí)行計(jì)分板測試然后進(jìn)入仲裁階段。 為了提高效率,硬件可將屬于不同執(zhí)行線程的指令配對在一起
介于執(zhí)行線程控制和指令高速緩存之間的指令擷取機(jī)制包 括失誤的情況,其會送回四位的集合i也址(set address)外加兩 位的信道地址(way address )。 /人Xin4姿口邏輯單元144所進(jìn)來的 數(shù)據(jù)的廣播信號可被接收。指令擷取也包括命中的情況,其于 下個(gè)頻率周期接收數(shù)據(jù)。命中失誤(hit-on-miss )與失誤的結(jié) 果相似,雙重失誤(miss-on-miss )的情況會回傳四位的集合地 址,并且Xin接口邏輯單元144的廣播信號可于第二要求之上接 收。為了使執(zhí)行線程保持運(yùn)作,計(jì)分板維持回傳的要求的數(shù)據(jù)。 如果進(jìn)來的指令需要這些數(shù)據(jù)來繼續(xù)處理的話,可以停止執(zhí)行 線程的運(yùn)作。
圖7顯示圖5或6中所示的執(zhí)行單元102的公用緩存器文件 接口的一個(gè)實(shí)施例的方塊圖。圖8顯示公用緩存器文件接口對應(yīng) 的信號傳輸。在圖7中,公用緩存器文件接口的實(shí)施例包括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ū)塊讀取端口 。 在本實(shí)施例中標(biāo)簽比較4到6的輸出為失誤,其被送到一個(gè)配置 裝置。在標(biāo)簽比較4和5的配置中,信號被傳送到區(qū)塊寫入選擇,然后再到區(qū)塊寫入端口。在標(biāo)簽比較6的配置中,信號被傳送到 區(qū)塊讀/寫選擇,然后再到區(qū)塊讀/寫端口。
本發(fā)明所述的統(tǒng)一著色器和執(zhí)行單元可以硬件、軟件、固 件或其組合等方式實(shí)現(xiàn)。在所揭露的實(shí)施例中,部分以例如軟 件或固件實(shí)現(xiàn)的統(tǒng)一著色器和執(zhí)行單元可被儲存于內(nèi)存,并且 可被適當(dāng)?shù)闹噶顖?zhí)行單元執(zhí)行。部分以例如石更件實(shí)現(xiàn)的統(tǒng)一著 色器和執(zhí)行單元,可以任何具有邏輯門、專用集成電路
(Application Specific Integrated Circuit, ASIC )、可編一呈門P車 列(Programmable Gate Array, PGA )、現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA )等等的離散邏輯電路,或上
述任何組合的離散邏輯電路所實(shí)現(xiàn)。
在此所描述的統(tǒng)一著色器和執(zhí)行單元的功能可包括用來實(shí) 現(xiàn)邏輯功能的可執(zhí)行指令的順序列表。這些可執(zhí)行指令可嵌入 于任何計(jì)算機(jī)可讀取的介質(zhì)以讓指令執(zhí)行系統(tǒng)、機(jī)械或裝置使 用,像是基于計(jì)算機(jī)的系統(tǒng)、處理器控制的系統(tǒng)或其它系統(tǒng)。 計(jì)算機(jī)可讀取介質(zhì)可以是能容納、儲存、通訊、傳播或傳輸程 序以讓指令執(zhí)行系統(tǒng)、機(jī)械或裝置所使用的任何介質(zhì)。舉例來 說,此計(jì)算機(jī)可讀取介質(zhì)可以是電子、-茲力、光學(xué)、電磁、紅 外線或半體導(dǎo)的系統(tǒng)、機(jī)械、裝置或傳播介質(zhì)。
以上所述僅為本發(fā)明較佳實(shí)施例,然其并非用以限定本發(fā)
明的范圍,任何熟悉本項(xiàng)技術(shù)的人員,在不脫離本發(fā)明的精神 和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明 的保護(hù)范圍當(dāng)以本申請的權(quán)利要求書所界定的范圍為準(zhǔn)。
附圖中符號的簡單說明如下
12:運(yùn)算系統(tǒng)
14:繪圖模塊
16:顯示裝置
2318:繪圖處理單元
20:應(yīng)用程序接口
22:軟件應(yīng)用程序
24:繪圖處理管線
26、 106:高速緩存系統(tǒng)
28:總線接口
30:頂點(diǎn)著色器
32:幾何著色器
34:掃描場解析器
36:像素著色器
40:頂點(diǎn)串流高速緩存
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:頂點(diǎn)著色器控制裝置
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:頂點(diǎn)和屬性高速緩存
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. 一種繪圖處理單元,其特征在于,包括一個(gè)控制裝置,用以接收頂點(diǎn)數(shù)據(jù)、幾何數(shù)據(jù)和像素?cái)?shù)據(jù);以及一個(gè)統(tǒng)一著色器單元,具有并行耦接的多個(gè)執(zhí)行單元,每一執(zhí)行單元用以對上述頂點(diǎn)數(shù)據(jù)、幾何數(shù)據(jù)和像素?cái)?shù)據(jù)執(zhí)行多個(gè)繪圖著色功能中至少一個(gè)的繪圖著色功能,其中上述控制裝置還用以分配上述頂點(diǎn)數(shù)據(jù)、幾何數(shù)據(jù)和像素?cái)?shù)據(jù)其中的一部分給上述每一執(zhí)行單元,以平衡上述執(zhí)行單元之間的負(fù)載量。
2. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,上 述繪圖著色功能包括頂點(diǎn)著色功能、幾何著色功能和像素著色 功能。
3. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,上 述繪圖著色功能還包括一個(gè)掃描場解析功能。
4. 根據(jù)權(quán)利要求3所述的繪圖處理單元,其特征在于,上 述掃描場解析功能包括三角設(shè)定功能、跨磚運(yùn)算功能、Z測試 功能和像素顏色插值功能其中的至少一個(gè)功能。
5. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,上 述統(tǒng)一著色器單元還包括多個(gè)紋理單元,上述紋理單元與上述 執(zhí)行單元并行。
6. 根據(jù)權(quán)利要求5所述的繪圖處理單元,其特征在于,上 述控制裝置包括一 個(gè)只讀高速緩存和 一 個(gè)數(shù)據(jù)高速緩存,上述 執(zhí)行單元和上述紋理單元可共享上述只讀高速緩存和上述數(shù)據(jù) 高速緩存。
7. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,還 包括一個(gè)異步輸入閂和一個(gè)異步輸出閂,其中上述執(zhí)行單元并 行耦接于上述異步輸入閂和上述異步輸出閂之間,并且上述控 制裝置經(jīng)由上述異步輸入閂控制上述頂點(diǎn)數(shù)據(jù)至上述執(zhí)行單元的分配。
8. 根據(jù)權(quán)利要求7所述的繪圖處理單元,其特征在于,上 述控制裝置還包括耦接到上述異步輸入閂的 一 個(gè)包裝器。
9. 根據(jù)權(quán)利要求7所述的繪圖處理單元,其特征在于,上 述控制裝置還包括耦接到上述異步輸出閂的一個(gè)回寫單元和一 個(gè)紋理尋址產(chǎn)生器。
10. 根據(jù)權(quán)利要求l所述的繪圖處理單元,其特征在于,還 包括一個(gè)命令串流處理器,用以輸入一串流的輸入頂點(diǎn)數(shù)據(jù)給 上述控制裝置。
11. 一種執(zhí)行單元,其特征在于,包括 一個(gè)數(shù)據(jù)路徑,具有 一個(gè)執(zhí)行頂點(diǎn)著色功能的邏輯單元、一個(gè)執(zhí)行幾何著色功能的邏輯單元以及一個(gè)執(zhí)行像素著色功能的邏輯單元;一個(gè)高速緩存系統(tǒng);以及一個(gè)執(zhí)行線程控制裝置,用以根據(jù)分配任務(wù)控制上述數(shù)據(jù) 路徑,其中上述數(shù)據(jù)路徑還設(shè)計(jì)來執(zhí)行上述頂點(diǎn)著色功能、上述幾何著色功能或上述像素著色功能其中的一個(gè)或多個(gè)。
12. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑還包括用來執(zhí)行掃描場解析功能的邏輯單元。
13. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑還包括一個(gè)公用緩存器文件和一個(gè)執(zhí)行單元數(shù)據(jù)路 徑。
14. 根據(jù)斥又利要求13所述的執(zhí)行單元,其特征在于,上述 公用緩存器文件包括指定給偶數(shù)執(zhí)行線程的 一 個(gè)第 一通道,以 及指定給奇數(shù)執(zhí)行線程的一個(gè)第二通道。
15. 根據(jù)權(quán)利要求13所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑包括兩個(gè)算數(shù)邏輯單元和 一 個(gè)插補(bǔ)器。
16. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 高速緩存系統(tǒng)包括一 個(gè)指令高速緩存、 一 個(gè)常數(shù)高速緩存以及 一個(gè)頂點(diǎn)和屬性高速緩存。
17. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述數(shù)據(jù)路徑耦接于 一 個(gè)異步輸入總線接口和 一 個(gè)異步輸出總線接 口之間,以分離上述數(shù)據(jù)路徑和繪圖處理單元其它部分的頻率 頻域。
18. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,上述 數(shù)據(jù)路徑操作于一頻率速度之上,上述頻率速度至少是一外部 頻率速度的兩倍。
19. 根據(jù)權(quán)利要求17所述的執(zhí)行單元,其特征在于,還包 括一個(gè)數(shù)據(jù)輸出控制裝置,用以控制關(guān)于上述異步輸入總線接 口的輸入邏輯單元和關(guān)于上述異步輸出總線接口的輸出邏輯單 元。
20. 根據(jù)權(quán)利要求ll所述的執(zhí)行單元,其特征在于,還包 括一個(gè)斷言緩存器文件和一個(gè)純量緩存器文件。
全文摘要
一種繪圖處理單元以及執(zhí)行單元,其中繪圖處理單元是用來處理關(guān)于三維物件或場景的數(shù)據(jù),并且將三維的數(shù)據(jù)成像于二維的顯示屏幕之上。本發(fā)明揭露的繪圖處理單元實(shí)施例包括用來接收頂點(diǎn)數(shù)據(jù)、幾何數(shù)據(jù)和像素?cái)?shù)據(jù)的控制裝置。上述繪圖處理單元還包括并行連接的多個(gè)執(zhí)行單元,每一執(zhí)行單元用來對頂點(diǎn)、幾何和像素?cái)?shù)據(jù)執(zhí)行多種繪圖著色功能。上述控制裝置還分配一部分的頂點(diǎn)、幾何和像素?cái)?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ā)明者提莫·佩塔西, 陽 焦 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
芮城县| 庆元县| 拜泉县| 巢湖市| 盐源县| 揭西县| 屏东市| 西充县| 措勤县| 墨江| 玉山县| 汕尾市| 文安县| 景德镇市| 嘉定区| 营山县| 尚志市| 武平县| 平利县| 英德市| 当雄县| 南京市| 报价| 阿图什市| 乐业县| 兴安盟| 韩城市| 闻喜县| 南宁市| 永嘉县| 博兴县| 乌苏市| 高碑店市| 高密市| 信宜市| 崇左市| 龙门县| 铅山县| 竹山县| 鄂温| 五台县|