两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

相依指令線程調(diào)度的制作方法

文檔序號:6455748閱讀:138來源:國知局
專利名稱:相依指令線程調(diào)度的制作方法
技術(shù)領(lǐng)域
本發(fā)明大體來說涉及圖形處理器且更具體來說涉及對具有相依指令的線程的線 程調(diào)度。
背景技術(shù)
經(jīng)常使用專用處理器來執(zhí)行與一種類型的應(yīng)用程序相關(guān)的具體功能,以有效且快 速地執(zhí)行與所述應(yīng)用程序相關(guān)的操作。舉例來說,圖形處理器執(zhí)行各種圖形操作來處 理圖像數(shù)據(jù)并再現(xiàn)圖像且有效地操縱并顯示計算機圖形。由于其高度并行的結(jié)構(gòu),對 于各種各樣的復雜算法,圖形處理器比典型的通用處理器更有效。圖形處理器以以下 方式來實施若千圖形圖元操作使通過主機中央處理單元(CPU)執(zhí)行所述操作比直 接向屏幕呈現(xiàn)所述圖形快得多。
為有效地利用專用處理器(例如,圖形處理器)中的資源,經(jīng)常將任務(wù)組織為線 程,其中可同時或偽同時執(zhí)行所述線程的執(zhí)行。由于資源在給定時間通常僅可尋址單 個指令,因此使用線程調(diào)度器來控制對各種線程的指令的執(zhí)行的計時且有效地向所述 線程分配資源。然而,某些指令需要從具有不可預測的延遲的數(shù)據(jù)源檢索數(shù)據(jù)。舉例 來說,由于數(shù)據(jù)大小或位置,從處理器系統(tǒng)內(nèi)的某些存儲器檢索數(shù)據(jù)可具有不可預測 的延遲。具有不可預測的延遲的數(shù)據(jù)源的另一實例是在圖形處理器中返回紋理數(shù)據(jù)的 紋理引擎。由于紋理指令的可變復雜性,不能夠預測返回紋理數(shù)據(jù)所需要的時間。線 程的指令可以或可不需要從具有不可預測的延遲的數(shù)據(jù)源檢索數(shù)據(jù)。在線程的執(zhí)行期 間,相依指令可需要由先前指令獲取的數(shù)據(jù)來執(zhí)行所述相依指令。當從不可預測延遲 數(shù)據(jù)源獲取所述所需數(shù)據(jù)時,可能無法及時返回所述所需數(shù)據(jù)來執(zhí)行所述相依指令。
用于在常規(guī)系統(tǒng)中管理線程的一種技術(shù)包括在執(zhí)行特定線程的每--寸旨令之前檢 査數(shù)據(jù)可用性。然而,所述方法需要利用資源的復雜檢測方案。用于常規(guī)系統(tǒng)中的另 --技術(shù)包括暫停指令,直到完成加載指令,此導致低效率。
因此,需要 一種用于有效地管理具有相依指令的線程的執(zhí)行的線程調(diào)度器。

發(fā)明內(nèi)容
一種線程調(diào)度器包括用于提交線程的指令供所述線程調(diào)度器調(diào)度的線程上下文 單元,其中每一上下文寄存器包括用于維持指示與特定上下文寄存器相關(guān)聯(lián)的若干數(shù)
據(jù)請求與若干數(shù)據(jù)返回之間的差的計數(shù)器值的加載參考計數(shù)器。所述上下文單元的線程上下文控制器經(jīng)配置以避免在所述計數(shù)器值為非零時提交線程的指令且所述指令 包括指示所述指令需要由先前指令返回的數(shù)據(jù)的數(shù)據(jù)相依性指示符。


圖1是根據(jù)本發(fā)明的實例性實施例的線程管理系統(tǒng)的框圖。
圖2是根據(jù)所述實例性實施例的線程控制的狀態(tài)機圖。
圖3是根據(jù)所述實例性實施例的管理具有相依指令的線程的方法的流程圖。
具體實施例方式
本文所用措詞"實例性"意指"充當實例、示例或例證"。本文說明為"實例性" 的任何實施例未必解釋為優(yōu)選或優(yōu)于其它實施例。
圖1是根據(jù)本發(fā)明的實例性實施例的線程管理系統(tǒng)100的框圖。除參照圖1所論 述的那些以外,線程管理系統(tǒng)100可包括其它過程、實體、引擎及/或功能??墒褂?br> 硬件、軟件及/或固件的任一組合來實施圖1中所圖解說明的塊。此外,可以任何數(shù) 量的裝置、電路或元件來實施圖1中所說明的塊的功能及操作??蓪⑺龉δ軌K中的 兩者或更多者集成在串-個裝置中,且可在若干裝置上實施說明為在任一單個裝置中執(zhí)
行的功能。線程管理系統(tǒng)100的適合實施方案的實例包括將系統(tǒng)100實施為多線程處 理器IOI的部分。然而,可將所論述的技術(shù)應(yīng)用到用于調(diào)度并處理多個線程的各種處
理器或計算機系統(tǒng)中的任一者。
在所述實例性實施例中,在多線程處理器101中實施線程調(diào)度器102、算術(shù)邏輯 單元(ALU) 106、加載控制器108、指令高速緩存器(未顯示)、寄存器堆庫(未 顯示)、常數(shù)隨機存取存儲器(RAM)(未顯示)、其它功能。多線程處理器101 是經(jīng)配置以有效地處理特定類型的數(shù)據(jù)串流的可編程處理器。適合的多線程處理器 101的實例包括多線程處理器,所述多線程處理器包括用于有效地處理多媒體數(shù)據(jù)串 流(例如,視頻、音頻等)的常數(shù)數(shù)據(jù)。所述常數(shù)RAM通過改善寄存器庫檢索效率 來支持所述ALU。指令高速緩存器存儲線程的指令以向線程調(diào)度器102提供指令。 在線程調(diào)度器102的控制下,加載控制器108用來自存儲器128的指令加載指令高速 緩存器且用來自存儲器128及/或紋理引擎130的數(shù)據(jù)加載所述常數(shù)RAM及所述寄存 器堆庫。所述指令指示針對每一線程將要執(zhí)行的具體操作。適合操作的實例包括算術(shù) 操作、初等函數(shù)及存儲器存取操作。
所述常數(shù)RAM存儲由ALU 106使用的常數(shù)值。所述寄存器堆庫可存儲臨時結(jié) 果以及線程的來自ALU 106的最終結(jié)果。輸出接口 (未顯示)從寄存器堆庫接收已 執(zhí)行線程的最終結(jié)果且將所述結(jié)果提供到對應(yīng)的應(yīng)用程序。
線程管理系統(tǒng)100從(舉例來說)應(yīng)用程序接收線程,例如圖形線程。大體來說, 線程調(diào)度器102接收線程串流且執(zhí)行各種功能來調(diào)度并管理線程的執(zhí)行。舉例來說,
6線程調(diào)度器102可調(diào)度線程的處理、確定特定線程所需要的資源是否可用,且經(jīng)由加
載控制器108將線程數(shù)據(jù)移動到寄存器堆庫。線程調(diào)度器102與加載控制器108介接 以使所接收線程的資源同步。線程調(diào)度器102還可監(jiān)視從特定應(yīng)用程序接收線程的次 序且致使這些線程以與接收時的相同次序或序列被輸出。
線程調(diào)度器102選擇活動線程以用于執(zhí)行,檢查所選擇線程之間的讀取/寫入端 口沖突,如果不存在沖突,那么將來自線程的適當指令指派到ALU 106中且將另一 線程的另一指令發(fā)送到加載控制器108。在線程調(diào)度器102的請求下,加載控制器108 還可經(jīng)配置以從不可預測延遲數(shù)據(jù)源104 (例如,紋理引擎130或外部存儲器128) 獲得與線程相關(guān)聯(lián)的數(shù)據(jù)。舉例來說,存儲器128可包括全局數(shù)據(jù)高速緩存器及/或 外部存儲器裝置。除發(fā)出對丟失指令的提取請求以外,加載控制器108將線程數(shù)據(jù)加 載到寄存器堆庫(未顯示)中且將相關(guān)聯(lián)指令加載到指令高速緩存器(未顯示)中。 線程調(diào)度器102還移除已由ALU 106處理的線程。
ALU 106可以是單個四元組ALU或可包括四個標量ALU。在所述實例性實施例 中,ALU106對多達四個像素的屬性的一個分量執(zhí)行像素并行處理。在某些情況下, ALU 106對單個像素的屬性的多達四個分量執(zhí)行分量并行處理。ALU 106從寄存器堆 庫提取數(shù)據(jù)且從常數(shù)RAM接收常數(shù)。理想地,ALU106在每一時鐘循環(huán)處理數(shù)據(jù), 使得其不空閑,從而提高處理效率。ALU106在到寄存器堆庫的接口上包括多個讀取 及寫入端口,使得其能夠在新線程數(shù)據(jù)在每一時鐘循環(huán)被提取/讀取時提供線程結(jié)果。
所述線程調(diào)度器包括用于通過線程仲裁/資源管理器(在本文中稱作資源管理器) 132來管理并提交用于執(zhí)行的線程的多個線程上下文單元110、 112、 114。每一線程 被指派到線程槽且在相關(guān)聯(lián)的線程上下文單元110、 112、 114上被管理。每一線程上 下文單元IIO、 112、 114內(nèi)的線程上下文寄存器134、 136、 138存儲所述線程的每一 指令的指令類型及其它信息。每一線程上下文單元110、 112、 114內(nèi)的線程上下文控 制器140、 142、 144控制向資源管理器132對指令的提交。線程上下文單元從資源管 理器132請求資源。當資源可用時,所述資源管理器批準所述請求。線程調(diào)度器102 內(nèi)的流控制器(未顯示)及資源管理器132允許每一線程存取ALU106、加載控制器 108及指令高速緩存器(未顯示)以允許每一線程上下文單元110、 112、 114加載數(shù) 據(jù)且使指令由適當?shù)馁Y源執(zhí)行以執(zhí)行所述線程。
為執(zhí)行指令,線程上下文單元首先請求將所述指令加載到指令高速緩存器中。所 述指令至少部分地被解碼且線程上下文單元110內(nèi)的上下文控制140基于相依性指示 符的存在及線程上下文單元110的加載參考計數(shù)器(LRC) 116的值來確定是否應(yīng)執(zhí) 行所述指令。當線程上下文單元提交指令時,指令類型向資源管理器132指示執(zhí)行所 述指令所需要的資源。舉例來說,所請求的資源可以是ALU106、存儲器128或紋理 引擎130。當所述資源被批準時,將所述指令轉(zhuǎn)發(fā)到可用資源以用于執(zhí)行。因此,資 源管理器(線程仲裁管理器)132管理所請求資源的分配以向請求線程上下文單元批 準所請求的資源。線程內(nèi)的指令可具有可預測的延遲或不可預測的延遲。具有可預測的延遲的指令 在本文中稱作可預測延遲指令且包括在已知數(shù)量的時鐘循環(huán)內(nèi)執(zhí)行的指令??深A測延 遲指令的實例包括ALU操作及不需要多線程處理器核心外部的資源的其它操作。在 所述實例性實施例中,內(nèi)部多線程處理器101操作經(jīng)設(shè)計而具有標準的延遲。不具有 可預測延遲的指令在本文中稱作不可預測延遲指令。不可預測延遲指令的實例包括需 要多線程處理器101外部的外部資源的操作。舉例來說,存取外部存儲器的與紋理相 關(guān)的指令及數(shù)據(jù)檢索指令具有不可預測的延遲。
因此,特定指令可需要從具有不可預測的延遲的數(shù)據(jù)源檢索數(shù)據(jù)。在所述實例性 實施例中,不可預測數(shù)據(jù)源104可以是紋理引擎130或存儲器128。所述線程內(nèi)與紋 理相關(guān)的指令需要紋理引擎130處理由所述指令提供的信息并返回紋理數(shù)據(jù)。與存儲 器相關(guān)的指令需要檢索存儲在存儲器128內(nèi)的所存儲數(shù)據(jù)。當所述存儲器為芯片外 時,檢索所請求數(shù)據(jù)所需要的時間可不可預測。當特定數(shù)據(jù)檢索事件具有不可預測的 延遲時,可引發(fā)其它情形。
所述線程上下文單元包括用于管理線程的執(zhí)行的適當資源。除線程上下文寄存器 134、 126、 138以外,線程上下文單元IIO、 112、 114還包括實施在用于管理線程的 執(zhí)行的邏輯中的上下文控制器140、 142、 144。如下文參照圖2所論述,可用狀態(tài)機 來建模上下文控制器,其中所述上下文控制器在有限組狀態(tài)之間轉(zhuǎn)換。在所述實例性 實施例屮,每-'線程上下文寄存器110、 112、 114包括加載參考計數(shù)器(LRC) 116、 120、 124且每-'上下文控制器140、 142、 144包括相依性指示符檢測器(DID) 118、 122、 126。當從執(zhí)行線程的相關(guān)聯(lián)線程上下文單元發(fā)出對數(shù)據(jù)的請求時,將每一LRC 遞增一。當從所述源返回所請求的數(shù)據(jù)時,將每一LRC遞減一。因此,所述加載參 考計數(shù)器(LRC)經(jīng)配置以針對所述特定線程維持指示若干數(shù)據(jù)請求與若干數(shù)據(jù)返回 之間的差的計數(shù)器值。相依性指示符檢測器118、 122、 126經(jīng)配置以檢測指令中的相 依指示符。所述相依性指示符可以是任何類型的數(shù)據(jù)、旗標、位或指示所述指令是否 需要來自所述線程中的先前指令的數(shù)據(jù)的其它指示符。當源代碼經(jīng)編譯以創(chuàng)建線程代 碼時,添加相依性指示符。在所述實例性實施例中,向所述線程的每一數(shù)據(jù)相依指令 添加單個位相依性指示符。因此,線程的需要來自先前指令的數(shù)據(jù)的每一指令包括相 依性指示符。
在線程的執(zhí)行期間,根據(jù)對應(yīng)線程的數(shù)據(jù)請求及返回來遞增及遞減每一 LRC。 當相依性指示符檢測器(DID) 112、 122、 126識別指令相依于來自先前指令的數(shù)據(jù) 時,評價所述LRC以確定其是否為零。如果所述LRC為非零,那么線程上下文單元 避免提交所述指令且將所述線程上下文單元置于等待狀態(tài)。當所述LRC等于零時, 執(zhí)行所述指令。
圖2是根據(jù)所述實例性實施例的線程控制的狀態(tài)機圖。所述狀態(tài)機圖是由狀態(tài)、 轉(zhuǎn)換及動作組成的行為的模型。由于其反映從系統(tǒng)開始到目前的輸入改變,因此狀態(tài) 存儲關(guān)于過去的信息。轉(zhuǎn)換由圖2中的箭頭指示且所述轉(zhuǎn)換指示狀態(tài)改變。必須遇到特定條件來使轉(zhuǎn)換發(fā)生。圖2是線程上下文單元的狀態(tài)及轉(zhuǎn)換的表示圖。因此,每一 線程上下文單元在線程調(diào)度器的操作期間可處于不同的狀態(tài)。
在所述實例性實施例中,所述線程上下文單元可處于包括以下狀態(tài)的七個狀態(tài)中
的一者空閑狀態(tài)202、 ALU狀態(tài)204、加載狀態(tài)206、流狀態(tài)208、 DEP狀態(tài)210、 等待狀態(tài)212及發(fā)射狀態(tài)214。所有線程均以空閑狀態(tài)202開始及結(jié)束。線程上下文 單元在空閑狀態(tài)202中等待新線程。當從空閑狀態(tài)轉(zhuǎn)換到等待狀態(tài)204 (其中線程上 下文單元等待資源變得可用)時,指令類型被呈現(xiàn)到資源管理器132。當加載控制器 可用時,從指令高速緩存器加載所述指令且所述指令被執(zhí)行。所述指令可包括ALU 操作、加載操作或紋理操作。依據(jù)特定指令及當前狀態(tài),線程上下文單元轉(zhuǎn)換為適當 狀態(tài)。在流狀態(tài)208中,線程上下文單元執(zhí)行流控制任務(wù)且更新程序計數(shù)器。在加載 狀態(tài)206中,線程上下文單元執(zhí)行加載任務(wù),例如初始加載、加載紋理數(shù)據(jù)、加載來 自存儲器的數(shù)據(jù)及其它加載及存儲執(zhí)行。在等待狀態(tài)204中,線程上下文單元等待資 源。算術(shù)邏輯單兀(ALU) 106在ALU狀態(tài)204中被存取以執(zhí)行算術(shù)或邏輯指令。 當在指令中檢測到相依性指示符且LRC為非零時,線程上下文單元進入DEP狀態(tài) 210。當LRC返回到零時,線程上下文單元轉(zhuǎn)換為先前的退出狀態(tài)。在發(fā)射狀態(tài)214 期間,所述指令的所返回結(jié)果被移動出上下文寄存器。
圖3是根據(jù)所述實例性實施例的管理具有相依指令的線程的方法的流程圖。雖然 所述方法可應(yīng)用于其它結(jié)構(gòu),但在所述實例性實施例中,所述方法由線程上下文單元 執(zhí)行。以下步驟提供執(zhí)行參照圖2論述的與相依指令相關(guān)的技術(shù)的實例。因此,可用 在圖3中省略(為了清晰及簡明起見)的其它塊或流程表來建模線程上下文單元的其 它操作。在所述實例性實施例中,所述方法由執(zhí)行上下文控制器140、 142、 144的操 作的邏輯電路執(zhí)行。
如下文所論述,所述上下文控制器邏輯的動作由經(jīng)編譯的線程代碼規(guī)定。因此, 在所述編譯程序期間,編譯器識別較高級代碼中所指示的相依性且將所述相依性指示 符插入所述指令的由所述上下文控制器辨別的適當位置內(nèi)。
在步驟302處,針對新線程初始化程序計數(shù)器(PC)及加載參考計數(shù)器值 (LRC—VAL)。全局寄存器針對所述線程設(shè)定經(jīng)初始化的值。當應(yīng)用程序需要線程 在并非歩驟O (第一步驟)的步驟處開始時,INIT_PC可以是非零且可將所述PC設(shè) 定為非零值。當不需要預加載數(shù)據(jù)時,INIT—LRC—VAL為零。然而,如果所述線程 需要預加載數(shù)據(jù)(例如,紋理數(shù)據(jù)),那么(舉例來說)可將INIT—LRC_VAL設(shè)定 為非零值。線程上下文單元處于空閑狀態(tài)202且等待新線程。當指派新線程時,所述 方法在步驟304處繼續(xù)。
在步驟304處,確定當前指令是否是相依指令。如果在所述指令中檢測到相依性 指示符,那么將所述指令識別為相依指令且所述方法在步驟306處繼續(xù)。否則,所述 方法進行到步驟312。
在步驟306處,確定LRC值(LRC—VAL)是否等于零。如果所述LRC等于零那么所述方法在步驟312處繼續(xù)。如果所述LRC.值為非零,那么所述方法進行到步 驟308。
在步驟308處,確定是否已檢索到所請求的數(shù)據(jù)。在所述實例性實施例中,加載 控制器指示所述數(shù)據(jù)已被返回到適當?shù)募拇嫫鞫?。如果已返回?shù)據(jù),那么所述方法在 步驟310處繼續(xù),在步驟310中將LRC遞減1。否則,所述方法返回到步驟308。在 步驟310之后,方法返回到步驟306。
在步驟312處,發(fā)出對用以執(zhí)行所述指令的適當資源的請求。當所述資源可用且 由資源管理器(線程仲裁管理器)132批準時,所述指令由所述適當資源執(zhí)行。
在步驟314處,確定所述指令是否已請求數(shù)據(jù)。如果已請求數(shù)據(jù),那么在所述方 法進行到步驟318之前,所述方法在步驟316處繼續(xù),在步驟316中將LRC值遞增1。 如果未請求數(shù)據(jù),那么所述方法進行到步驟318。
在歩驟318處,將程序計數(shù)器遞增1。在步驟320處,針對所述線程確定下一 PC指令是否存在。如果存在更多指令,那么所述方法返回到步驟304。否則,所述方 法返回到步驟302以等待下一線程。
所屬技術(shù)領(lǐng)域中的技術(shù)人員應(yīng)了解,可使用各種不同技法及技術(shù)中的任一者來表 示信息及信號。舉例來說,以上說明通篇可能提及的數(shù)據(jù)、指令、命令、信息、信號、 位、符號及碼片可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任一組
合來表不。
所屬技術(shù)領(lǐng)域中的技術(shù)人員應(yīng)進一步了解,結(jié)合本文所揭示實施例說明的各種說 明性邏輯塊、模塊、電路、及算法步驟可實施為電子硬件、計算機軟件或兩者的組合。 為清楚地圖解說明硬件與軟件的此種可互換性,上文己就其功能性總體說明了各種說 明性組件、塊、模塊、電路及步驟。此種功能性實施為硬件還是軟件取決于特定應(yīng)用 及施加到整個系統(tǒng)上的設(shè)計約束條件。所屬技術(shù)領(lǐng)域中的技術(shù)人員可針對每一特定應(yīng) 用以不同的方法來實施所說明的功能性,但此類實施決策不應(yīng)被視為導致背離本發(fā)明 的范圍。
可用以下裝置來實施或執(zhí)行結(jié)合本文所揭示實施例說明的各種說明性邏輯塊、模 塊及電路通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可 編程門陣列(FPGA)或其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件 或其設(shè)計用于執(zhí)行本文所說明功能的任一組合。通用處理器可以是微處理器,但另一
選擇為,處理器可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器也可實 施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器的組合、 一個或 一個以上微處理器與DSP核心的聯(lián)合或任何其它此類配置。
結(jié)合本文所揭示實施例所說明方法的步驟可直接體現(xiàn)在硬件中、由處理器執(zhí)行的 軟件模塊中或兩者的組合中。軟件模塊可駐存在RAM存儲器、快閃存儲器、ROM 存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬磁盤、可抽換磁盤、CD-ROM 或所屬技術(shù)領(lǐng)域中已知的任何其它形式的存儲媒體中。實例性存儲媒體耦合到所述處理器,使得所述處理器可從所述存儲媒體讀取信息及向所述存儲媒體寫入信息。另一
選擇為,存儲媒體可集成到處理器中。處理器及存儲媒體可駐存在ASIC中,ASIC 可駐存在用戶終端中。另一選擇為,處理器及存儲媒體可作為離散組件駐存在用戶終端中。
提供對所揭示實施例的以上說明旨在使所屬技術(shù)領(lǐng)域中的技術(shù)人員能夠制作或 使用本發(fā)明。所屬技術(shù)領(lǐng)域中的技術(shù)人員將易于明了這些實施例的各種修改,且本文 所定義的一般原理也可在不背離本發(fā)明的精神或范圍的情況下應(yīng)用于其它實施例。因 此,并非打算將本發(fā)明限定為本文所示實施例,而是要賦予其與本文所揭示原理及新 穎特征相一致的最寬廣范圍。
權(quán)利要求
1、一種線程上下文單元,其經(jīng)配置以轉(zhuǎn)發(fā)線程的指令以供執(zhí)行,所述線程上下文單元包含加載參考計數(shù)器,其經(jīng)配置以維持指示若干數(shù)據(jù)請求與若干數(shù)據(jù)返回之間的差的計數(shù)器值;及上下文控制器,其經(jīng)配置以避免在所述計數(shù)器值為非零時提交線程的指令且所述指令包括指示所述指令需要由先前指令返回的數(shù)據(jù)的數(shù)據(jù)相依性指示符。
2、 如權(quán)利要求1所述的線程上下文單元,其中所述若干數(shù)據(jù)請求是對來自不可 預測延遲數(shù)據(jù)源的數(shù)據(jù)的若干數(shù)據(jù)請求且所述若干數(shù)據(jù)返回是來自所述不可預測延 遲數(shù)據(jù)源的若干數(shù)據(jù)返回。
3、 如權(quán)利要求2所述的線程上下文單元,其中所述不可預測延遲數(shù)據(jù)源是存儲器。
4、 如權(quán)利要求2所述的線程上下文單元,其中所述不可預測延遲數(shù)據(jù)源是紋理 引擎。
5、 如權(quán)利要求2所述的線程上下文單元,其中所述上下文控制器被實施在邏輯 中且包含經(jīng)配置以檢測所述數(shù)據(jù)相依性指示符的相依性指示符檢測器。
6、 如權(quán)利要求1所述的線程上下文單元,其中所述上下文控制器進一步經(jīng)配置 以在所述計數(shù)器值為零時執(zhí)行所述指令。
7、 如權(quán)利要求2所述的線程上下文單元,其中所述上下文控制器進一步經(jīng)配置 以在識別所述對來自所述不可預測延遲數(shù)據(jù)源的數(shù)據(jù)的請求時遞增所述計數(shù)器且經(jīng) 配置以響應(yīng)于識別來自所述不可預測延遲的數(shù)據(jù)的所述返回時遞減所述計數(shù)器。
8、 一種線程調(diào)度器,其經(jīng)配置以向用于管理線程的執(zhí)行的多個線程上下文寄存 器分配所請求的資源,所述線程調(diào)度器包含多個加載參考計數(shù)器,每一加載參考計數(shù)器經(jīng)配置以維持指示與線程上下文單元 相關(guān)聯(lián)的若干數(shù)據(jù)請求與若干數(shù)據(jù)返回之間的差的計數(shù)器值,所述線程調(diào)度器經(jīng)配置 以避免在與線程相關(guān)聯(lián)的計數(shù)器值為非零時轉(zhuǎn)發(fā)所述線程的數(shù)據(jù)相依指令以供執(zhí)行 且所述數(shù)據(jù)相依指令包括指示所述指令需要由所述線程的先前指令返回的數(shù)據(jù)的數(shù)據(jù)相依性指示符。
9、 如權(quán)利要求8所述的線程調(diào)度器,其中所述若干數(shù)據(jù)請求是對來自不可預測 延遲數(shù)據(jù)源的數(shù)據(jù)的若干數(shù)據(jù)請求且所述若干數(shù)據(jù)返回是來自所述不可預測延遲數(shù) 據(jù)源的若干數(shù)據(jù)返回。
10、 如權(quán)利要求9所述的線程調(diào)度器,其中不可預測延遲數(shù)據(jù)源是存儲器。
11、 如權(quán)利要求9所述的線程調(diào)度器,其中不可預測延遲數(shù)據(jù)源是紋理引擎。
12、 如權(quán)利要求9所述的線程調(diào)度器,其中所述線程調(diào)度器進一步包含多個相依 性指示符檢測器,每一相依性指示符檢測器經(jīng)配置以檢測所述數(shù)據(jù)相依性指示符。
13、 如權(quán)利要求8所述的線程調(diào)度器,其中所述線程調(diào)度器進一步經(jīng)配置以在所 述計數(shù)器值為零時執(zhí)行所述指令。
14、 如權(quán)利要求9所述的線程調(diào)度器,其中所述線程調(diào)度器進一步經(jīng)配置以在識 別所述對來自所述不可預測延遲數(shù)據(jù)源的數(shù)據(jù)的請求時遞增所述計數(shù)器且經(jīng)配置以 響應(yīng)于識別來自所述不可預測延遲的數(shù)據(jù)的所述返回時遞減所述計數(shù)器。
15、 一種用于處理圖形線程的圖形處理器,所述圖形處理器包含 算術(shù)邏輯單元,其經(jīng)配置以根據(jù)由線程上下文單元管理的圖形線程的指令來執(zhí)行算術(shù)功能;加載控制器,其經(jīng)配置以根據(jù)所述指令從不可預測延遲時間源中檢索數(shù)據(jù); 線程調(diào)度器,其經(jīng)配置以向線程上下文單元分配所請求的資源且包含多個加載參考計數(shù)器,每一加載參考計數(shù)器經(jīng)配置以維持指示由線程上下文 爭元呈現(xiàn)的對來自不可預測延遲數(shù)據(jù)源的數(shù)據(jù)的若干數(shù)據(jù)請求與由所述加載控制 器執(zhí)行的來自所述不可預測延遲數(shù)據(jù)源且與所述線程上下文單元相關(guān)聯(lián)的若干數(shù) 據(jù)返回之間的差的計數(shù)器值,所述線程調(diào)度器經(jīng)配置以避免在與圖形線程相關(guān)聯(lián) 的計數(shù)器值為非零時轉(zhuǎn)發(fā)所述圖形線程的數(shù)據(jù)相依指令以供執(zhí)行且所述數(shù)據(jù)相依 指令包括指示所述指令需要由所述線程的先前指令返回的數(shù)據(jù)的數(shù)據(jù)相依性指示
16、 如權(quán)利要求15所述的圖形處理器,其中不可預測延遲數(shù)據(jù)源是存儲器。
17、 如權(quán)利要求15所述的圖形處理器,其中不可預測延遲數(shù)據(jù)源是紋理引擎。
18、 如權(quán)利要求15所述的圖形處理器,其中所述線程調(diào)度器進一步包含多個相 依性指示符檢測器,每一相依性指示符檢測器經(jīng)配置以檢測所述數(shù)據(jù)相依性指示符。
19、 如權(quán)利要求15所述的圖形處理器,其中所述線程調(diào)度器進一步經(jīng)配置以在所述計數(shù)器值為零時執(zhí)行所述指令。
20、 如權(quán)利要求15所述的圖形處理器,其中所述線程調(diào)度器進一步經(jīng)配置以在 識別所述對來自所述不可預測延遲數(shù)據(jù)源的數(shù)據(jù)的請求時遞增所述計數(shù)器且經(jīng)配置 以響應(yīng)于識別來自所述不可預測延遲的數(shù)據(jù)的所述返回時遞減所述計數(shù)器。
全文摘要
一種線程調(diào)度器包括用于管理線程的執(zhí)行的上下文單元,其中每一上下文單元包括加載參考計數(shù)器,所述加載參考計數(shù)器用于維持指示與特定上下文單元相關(guān)聯(lián)的若干數(shù)據(jù)請求與若干數(shù)據(jù)返回之間的差的計數(shù)器值。線程上下文單元的上下文控制器經(jīng)配置以避免在所述計數(shù)器值為非零時轉(zhuǎn)發(fā)線程的指令且所述指令包括指示所述指令需要由先前指令返回的數(shù)據(jù)的數(shù)據(jù)相依性指示符。
文檔編號G06F9/38GK101506774SQ200780031658
公開日2009年8月12日 申請日期2007年8月27日 優(yōu)先權(quán)日2006年8月29日
發(fā)明者春 于, 戈爾夫·焦, 云 杜 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
虞城县| 津市市| 沙雅县| 汤阴县| 石嘴山市| 武安市| 庄浪县| 郑州市| 镇宁| 沙湾县| 麻城市| 平乐县| 新密市| 辽源市| 华亭县| 岳普湖县| 禄劝| 鄯善县| 璧山县| 泊头市| 来安县| 临安市| 湘潭市| 广灵县| 新竹市| 兴仁县| 菏泽市| 苏尼特左旗| 临洮县| 呼玛县| 济宁市| 渭南市| 什邡市| 石泉县| 吉木萨尔县| 旬阳县| 开江县| 双鸭山市| 马公市| 柘荣县| 洛浦县|