專利名稱:具有多個(gè)著色器引擎的處理單元的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常針對(duì)在計(jì)算機(jī)系統(tǒng)中實(shí)施的計(jì)算操作。更具體而言,本發(fā)明是針對(duì)在計(jì)算機(jī)系統(tǒng)執(zhí)行計(jì)算操作的處理單元。
背景技術(shù):
圖形處理單元(GPU)是一種適用于執(zhí)行圖形處理任務(wù)的復(fù)雜集成電路 (integrated circuit)。舉例而言,GPU能依終端使用者應(yīng)用所需的執(zhí)行圖形處理任務(wù),例如視訊游戲(video-game)。此GPU可以是離散的(即分散)裝置及/或包裝件或也可能包含在相同裝置內(nèi)及/或包裝件中如另一個(gè)處理器(如,CPU)。舉例而言,GPU常集成于路由或橋接裝置,舉例而言,如北橋裝置。在上述例子中,所述終端使用者應(yīng)用與GPU間有多層的軟件。所述終端使用者應(yīng)用是與應(yīng)用編程接口(API)相連接。API可使終端使用者應(yīng)用以標(biāo)準(zhǔn)化格式輸出圖形數(shù)據(jù)及命令,而不是取決于GPU的格式。市售API有幾種類型,包含由微軟(Microsoft Corporation of Redmond)開發(fā)的 DirectX 、Khronos 集團(tuán)發(fā)表的 Washington and OpenGL 0所述API是與驅(qū)動(dòng)程序相連接。所述驅(qū)動(dòng)程序?qū)腁PI所接收的標(biāo)準(zhǔn)程序碼轉(zhuǎn)換為可被GPU理解的指令的本機(jī)格式。所述驅(qū)動(dòng)程序通常由GPU的制造商寫入,接著GPU執(zhí)行自驅(qū)動(dòng)程序產(chǎn)生的指令。藉由GPU所執(zhí)行的圖形處理任務(wù),其通常涉及復(fù)雜的數(shù)學(xué)運(yùn)算,如矩陣或向量的運(yùn)算。為了有效的執(zhí)行這些運(yùn)算,GPU通常包含處理組件的陣列,稱之為著色器引擎。處理組件的陣列被組織為一種單一指令多重?cái)?shù)據(jù)(SIMD)裝置。所述著色器引擎執(zhí)行指令的順序,稱之為著色器程序。所述必需執(zhí)行著色器程序的數(shù)據(jù)是平行分散于著色器引擎中的不同處理組件。不同處理組件可能在不同的數(shù)據(jù)片段執(zhí)行相同的操作。因此,GPU可以比典型的中央處理單元(CPU)更快的執(zhí)行圖形處理任務(wù)所需的復(fù)雜數(shù)學(xué)計(jì)算。過去,GPU必需包含不同的著色器引擎以執(zhí)行完成單一圖形處理任務(wù)所需的不同著色器程序。舉例而言,單一圖形處理任務(wù)可能需要至少兩個(gè)不同的著色器程序的執(zhí)行用于操作三角形的頂點(diǎn)的頂點(diǎn)著色器;以及用于決定即將顯示于顯示裝置(如,電腦螢?zāi)?上的像素的像素著色器。為了執(zhí)行這兩組計(jì)算,典型的GPU包含兩個(gè)不同的著色器引擎(i) 第一著色器引擎,用于執(zhí)行所述頂點(diǎn)著色器;以及(ii)第二著色器引擎,用于執(zhí)行所述像素著色器。最近,GPU已經(jīng)被設(shè)計(jì)成含有一整合著色器引擎。整合著色器引擎包含能執(zhí)行數(shù)個(gè)不同類型的著色器程序的處理組件的陣列。整合著色器引擎,舉例而言,可利用在整合著色器的處理組件的陣列之間重復(fù)循環(huán)的每一個(gè)著色器,而不是在管線中不同著色器引擎中進(jìn)行的方式,來執(zhí)行頂點(diǎn)著色器、幾何著色器及像素著色器。除了典型的圖形處理任務(wù)(如, 頂點(diǎn)著色器、幾何著色器、像素著色器等)之外,整合著色器引擎最近也可用于執(zhí)行通用計(jì)算操作(如,數(shù)學(xué)算法、物理模擬等)。為了保持競爭力,GPU的計(jì)算能力必需不斷增加以跟上顧客的需求及API與終端使用者應(yīng)用的要求。一種增加GPU的計(jì)算能力的方式為增加著色器引擎的陣列中的處理組件的數(shù)量。然而,為了要提供數(shù)據(jù)及工作負(fù)荷給數(shù)量已增加的處理組件,饋送處理組件的輸入/輸出總線也必須相對(duì)的增加,此舉僅是為了維持GPU現(xiàn)有的效能。為解決GPU的計(jì)算能力增加的問題,可能的方法為增加著色器引擎中的SIMD的寬度。然而,這個(gè)解決方法會(huì)有SIMD分歧的問題。當(dāng)SIMD裝置上有不同線程采取著色器程序的分支指令(branch instruction)中的不同方向運(yùn)行時(shí),則會(huì)發(fā)生SIMD分歧。舉例而言, 著色器程序可能具有如表1所示的分支指令。會(huì)發(fā)生SIMD分歧,舉例而言,若運(yùn)行于SIMD 裝置的第一線程輸入分支指令的“then”段(如,operation 1),且行于SIMD裝置的第二線程運(yùn)輸入分支指令的“else”段(如,operation 2)。在此條件下,所述第二線程(輸入 “else”段)將必須等待第一線程(輸入“if”語句)。與SIMD分歧有關(guān)的等待需耗費(fèi)著色器程序額外的時(shí)間來執(zhí)行。由于SIMD分歧潛在的問題,若想增加GPU的計(jì)算能力,單純?cè)黾覵IMD的寬度可能不是一個(gè)可行的選擇。
if(condition) {
operation 1 ;
}
else {
operation 2 ;
}表1.其它可能可增加GPU計(jì)算能力的方法,為在著色器引擎的陣列中增加處理組件 (如,SIMD)的堆迭。然而,此解決方法因?yàn)閹讉€(gè)理由而有問題。作為一個(gè)初步的問題,增加處理組件的堆迭可能導(dǎo)致芯片的加長,可能產(chǎn)生制造上的問題。此外,增加處理組件的堆迭會(huì)產(chǎn)生與提供工作負(fù)荷到堆迭相關(guān)的增加的輸入延遲以及與從堆迭路由結(jié)果有關(guān)的增加的輸出延遲。此外,提供數(shù)據(jù)(如,狀態(tài)數(shù)據(jù))至堆迭時(shí)將有增加的延遲。因此,對(duì)于增加 GPU的計(jì)算能力,單純?cè)黾犹幚斫M件堆迭的厚度可能不是一個(gè)可行的選擇。根據(jù)前述,需要開發(fā)一種增加計(jì)算能力的GPU及其應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明提供一滿足上述已增加計(jì)算能力的處理器及其應(yīng)用。而不是增加單一著色器引擎中處理器的寬度及厚度,于本發(fā)明的具體實(shí)施例中本發(fā)明揭示一種具有多個(gè)著色器引擎的處理器。舉例而言,根據(jù)本發(fā)明的具體實(shí)施例,所述處理器包含第一著色器引擎及第二著色器引擎。第一著色器引擎建構(gòu)成處理用于即將顯示于顯示裝置上的像素的第一子集的像素著色器。第二著色器引擎建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第二子集的像素著色器。所述第一及第二著色器引擎兩者亦建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。所述處理器亦包含第一級(jí)(Li)數(shù)據(jù)高速緩存,其是耦接至并設(shè)置于所述第一及第二著色器引擎之間。
在另一具體實(shí)施例中,所述處理器定義為軟件。于此具體實(shí)施例,計(jì)算機(jī)程序產(chǎn)品包含含有指令的計(jì)算機(jī)可讀取儲(chǔ)存媒介,當(dāng)執(zhí)行所述指令于計(jì)算器裝置時(shí)定義所述處理
ο在進(jìn)一步的具體實(shí)施例中,所述處理器包含計(jì)算系統(tǒng)。在此具體實(shí)施例中,所述計(jì)算系統(tǒng)包含存儲(chǔ)器、第一處理單元、第二處理單元及總線,所述總線是與所述存儲(chǔ)器、所述第一處理單元及所述第二處理單元耦接。計(jì)算機(jī)系統(tǒng)的例子包含,而非限制于,超級(jí)電腦、 桌上型電腦、膝上型電腦、視訊游戲裝置、嵌入式裝置、手提裝置(如,行動(dòng)電話、智能型手機(jī)、MP3播放器、照相機(jī)等)、或其它包含或建構(gòu)有處理器的裝置。仍然在進(jìn)一步的具體實(shí)施例中,提供一種用于在處理器中處理著色器的方法。依據(jù)此方法,第一著色器引擎處理用于即將顯示于顯示裝置上的像素的第一子集,且第二著色器引擎處理用于即將顯示于所述顯示裝置上的像素的第二子集。所述第一及第二著色器引擎中兩者亦處理通用計(jì)算著色器及非像素圖形著色器。本發(fā)明進(jìn)一步的特征及優(yōu)點(diǎn)在于,本發(fā)明的具體實(shí)施例除結(jié)構(gòu)外其操作方法也具有各種不同的態(tài)樣,參考附圖詳細(xì)說明于下,而非限制于此所描述的特定具體實(shí)施例。下述具體實(shí)施例僅供說明之用?;诒景傅慕淌驹擃I(lǐng)域技術(shù)人員可輕易思及本發(fā)明額外的具體實(shí)施例。
下列附圖為并為說明書的一部分,連同說明書以詳細(xì)說明本發(fā)明,并進(jìn)一步解釋本發(fā)明的原理,使該領(lǐng)域技術(shù)人員可制作及使用本發(fā)明。圖1為依據(jù)本發(fā)明的具體實(shí)施例的計(jì)算系統(tǒng)的例示方塊圖。圖2為依據(jù)本發(fā)明的具體實(shí)施例的具有多個(gè)分割畫面、整合著色器引擎的GPU的例示方塊圖。圖3為圖2所述的GPU所包含的輸入邏輯的例示方塊圖。圖4A及4B為圖2所述的GPU的分割畫面、整合著色器引擎例示方塊圖。圖5為圖2所述的GPU的著色器引擎共享的第一級(jí)(Li)數(shù)據(jù)高速緩存的例示方塊圖。圖6為圖2的GPU含有的芯片外存儲(chǔ)器存取邏輯的例示方塊圖。根據(jù)下文詳細(xì)的描述配合圖說,及全文所述的參考組件符號(hào)能使本發(fā)明的特征及優(yōu)點(diǎn)更征明確。在圖說中,相同的參考數(shù)字通常指出相同、功能相似及/或結(jié)構(gòu)相似的組件。第一次出現(xiàn)的組件,其參考數(shù)字顯示于最左邊的數(shù)字。
具體實(shí)施例方式I.概述本發(fā)明所顯示的具體實(shí)施例,是針對(duì)一種于具有多個(gè)著色器引擎的處理單元及其應(yīng)用。于下列詳細(xì)描述中提及的“一種具體實(shí)施例”、“具體實(shí)施例”、“例示實(shí)施例”等術(shù)語, 是指描述具體實(shí)施例可能包含的特定的特點(diǎn)、結(jié)構(gòu)或特征,但每個(gè)具體實(shí)施例未必包含所有特定的特點(diǎn)、結(jié)構(gòu)或特征。此外,這些術(shù)語未必論述相同具體實(shí)施例。此外,當(dāng)一特定的特點(diǎn)、結(jié)構(gòu)或特征描述于相關(guān)的具體實(shí)施例中,無論是否詳細(xì)描述其它具體實(shí)施例,該領(lǐng)域技術(shù)人員可輕易推知影響本發(fā)明特點(diǎn)、結(jié)構(gòu)或特征相關(guān)的其它具體實(shí)施例。根據(jù)具體實(shí)施例,提供具有多個(gè)著色器引擎的處理器以增加處理器的計(jì)算能力。 設(shè)計(jì)一種具有多個(gè)著色器引擎的處理器,而不是單純?cè)黾訂我恢饕娴膶挾燃?或厚度,促進(jìn)進(jìn)一步突破較大量的SIMD。在具體實(shí)施例中,多個(gè)著色器引擎的數(shù)據(jù)共享存取至通用的高速緩存系統(tǒng),以減少提供數(shù)據(jù)至著色器引擎相關(guān)的延遲。于此具體實(shí)施例中,多個(gè)著色器引擎及高速緩存系統(tǒng)可建構(gòu)成具有實(shí)質(zhì)上方形平面設(shè)計(jì)的處理器。舉例而言,所述高速緩存系統(tǒng)(或至少其中一部分)可放置于中央位置,以著色器引擎的一半從一端存取高速緩存系統(tǒng)且著色器引擎的另一半由另一端存取高速緩存系統(tǒng)。處理器的著色器引擎對(duì)非像素著色器及像素著色器的操控是不同的。對(duì)于非像素圖形著色器,處理器的每個(gè)著色器引擎是相同的。換言之,每個(gè)著色器引擎建構(gòu)成處理通用計(jì)算著色器(舉例而言,如數(shù)學(xué)算法、物理模擬等)及非像素圖形著色器(舉例而言,如頂點(diǎn)著色器、幾何著色器、嵌入式著色器等)。于具體實(shí)施例中,所述非像素圖形著色器以循環(huán)的方式(round-robin fashion)傳送至多個(gè)著色器引擎。對(duì)于像素著色器,處理器的每個(gè)著色器引擎建構(gòu)成處理即將顯示于顯示裝置上的像素的特定子集。顯示裝置的像素被劃分為與著色器引擎數(shù)量相對(duì)應(yīng)的子集數(shù)量。舉例而言,于具體實(shí)施例中,所述處理器包含兩個(gè)著色器引擎,顯示裝置的像素被劃分為像素的第一及第二子集(如,棋盤模式(checkerboard pattern),其棋盤模式的偶數(shù)像素包括第一子集以及棋盤模式的奇數(shù)像素包括第二子集。于此具體實(shí)施例中,所述處理器的第一著色器引擎建構(gòu)成用于處理第一子集的像素,及所述處理器的第二著色器引擎建構(gòu)成用于處理第二子集的像素。所述處理器可能亦包括兩個(gè)以上(如,四個(gè)、八個(gè)等)的著色器引擎。在此種情況下,所述顯示裝置的像素被劃分為兩個(gè)以上(如,四個(gè)、八個(gè)等)的子集,且每個(gè)像素的子集由處理器的特定的著色器引擎處理。關(guān)于例示處理器進(jìn)一步詳細(xì)的描述,請(qǐng)參照下述之本發(fā)明的具體實(shí)施例。以描述為前提,然而,有助于描述在此處理器上可實(shí)行的具體實(shí)施例系統(tǒng)。II.例示系統(tǒng)圖1為依據(jù)本發(fā)明的具體實(shí)施例的計(jì)算系統(tǒng)100的例示方塊圖。計(jì)算系統(tǒng)100包含CPU 102,GPU 110,且可選擇包括協(xié)處理器(Coprocessor) 112。此外,計(jì)算系統(tǒng)100包含可被CPU 102、GPU 110或協(xié)處理器112存取的系統(tǒng)存儲(chǔ)器104。在具體實(shí)施例中,計(jì)算系統(tǒng)100可包括超級(jí)電腦、桌上型電腦、膝上型電腦、視訊游戲裝置、嵌入式裝置、手提裝置 (如,行動(dòng)電話、智能型手機(jī)、MP3播放器、照相機(jī)、GPS裝置等)、或其它包含或建構(gòu)有GPU的裝置。盡管圖1沒有明確的說明,所述計(jì)算系統(tǒng)100可包含用于顯示顯示內(nèi)容(如,圖形、視頻等)的顯示裝置(如,陰極射線管(cathode-ray tube)、液晶顯示器、等離子顯示器等)。GPU 110及協(xié)處理器112通過總線114連接至CPU 102及所述系統(tǒng)存儲(chǔ)器??偩€ 114可以為任何型式的總線用于所述計(jì)算系統(tǒng),包含周邊組件接口(PCI)總線、繪圖加速端口(AGP)總線、高速PCI (PCIE)總線或無論現(xiàn)所使用或未來開發(fā)的其它任一型式的總線。GPU 110及協(xié)處理器112通過執(zhí)行某些特殊功能來幫助CPU 102,因此通常比CPU 102執(zhí)行那些軟件更快。舉例而言,GPU 110可處理數(shù)據(jù)并列計(jì)算任務(wù),例如舉例而言,圖形處理任務(wù)(包含,舉例而言,頂點(diǎn)著色器、幾何著色器、像素著色器等)以及通用計(jì)算任務(wù) (包含,舉例而言,數(shù)學(xué)算法、物理模擬等)。更詳而言,根據(jù)本發(fā)明的具體實(shí)施例,GPU 110包含多個(gè)著色器引擎。相較于單一著色器引擎的GPU,多個(gè)著色器引擎可增加GPU 110的計(jì)算能力。協(xié)處理器112可能包括,但非限制于,浮點(diǎn)協(xié)處理器、GPU、網(wǎng)路連結(jié)協(xié)處理器及其它類型的協(xié)處理器,且為該領(lǐng)域技術(shù)人員顯而易知的處理器。除了系統(tǒng)存儲(chǔ)器104外,計(jì)算系統(tǒng)100進(jìn)一步包含區(qū)域存儲(chǔ)器106及區(qū)域存儲(chǔ)器 108。區(qū)域存儲(chǔ)器106耦接至GPU 110,其可能也與總線114耦接。區(qū)域存儲(chǔ)器108耦接至協(xié)處理器112且可能也耦接至總線114。為了使某些數(shù)據(jù)(如,使用頻繁的數(shù)據(jù))的存取可能比儲(chǔ)存在系統(tǒng)存儲(chǔ)器的數(shù)據(jù)快,區(qū)域存儲(chǔ)器106及108可分別耦接至GPU 110及協(xié)處理器 112。在具體實(shí)施例中,GPU 110及協(xié)處理器112與CPU 102平行解碼指令,且只有執(zhí)行那些用于GPU 110及協(xié)處理器102的指令。在另一具體實(shí)施例中,CPU 102發(fā)送用于GPU 110及協(xié)處理器102的指令至各自命令緩沖器。III例示處理器圖2為依據(jù)本發(fā)明的具體實(shí)施例的具有多個(gè)著色器引擎的例示處理器的方塊圖。 僅說明目的而非限制于,下所描述的例示處理器稱為GPU。然而,該領(lǐng)域技術(shù)人員會(huì)了解,本發(fā)明所述的具體實(shí)施例可能應(yīng)用于其它型式的處理器,如視訊處理單元,中央處理單元、協(xié)處理器及其它包含多個(gè)著色器引擎的類似處理單元。在不悖離本發(fā)明的范圍及精神下考慮這些其它型式的處理器。如圖2所示的具體實(shí)施例,GPU 110包含兩個(gè)著色器引擎-第一著色器引擎210A 及第二著色器引擎210B。著色器引擎210整合為非像素著色器,表示每個(gè)著色器引擎210 都建構(gòu)成用于執(zhí)行非像素圖形著色器(如,頂點(diǎn)著色器、幾何著色器、嵌入式著色器等)以及通用計(jì)算著色器(如,數(shù)學(xué)算法、物理模擬等)。每個(gè)非像素著色器僅在著色器引擎210 的處理組件的陣列之間重復(fù)循環(huán),而不是在管線中不同著色器引擎進(jìn)行。不同于非像素圖形著色器,著色器引擎210并非整合為像素著色器。所指像素著色器,每個(gè)著色器引擎210建構(gòu)成用于執(zhí)行即將顯示于顯示裝置的像素的子集的著色程序。舉例而言,第一著色器引擎210A可建構(gòu)為執(zhí)行即將顯示于顯示裝置的像素的第一子集 (如,一半)的著色器程序,以及第二著色器引擎210B可建構(gòu)為執(zhí)行即將顯示于顯示裝置的像素的第二子集(如,另一半)的著色程序。盡管圖2繪制的GPU僅有兩個(gè)著色器引擎,但可體會(huì)的此僅用于說明而非限制本發(fā)明。在一具體實(shí)施例中,GPU 110可包括兩個(gè)以上(如,四個(gè)、八個(gè)、十六個(gè)等)著色器引擎。在此具體實(shí)施例中,一半的著色器引擎位于數(shù)據(jù)路徑的一端(如,數(shù)據(jù)高速緩存206), 以及另一半的著色器引擎位于數(shù)據(jù)路徑的另一端(如,數(shù)據(jù)高速緩存206)。因?yàn)橐话氲闹饕嫖挥跀?shù)據(jù)路徑的一端,且另一半的著色器引擎位于數(shù)據(jù)路徑的另一端,則GPU 110 可能建構(gòu)成實(shí)質(zhì)的方形的平面設(shè)計(jì)。除了著色器引擎210,圖2說明所述的GPU 110也包含輸入邏輯204、高速緩存系統(tǒng)(包含第一級(jí)(Li))數(shù)據(jù)高速緩存206、(第二級(jí)(U))數(shù)據(jù)高速緩存216),以及輸出邏輯(包含路由選擇邏輯212A-B、交叉開關(guān)214,以及芯片外存儲(chǔ)器存取邏輯218A-B)。每個(gè)組件詳述于下文。A.輸入邏輯204輸入邏輯204執(zhí)行圖形處理任務(wù)及通用計(jì)算任務(wù)的前處理,且發(fā)配任務(wù)至著色器引擎210。圖3為說明輸入204的具體實(shí)施例。如圖3的具體實(shí)施例所述,輸入邏輯204包含命令處理器302、頂點(diǎn)分析器310、基元組譯器312、第一掃描轉(zhuǎn)換器314A,第二掃描轉(zhuǎn)換器314B、第一輸入控制塊316A及第二輸入控制塊316B。命令處理器302接收來自CPU的圖形處理及通用計(jì)算任務(wù)。接著命令處理器302 將這些任務(wù)傳至頂點(diǎn)分析器310。頂點(diǎn)分析器310識(shí)別關(guān)于圖形處理及/或通用計(jì)算任務(wù)的所有著色器程序。當(dāng)各個(gè)著色器程序可在著色器引擎210中啟動(dòng)時(shí),頂點(diǎn)分析器310基于將會(huì)有效的輸入及輸出數(shù)據(jù)時(shí)排程。舉例而言,特殊的圖形處理任務(wù)可能需要第一著色器程序及第二著色器程序來執(zhí)行,其中第二著色器程序取決于第一著色器程序產(chǎn)生的數(shù)據(jù)。根據(jù)本實(shí)施例,頂點(diǎn)分析器310辨識(shí)第一及第二著色器程序且排程第一著器色程序執(zhí)行于第二著色器程序之前,以便在第二著色器程序啟動(dòng)時(shí),第二著色器程序的數(shù)據(jù)有效。除了排程著色器程序的啟動(dòng)外,頂點(diǎn)分析器310也產(chǎn)生頂點(diǎn)緩沖器的指標(biāo)且包括連接數(shù)據(jù)。所述指標(biāo)是用于讀取來自頂點(diǎn)緩沖器的頂點(diǎn)。若頂點(diǎn)已經(jīng)被處理且被儲(chǔ)存于頂點(diǎn)緩沖器,則頂點(diǎn)分析器310可從頂點(diǎn)緩沖器讀取那個(gè)頂點(diǎn),所以頂點(diǎn)只會(huì)被處理一次。所述連接數(shù)據(jù)具體指出頂點(diǎn)如何結(jié)合在一起成為基元(如,三角形),以便使基元能正確的柵格化。頂點(diǎn)分析器310是耦接至基元組譯器312及輸入控制塊316。傳送來自頂點(diǎn)分析器 310的一些著色器程序至基元組譯器312,且傳送其它著色器程序至第一輸入控制塊316A 或第二輸入控制塊316B兩者之一。尤其是,傳送像素著色器至基元組譯器312 ;反之,傳送通用計(jì)算著色器及非像素圖形著色器至輸入控制塊316?;M譯器312于基元被傳送至掃描轉(zhuǎn)換器314之前,進(jìn)行前處理(如,轉(zhuǎn)換、剪輯等)。如圖3的具體實(shí)施例所示,基元組組譯器可能收到來自頂點(diǎn)分析器310或路由選擇邏輯212的基元。掃描轉(zhuǎn)換器314遍歷基元以決定像素要由不同的著色器引擎210處理。在具體實(shí)施例中,第一掃描轉(zhuǎn)換器314A傳送像素的第一子集(如,棋盤模式的偶數(shù)像素)至第一輸入控制塊316A供第一著色器引擎210A后續(xù)處理,且第二掃描轉(zhuǎn)換器314B傳送像素的第二子集(如,棋盤模式的基數(shù)像素)至第一輸入控制塊316B供第二著色器引擎210B后續(xù)處理。如上所述,輸入控制塊316除了接收來自掃描轉(zhuǎn)換器314的像素外,輸入控制塊 316也接收來自頂點(diǎn)分析器310的非像素著色器。在具體實(shí)施例中,頂點(diǎn)分析器310以循環(huán)的方式將非像素著色器(如,通用計(jì)算及非像素圖形著色器)傳遞至輸入控制塊316。舉例而言,頂點(diǎn)分析器310可依序排程非像素著色器的流,包括第一非像素著色器、第二非像素著色器、第三非像素著色器、第四非像素著色器,以此類推。根據(jù)非像素著色器的循環(huán)分布, 頂點(diǎn)分析器310傳送第一非像素著色器至第一輸入控制塊316A、傳送第二非像素著色器至第二輸入控制塊316B、傳送第三非像素著色器至第一輸入控制塊316A、傳送第四非像素著色器至第二輸入控制塊316B,以此類推。輸入控制塊316決定傳送特定的工作負(fù)荷至著色器引擎210的哪里。如上簡短的描述且將詳述于后文,每個(gè)著色器引擎210包含多個(gè)處理組件(如,SIMD)。輸入控制塊316 辨識(shí)哪一個(gè)處理組件(如,SIMD)可用來處理新的工作負(fù)荷且傳送新的工作負(fù)荷至可用的處理組件(如,SIMD)。尤其是,第一輸入控制塊316A傳送工作負(fù)荷至第一著色器引擎210A 的處理組件(如,SIMD),且第二輸入控制塊316B傳送工作負(fù)荷至第二著色器引擎210B的處理組件(如,SIMD)。B.著色器引擎210圖4A及4B分別說明第一著色器引擎210A及第二著色器引擎210B的范例細(xì)節(jié)。 如圖4A及4B所示的具體實(shí)施例,著色器引擎210建構(gòu)成相對(duì)于在兩著色器引擎中的中央軸而彼此相對(duì)的鏡像。如此方式,著色器引擎210可共享存取至高速緩存系統(tǒng),在下文更詳細(xì)的解釋。如圖4A及4B所示,每個(gè)著色器引擎210包含多個(gè)SIMD 406、多個(gè)全域數(shù)據(jù)共享 (LDS) 404,及序列發(fā)生器402。SIMD 406為每個(gè)著色器引擎210的數(shù)據(jù)-并列處理組件。 在具體實(shí)施例中,每個(gè)著色器引擎包含十行SIMD 406,每行包括四組具有四個(gè)組件的算術(shù)-邏輯運(yùn)算單元(ALUs)。每個(gè)LDS 404儲(chǔ)存用于SIMD 406的行的數(shù)據(jù)。序列發(fā)生器402 保持追蹤SIMD406中不同著色器引擎210正處理工作負(fù)荷,使多個(gè)線程能并列執(zhí)行。在具體實(shí)施例中,舉例而言,超過30,000個(gè)線程可在任何一時(shí)間執(zhí)行在每個(gè)著色器引擎210中。 可從高速緩存系統(tǒng)擷取SIMD 406所須用以執(zhí)行的數(shù)據(jù)。C.高速緩存系統(tǒng)回到圖2,所述高速緩存系統(tǒng)包含Ll數(shù)據(jù)高速緩存206、L2數(shù)據(jù)高速緩存216及芯片外存儲(chǔ)器存取邏輯218。當(dāng)著色器引擎210需要數(shù)據(jù)以執(zhí)行著色器程序時(shí),首先產(chǎn)生一至Ll數(shù)據(jù)高速緩存206的請(qǐng)求。若于Ll數(shù)據(jù)高速緩存206中有快取命中時(shí)(即請(qǐng)求的數(shù)據(jù)是在Ll數(shù)據(jù)高速緩存206中),所述數(shù)據(jù)則依據(jù)哪一個(gè)著色器引擎請(qǐng)求該數(shù)據(jù)而被發(fā)送至第一著色器引擎210A或第二著色器引擎210B的兩者之一。若高速緩存從Ll數(shù)據(jù)高速緩存206有高速緩存缺失時(shí)(即所請(qǐng)求的數(shù)據(jù)不在Ll數(shù)據(jù)高速緩存206),Ll數(shù)據(jù)高速緩存206將所請(qǐng)求的數(shù)據(jù)發(fā)送至L2數(shù)據(jù)高速緩存216。L2數(shù)據(jù)高速緩存216是一個(gè)比Ll數(shù)據(jù)高速緩存還要大的高速緩存存儲(chǔ)器單元,但由于他較大的空間通常耗費(fèi)較長的時(shí)間判斷所請(qǐng)求的數(shù)據(jù)是否包含在L2數(shù)據(jù)高速緩存216中。倘若有一快取命中在L2數(shù)據(jù)高速緩存 216中,而所請(qǐng)求的數(shù)據(jù)儲(chǔ)存于Ll數(shù)據(jù)高速緩存206并將其發(fā)送至請(qǐng)求該數(shù)據(jù)的著色器引擎210。如果于L2數(shù)據(jù)高速緩存216中有高速緩存缺失,則所請(qǐng)求的數(shù)據(jù)必須通過芯片外存儲(chǔ)器存取邏輯218由芯片外存儲(chǔ)器透過擷取。圖5是說明Ll數(shù)據(jù)高速緩存的具體實(shí)施例。所述具體實(shí)施例如圖5所示,Ll數(shù)據(jù)高速緩存206包含對(duì)應(yīng)于每個(gè)著色器引擎210的多個(gè)SIMD的多個(gè)邏輯塊的行。Ll數(shù)據(jù)高速緩存206的邏輯塊的每一行包含第一紋理-地址單元502A、第一紋理-數(shù)據(jù)單元504A、 紋理-快取緩存/Li對(duì)510、第二紋理-數(shù)據(jù)單元504B及第二紋理-地址單元502B。紋理-地址單元502基于來自序列發(fā)生器402的狀態(tài)數(shù)據(jù)產(chǎn)生紋理地址。如此一來,可下載適合的紋理數(shù)據(jù)至區(qū)域存儲(chǔ)器做后續(xù)的處理。第一紋理-地址單元502A產(chǎn)生用于第一著色器引擎210A的紋理地址,而第二紋理地址單元502B產(chǎn)生用于第二著色器引擎 2IOB的紋理地址。紋理-數(shù)據(jù)單元504過濾及回傳數(shù)據(jù)至所述著色器引擎210。第一紋理-數(shù)據(jù)單元504A耦接至第一著色器引擎210A,且第二紋理-數(shù)據(jù)單元504B耦接至第二著色器引擎 210B。
紋理-高速緩存/Li對(duì)510執(zhí)行數(shù)據(jù)的第一級(jí)高速緩存。如上所述,若紋理-高速緩存/Li對(duì)510中有缺失,則產(chǎn)生一至L2數(shù)據(jù)高速緩存216的請(qǐng)求。紋理-高速緩存/ Ll對(duì)510服務(wù)來自第一著色器引擎210A及第二著色器引擎210B的數(shù)據(jù)請(qǐng)求。以此方式, 可減少與為著色器引擎210擷取數(shù)據(jù)有關(guān)的延遲。D.輸出邏輯執(zhí)行著色器程序后,著色器引擎210將結(jié)果傳送至輸出邏輯。回到圖2,所述輸出邏輯包含路由選擇邏輯212、交叉開關(guān)214及芯片外存儲(chǔ)器存取邏輯218。如圖2所示,第一著色器引擎210A將結(jié)果傳送至第一路由選擇邏輯212A,且第二著色器引擎210B將結(jié)果傳送至第二路由選擇邏輯212B。每個(gè)路由選擇邏輯212包含輸出緩沖器。為維持著色器引擎210的SIMD持續(xù)忙錄,可能發(fā)送柵格化命令以外的工作負(fù)荷至著色器引擎。然而,所述著色器引擎210產(chǎn)生的結(jié)果最終將合并于柵格化命令中,以確保像素能正確的顯示于顯示裝置。包含于每個(gè)路由選擇邏輯212中的輸出緩沖器使著色器引擎210輸出柵格化命令以外的執(zhí)行結(jié)果。每個(gè)路由選擇邏輯212亦包括使著色器引擎210的結(jié)果以正確路線傳送的邏輯。 如圖2所示,路由選擇邏輯212可能將來自著色器引擎210的結(jié)果傳送至下列位置(i)輸入邏輯204,其中,所述結(jié)果將接著由第一著色器引擎210A或第二著色器引擎210B兩者之一作處理;(ii)第一芯片外存儲(chǔ)器存取邏輯218A,其中,所述結(jié)果接著寫入第一多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一芯片外存儲(chǔ)信道;或者(iii)第二芯片外存儲(chǔ)器存取邏輯218A, 其中,所述結(jié)果接著寫入第二多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一芯片外存儲(chǔ)信道。第一路由選擇邏輯212A可直接傳送結(jié)果至第一芯片外存儲(chǔ)器存取邏輯218A,但需使用交叉開關(guān) 214傳送結(jié)果至第二芯片外存儲(chǔ)器存取邏輯218B。同樣的,第二路由選擇邏輯212B可直接傳送結(jié)果至第二芯片外存儲(chǔ)器存取邏輯218B,但需使用交叉開關(guān)214傳送結(jié)果至第一芯片外存儲(chǔ)器存取邏輯218A。于具體實(shí)施例中,交叉開關(guān)214包括三十二像素的交叉開關(guān),其中,每一像素含有一百二十八個(gè)位。圖6說明芯片外存儲(chǔ)器存取邏輯218的詳細(xì)實(shí)施例。如圖6所示的具體實(shí)施例, 芯片外存儲(chǔ)器存取邏輯218包含多個(gè)寫入組合高速緩存602A-D、多個(gè)深度緩沖器604A-D、 多個(gè)色彩緩沖器606A-D、第一存儲(chǔ)接口 608A及第二存儲(chǔ)接口 608B。寫入組合高速緩存602 合并即將寫入芯片外存儲(chǔ)器的數(shù)據(jù),且能有效的存取至芯片外存儲(chǔ)器。深度緩沖器604緩沖Z-測試的結(jié)果器。色彩緩沖器606緩沖混色的結(jié)果器。每個(gè)存儲(chǔ)器接口 608包括雙信道存儲(chǔ)器控制器。由于芯片外存儲(chǔ)器存取邏輯218包含兩個(gè)雙信道存儲(chǔ)器控制器,每個(gè)芯片外存儲(chǔ)器存取邏輯218有四個(gè)不同芯片外存儲(chǔ)器信道可供存取。IV.例示操作在操作上,GPUl 10接收從CPU102的圖形處理及通用計(jì)算任務(wù)。GPU 110的輸入邏輯204以如上述的交替方式(如,循環(huán)式),傳送與執(zhí)行非像素著色器相關(guān)的工作負(fù)荷至第一著色器引擎210A或第二著色器引擎210B兩者之一。對(duì)于像素著色器而言,輸入邏輯204 傳送像素的第一子集(如,棋盤模式的偶數(shù)像素)至第一著色器引擎210A以及傳送像素的第二子集(如,棋盤模式的基數(shù)像素)至第二著色器引擎210B。發(fā)出要執(zhí)行的工作負(fù)荷后,著色器引擎210擷取所需的數(shù)據(jù)以執(zhí)行這些工作負(fù)荷。如上所述,所述數(shù)據(jù)是從高速緩存系統(tǒng)(包括Ll數(shù)據(jù)高速緩存206、L2數(shù)據(jù)高速緩存216及芯片外存儲(chǔ)器存取邏輯21 擷取。接著通過路由選擇邏輯212將來自著色器引擎210的結(jié)果路由至適當(dāng)?shù)奈恢?。重要的是,交叉開關(guān)214使來自兩個(gè)著色器引擎210的結(jié)果,經(jīng)由第一芯片外存儲(chǔ)器存取邏輯 218A或第二芯片外存儲(chǔ)器存取邏輯218B兩者之一寫入任何芯片外存儲(chǔ)信道。V.例示軟件實(shí)現(xiàn)除了 GPU 110的硬件實(shí)現(xiàn)外,舉例而言,這些GPU亦可能以配置于建構(gòu)成用以儲(chǔ)存軟件(如,計(jì)算機(jī)可讀取程序碼)的計(jì)算器可讀取媒介中的軟件來實(shí)施。所述程序代碼導(dǎo)致本發(fā)明的具體實(shí)施例的啟動(dòng),包括下列具體實(shí)施例(i)本文所揭露的系統(tǒng)功能及技術(shù)描述(如在GPUllO執(zhí)行圖形處理及通用計(jì)算任務(wù));(ii)本文所揭露的技術(shù)及系統(tǒng)的建構(gòu) (例如GPU 110的建構(gòu));或(iii)本文所揭露的系統(tǒng)的建構(gòu)與功能的結(jié)合。舉例而言,這些可透過一般程序語言(如C或C++)、硬件描述語言(HDL)包括 Verilog HDL、VHDL、Altera HDL(AHDL)以此類推、或其它能做程序設(shè)計(jì)及/或簡圖擷取工具(如電路繪制工具)來實(shí)現(xiàn)。所述程序碼可以置于任何已知的計(jì)算機(jī)可讀取媒介包括半導(dǎo)體、磁盤或光盤(如⑶-ROM、DVD-ROM)。因此,所述程序碼可由通信網(wǎng)路傳輸,通信網(wǎng)絡(luò)包括網(wǎng)際網(wǎng)絡(luò)與網(wǎng)際網(wǎng)絡(luò)。據(jù)了解,通過如上所述的系統(tǒng)及技術(shù)所提供的功能及/或建構(gòu)的系統(tǒng),表示于一核心(如GPU核心),藉由程序碼據(jù)以實(shí)施亦可轉(zhuǎn)化部分于硬件的集成電路生產(chǎn)。VI 結(jié)論應(yīng)當(dāng)明白的,詳細(xì)說明的部分、綜述及摘要部分是用于解釋權(quán)利要求書。所述綜述及摘要部分可能闡明一個(gè)或多個(gè)本發(fā)明的具體實(shí)施例,但并非本發(fā)明限制于該些具體實(shí)施例,因此,并非用任何方式限制本發(fā)明及附加的權(quán)利要求書。
權(quán)利要求
1.一種處理器,包括第一著色器引擎,其建構(gòu)成處理用于即將顯示于顯示裝置上的像素的第一子集的像素著色器;以及第二著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第二子集的像素著色器;其中,所述第一及第二著色器引擎各自進(jìn)一步建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。
2.根據(jù)權(quán)利要求1所述的處理器,進(jìn)一步包括第一級(jí)(Li)數(shù)據(jù)高速緩存,其是耦接至并設(shè)置于所述第一及第二著色器引擎之間。
3.根據(jù)權(quán)利要求2所述的處理器,其中,所述第一著色器引擎、所述第二著色器引擎及所述Ll數(shù)據(jù)高速緩存是用于提供具有實(shí)質(zhì)方形平面設(shè)計(jì)的所述處理器。
4.根據(jù)權(quán)利要求2所述的處理器,其中,所述Ll數(shù)據(jù)高速緩存是耦接至第二級(jí)(L2)數(shù)據(jù)高速緩存。
5.根據(jù)權(quán)利要求2所述的處理器,進(jìn)一步包括第三著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第三子集的像素著色器;以及第四著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第四子集的像素著色器;其中,所述Ll數(shù)據(jù)高速緩存是耦接至并設(shè)置于所述第三及第四著色器引擎之間,且其中,所述第三及第四著色器引擎各自進(jìn)一步建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。
6.根據(jù)權(quán)利要求1所述的處理器,進(jìn)一步包括輸入邏輯,其建構(gòu)成準(zhǔn)備即將發(fā)配至所述第一及第二著色器引擎的工作負(fù)荷。
7.根據(jù)權(quán)利要求6所述的輸入邏輯,包括第一掃描轉(zhuǎn)換器,其建構(gòu)成掃描所述工作負(fù)荷及識(shí)別即將由所述第一著色器引擎處理的所述像素的第一子集;以及第二掃描轉(zhuǎn)換器,其建構(gòu)成掃描所述工作負(fù)荷及識(shí)別即將由所述第二著色器引擎處理的所述像素的第二子集。
8.根據(jù)權(quán)利要求1所述的處理器,進(jìn)一步包括第一輸出邏輯,是耦接至所述第一著色器引擎及第一多數(shù)個(gè)芯片外存儲(chǔ)器信道,使來自所述第一著色器引擎的結(jié)果數(shù)據(jù)提供給所述第一多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一個(gè); 以及第二輸出邏輯,是耦接至所述第二著色器引擎及第二多數(shù)個(gè)芯片外存儲(chǔ)器信道,使來自所述第二著色器引擎的結(jié)果數(shù)據(jù)提供給所述第二多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一個(gè)。
9.根據(jù)權(quán)利要求8所述的處理器,進(jìn)一步包括 交叉開關(guān),是裝備有(i)第一數(shù)據(jù)路徑,是從所述第一著色器引擎至所述第二多數(shù)個(gè)芯片外存儲(chǔ)器信道;以及( )第二數(shù)據(jù)路徑,是從所述第二著色器引擎至所述第一多數(shù)個(gè)芯片外存儲(chǔ)器信道。
10.一種包括計(jì)算機(jī)可讀取儲(chǔ)存媒介的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀取儲(chǔ)存媒介含有指令,當(dāng)執(zhí)行所述指令于計(jì)算裝置中時(shí)定義處理器,其中所述處理器包括第一著色器引擎,其建構(gòu)成處理用于即將顯示于顯示裝置上的像素的第一子集的像素著色器;第二著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第二子集的像素著色器;以及其中,所述第一及第二著色器引擎各自進(jìn)一步建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。
11.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述處理器進(jìn)一步包括第一級(jí)(Li)數(shù)據(jù)高速緩存,其是耦接至并設(shè)置于所述第一及第二著色器引擎之間。
12.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述第一著色器引擎、所述第二著色器引擎及所述Ll數(shù)據(jù)高速緩存是用于提供具有實(shí)質(zhì)方形平面設(shè)計(jì)的所述處理器。
13.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述Ll數(shù)據(jù)高速緩存是耦接至第二級(jí)(U)數(shù)據(jù)高速緩存。
14.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述處理器進(jìn)一步包括第三著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第三子集的像素著色器;以及第四著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第四子集的像素著色器;其中,所述Ll數(shù)據(jù)高速緩存是耦接至并設(shè)置于所述第三及第四著色器引擎之間,且其中,所述第三及第四著色器引擎各自進(jìn)一步建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。
15.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述處理器進(jìn)一步包括輸入邏輯,其建構(gòu)成準(zhǔn)備即將發(fā)配至所述第一及第二著色器引擎的工作負(fù)荷。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述輸入邏輯包括第一掃描轉(zhuǎn)換器,其建構(gòu)成掃描所述工作負(fù)荷及識(shí)別即將由所述第一著色器引擎處理的所述像素的第一子集;以及第二掃描轉(zhuǎn)換器,其建構(gòu)成掃描所述工作負(fù)荷及識(shí)別即將由所述第二著色器引擎處理的所述像素的第二子集。
17.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述處理器進(jìn)一步包括第一輸出邏輯,是耦接至所述第一著色器引擎及第一多數(shù)個(gè)芯片外存儲(chǔ)器信道,使來自所述第一著色器引擎的結(jié)果數(shù)據(jù)提供給所述第一多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一個(gè); 以及第二輸出邏輯,是耦接至所述第二著色器引擎及第二多數(shù)個(gè)芯片外存儲(chǔ)器信道,使來自所述第二著色器引擎的結(jié)果數(shù)據(jù)提供給所述第二多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一個(gè)。
18.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述處理器進(jìn)一步包括交叉開關(guān),是裝備有(i)第一數(shù)據(jù)路徑,是從所述第一著色器引擎至所述第二多數(shù)個(gè)芯片外存儲(chǔ)器信道;以及( )第二數(shù)據(jù)路徑,是從所述第二著色器引擎至所述第一多數(shù)個(gè)芯片外存儲(chǔ)器信道。
19.一種用于在處理單元中處理著色器的方法,包括以下步驟在第一著色器引擎中,處理用于即將顯示于顯示裝置上的像素的第一子集的像素著色器;在第二著色器引擎中,處理用于即將顯示于所述顯示裝置上的像素的第二子集的像素著色器;以及在所述第一及第二著色器中,處理通用計(jì)算著色器及非像素圖形著色器。
20.根據(jù)權(quán)利要求19所述方法,進(jìn)一步包括使用第一掃描轉(zhuǎn)換器,識(shí)別即將由所述第一著色器引擎處理的所述像素的第一子集;以及使用第二掃描轉(zhuǎn)換器,識(shí)別即將由所述第二著色器引擎處理的所述像素的第二子集。
21.根據(jù)權(quán)利要求19所述方法,進(jìn)一步包括在第三著色器引擎中,處理用于即將顯示于所述顯示裝置上的像素的第三子集的像素著色器;以及在第四著色器引擎中,處理用于即將顯示于所述顯示裝置上的像素的第四子集的像素著色器。
22.—種計(jì)算機(jī)系統(tǒng),包括 存儲(chǔ)器;第一處理單元; 第二處理單元;以及總線,是耦接至所述存儲(chǔ)器、所述第一處理單元及所述第二處理單元,其中,所述第二處理單元包括第一著色器引擎,其建構(gòu)成處理用于即將顯示于顯示裝置上的像素的第一子集的像素著色器;以及第二著色器引擎,其建構(gòu)成處理用于即將顯示于顯示裝置上的像素的第二子集的像素著色器;其中,所述第一及第二著色器引擎各自進(jìn)一步建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。
23.根據(jù)權(quán)利要求22所述計(jì)算機(jī)系統(tǒng),其中,所述第二處理單元進(jìn)一步包括 第一級(jí)(Li)數(shù)據(jù)高速緩存,其是耦接至并設(shè)置于所述第一及第二著色器引擎之間。
24.根據(jù)權(quán)利要求23所述計(jì)算機(jī)系統(tǒng),其中,所述第一著色器引擎、所述第二著色器引擎及所述Ll數(shù)據(jù)高速緩存是用于提供具有實(shí)質(zhì)方形平面設(shè)計(jì)的所述第二處理單元。
25.根據(jù)權(quán)利要求23所述計(jì)算機(jī)系統(tǒng),其中,所述Ll數(shù)據(jù)高速緩存是耦接至第二級(jí) (L2)數(shù)據(jù)高速緩存。
26.根據(jù)權(quán)利要求23所述計(jì)算機(jī)系統(tǒng),其中,所述第二處理單元進(jìn)一步包括第三著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第三子集的像素著色器;以及第四著色器引擎,其建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第四子的像素著色器;其中,所述Ll數(shù)據(jù)高速緩存是耦接至并設(shè)置于所述第三及第四著色器引擎之間,且其中,所述第三及第四著色器引擎各自進(jìn)一步建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。
27.根據(jù)權(quán)利要求22所述計(jì)算機(jī)系統(tǒng),其中,所述第二處理單元進(jìn)一步包括 輸入邏輯,其建構(gòu)成準(zhǔn)備即將發(fā)配至所述第一及第二著色器引擎的工作負(fù)荷。
28.根據(jù)權(quán)利要求27所述計(jì)算機(jī)系統(tǒng),其中,所述輸入邏輯包括第一掃描轉(zhuǎn)換器,其建構(gòu)成掃描所述工作負(fù)荷及識(shí)別即將由所述第一著色器引擎處理的所述像素的第一子集;以及第二掃描轉(zhuǎn)換器,其建構(gòu)成掃描所述工作負(fù)荷及識(shí)別即將由所述第二著色器引擎處理的所述像素的第二子集。
29.根據(jù)權(quán)利要求22所述計(jì)算機(jī)系統(tǒng),其中,所述第二處理單元進(jìn)一步包括第一輸出邏輯,是耦接至所述第一著色器引擎及第一多數(shù)個(gè)芯片外存儲(chǔ)器信道,使來自所述第一著色器引擎的結(jié)果數(shù)據(jù)提供給所述第一多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一個(gè); 以及第二輸出邏輯,是耦接至所述第二著色器引擎及第二多數(shù)個(gè)芯片外存儲(chǔ)器信道,使來自所述第二著色器引擎的結(jié)果數(shù)據(jù)提供給所述第二多數(shù)個(gè)芯片外存儲(chǔ)器信道中的任一個(gè)。
30.根據(jù)權(quán)利要求四所述計(jì)算機(jī)系統(tǒng),其中,所述第二處理單元進(jìn)一步包括 交叉開關(guān),是裝備有(i)第一數(shù)據(jù)路徑,是從所述第一著色器引擎至所述第二多數(shù)個(gè)芯片外存儲(chǔ)器信道;以及( )第二數(shù)據(jù)路徑,是從所述第二著色器引擎至所述第一多數(shù)個(gè)芯片外存儲(chǔ)器信道。
全文摘要
一種處理器包含第一著色器引擎及第二著色器引擎。所述第一著色器引擎建構(gòu)成處理用于即將顯示于顯示裝置上的像素的第一子集的像素著色器。所述第二著色器引擎建構(gòu)成處理用于即將顯示于所述顯示裝置上的像素的第二子集的像素著色器。所述第一及第二著色器引擎兩者皆建構(gòu)成處理通用計(jì)算著色器及非像素圖形著色器。所述處理器也可包含第一級(jí)(L1)數(shù)據(jù)高速緩存,是耦接至并設(shè)置于所述第一著色器引擎及第二著色器引擎之間。
文檔編號(hào)G06T15/00GK102598061SQ201080049825
公開日2012年7月18日 申請(qǐng)日期2010年9月3日 優(yōu)先權(quán)日2009年9月3日
發(fā)明者J·T·布雷迪, M·曼托, R·C·泰勒 申請(qǐng)人:先進(jìn)微裝置公司