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

使用運(yùn)行時(shí)間任務(wù)調(diào)度的多處理器電路的制作方法

文檔序號(hào):6594149閱讀:155來源:國知局
專利名稱:使用運(yùn)行時(shí)間任務(wù)調(diào)度的多處理器電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種多處理器系統(tǒng)以及一種使用多處理器系統(tǒng)執(zhí)行多個(gè)任務(wù)的方法。
背景技術(shù)
美國專利No. 5,832,262描述了使用實(shí)時(shí)硬件調(diào)度來將任務(wù)分配到多處理器系統(tǒng) 的不同處理器。該系統(tǒng)包括調(diào)度處理器以及充當(dāng)從設(shè)備以執(zhí)行由調(diào)度處理器所調(diào)度的任務(wù) 的多個(gè)處理器。調(diào)度處理器標(biāo)識(shí)要執(zhí)行的任務(wù),并將其放入可執(zhí)行任務(wù)隊(duì)列中??捎脧脑O(shè) 備在實(shí)時(shí)硬件調(diào)度器(scheduler)的控制之下,執(zhí)行來自隊(duì)列的任務(wù)。美國專利No. 5,832,262并沒有說明調(diào)度處理器如何選擇要放入隊(duì)列中的任務(wù), 但是已知為此目的可以使用任務(wù)圖(task graph)。任務(wù)圖表達(dá)任務(wù)之間的關(guān)系,針對(duì)每一 任務(wù)指示在該任務(wù)可被執(zhí)行之前必須已經(jīng)完成哪些先導(dǎo)(predecessor)任務(wù)。因此,在檢 測(cè)到任務(wù)圖中規(guī)定的先導(dǎo)任務(wù)已經(jīng)完成執(zhí)行時(shí),可以將任務(wù)放入隊(duì)列中供執(zhí)行。美國專利 No. 5,832,262使用基于對(duì)任務(wù)的相對(duì)緊急度進(jìn)行定義的優(yōu)先權(quán),而并非基于數(shù)據(jù)依賴性 (dependency)的預(yù)編譯調(diào)度。常規(guī)上,任務(wù)圖由編程者或編譯者通過標(biāo)識(shí)任務(wù)中使用的變量并回溯至產(chǎn)生這些 變量的任務(wù)來準(zhǔn)備。對(duì)于大任務(wù)集,任務(wù)圖可能變得極大。此外,利用了靜態(tài)任務(wù)圖。必須 按照任務(wù)之間不出現(xiàn)動(dòng)態(tài)可變依賴性的方式,來對(duì)任務(wù)進(jìn)行系統(tǒng)表達(dá)(formulate)。因此, 例如在圖像處理應(yīng)用中,除了總體上以對(duì)圖像的相關(guān)性(cbpendence)來表達(dá)依賴性之外, 由于可變運(yùn)動(dòng)向量,排除了實(shí)現(xiàn)靜態(tài)任務(wù)圖來處理可變依賴性。

發(fā)明內(nèi)容
除了其他目的之外,本發(fā)明的目的在于在多處理系統(tǒng)中對(duì)任務(wù)進(jìn)行調(diào)度,而不需 要靜態(tài)任務(wù)圖。提供了根據(jù)權(quán)利要求1的多處理系統(tǒng)。在此,從處理器核執(zhí)行由主處理器核執(zhí)行 的程序所定義的任務(wù)。任務(wù)由組織矩陣中的位置來標(biāo)識(shí)。主處理器核定義適用于矩陣中多 個(gè)位置的相對(duì)依賴性模式。依賴性模式可以適用于這多個(gè)位置中的每一個(gè)位置,以獲得該 多個(gè)位置中所述一個(gè)位置處的任務(wù)所依賴的任務(wù)的相應(yīng)其他位置的集合。任務(wù)依賴性模式 例如可以包括指向矩陣中左方和上方鄰居的向量。在實(shí)施例中,任務(wù)依賴性模式可以取決 于運(yùn)行時(shí)間變量數(shù)據(jù)。在圖像處理示例中,矩陣中的位置對(duì)應(yīng)于圖像中的位置。在使用硬件任務(wù)調(diào)度器的實(shí)施例中,已經(jīng)發(fā)現(xiàn)該方法實(shí)現(xiàn)了與軟件任務(wù)調(diào)度相比 7倍的任務(wù)調(diào)度增速,以及總體降低15%的H. 264視頻編碼任務(wù)。硬件任務(wù)調(diào)度器使用程序定義的任務(wù)依賴性模式來調(diào)度從處理器核上的任務(wù)。使 用依賴性模式存儲(chǔ)器來向硬件任務(wù)調(diào)度器提供任務(wù)依賴性模式以應(yīng)用于不同位置。在實(shí)施例中,可同時(shí)有多個(gè)任務(wù)依賴性模式可用,分別適用于不同的任務(wù)組或者 矩陣中任務(wù)的位置組。因此例如,可以為接近矩陣邊沿的位置以及遠(yuǎn)離邊沿的位置提供不 同的依賴性模式,或者根據(jù)圖像的類型(例如,MPEG圖像處理任務(wù)中的I、P或B幀)為不同圖像提供不同的依賴性模式。在該實(shí)施例中,硬件任務(wù)調(diào)度器根據(jù)計(jì)算所針對(duì)的任務(wù)或 位置的組,來從同時(shí)有多個(gè)任務(wù)依賴性模式激活的存儲(chǔ)器中選擇任務(wù)依賴性模式。在實(shí)施例中,硬件任務(wù)調(diào)度器接收已經(jīng)完成任務(wù)的位置的標(biāo)識(shí),且響應(yīng)于接收到 標(biāo)識(shí),應(yīng)用適用于已經(jīng)完成任務(wù)的位置的任務(wù)依賴性模式的逆。這樣,硬件任務(wù)調(diào)度器生成 候選任務(wù),隨后可以根據(jù)任務(wù)依賴性模式來篩選這些候選任務(wù),以確定它們是否準(zhǔn)備就緒 供執(zhí)行。矩陣可以具有二維或更多維。當(dāng)使用二維矩陣時(shí),任務(wù)依賴性模式可以用在所述 至少兩個(gè)維度上具有非零分量的相對(duì)依賴性向量來表達(dá)。當(dāng)使用三維或更高維矩陣時(shí),任 務(wù)依賴性模式可以用在三個(gè)或更多維度上具有非零分量的相對(duì)依賴性向量來表達(dá)。


根據(jù)使用附圖對(duì)示例性實(shí)施例的描述,這些以及其他目的和有利方面將變得清
林 疋。圖1示出了多處理系統(tǒng)。圖2示出了二維依賴性模式。圖3示出了硬件任務(wù)調(diào)度器。圖4示出了任務(wù)生成的流程圖。
具體實(shí)施例方式圖1示出了多處理系統(tǒng),該多處理系統(tǒng)包括主處理器核10、多個(gè)從處理器核12、硬 件任務(wù)調(diào)度器14和共享存儲(chǔ)器16。共享存儲(chǔ)器16耦接至主處理器核10、多個(gè)從處理器核 12以及硬件任務(wù)調(diào)度器14。硬件任務(wù)調(diào)度器14耦接至主處理器核10以及多個(gè)從處理器 核12。在工作中,主處理器核10執(zhí)行指令程序,包括發(fā)起由從處理器核12執(zhí)行任務(wù)集的 指令。集合中的任務(wù)數(shù)目可以超出可用從處理器核12的數(shù)目,從而至少一個(gè)從處理器核12 可能各自需要執(zhí)行該集合中的多個(gè)任務(wù)。硬件任務(wù)調(diào)度器14充當(dāng)主處理器核10與從處理 器核12之間的中介(intermediary)。發(fā)起執(zhí)行任務(wù)集的指令使主處理器核10向硬件任務(wù) 調(diào)度器14發(fā)送信號(hào),該指令標(biāo)識(shí)集合中的任務(wù),針對(duì)集合中一組(class)位置的、任務(wù)之間 的重復(fù)依賴性模式O^petitive dependency pattern),以及可選的針對(duì)集合中另一組位 置的邊界依賴性模式(boundary dependency pattern)和/或任務(wù)參數(shù)。在實(shí)施例中,重 復(fù)依賴性模式可以動(dòng)態(tài)改變。圖2示出了任務(wù)集20以及任務(wù)之間的依賴性模式22、24a_d。任務(wù)20以位置的二 維矩陣來表示,其中任務(wù)由其位置來標(biāo)識(shí)??梢园催@種方式標(biāo)識(shí)的任務(wù)的例子是與二維圖 像中相應(yīng)像素或像素塊相關(guān)聯(lián)的圖像處理任務(wù),其中用于執(zhí)行任務(wù)的程序?qū)τ诿恳幌袼鼗?像素塊可以相同。依賴性模式22、24a-d分別由從生成數(shù)據(jù)的任務(wù)至使用所生成數(shù)據(jù)的單 個(gè)任務(wù)的線條來圖示。盡管并未示出,但是應(yīng)當(dāng)理解,每一依賴性模式適用于多個(gè)位置。矩陣中的每一任務(wù)可以由任務(wù)程序及其在矩陣中的位置來標(biāo)識(shí)。不同位置處的任 務(wù)程序可以相同。依賴性模式22、24a-24d的平移(translated)版本適用于彼此不同位置 處的多個(gè)任務(wù)。例如,第一依賴性模式22的平移版本適用于任務(wù)矩陣的二維子矩陣(陰影所示)中各位置處的任務(wù)所使用數(shù)據(jù)的生成,該子矩陣中任務(wù)的位置與矩陣的特定邊界相 距多于閾值距離的預(yù)定行數(shù)和列數(shù)。第二和第三依賴性模式24a_b的平移版本適用于位置 沿著矩陣第一邊界的任務(wù)所使用數(shù)據(jù)的生成。第四和第五依賴性模式24c_d的平移版本適 用于位置沿著矩陣第二邊界的任務(wù)所使用數(shù)據(jù)的生成。某些任務(wù)可能不依賴于集合中其他任務(wù)所生成的數(shù)據(jù)。例如,這可以適用于矩陣 左上角位置處的任務(wù)。這可以被稱作直接(trivial)依賴性模式(圖中未示出),而不具備 線段。雖然作為示例示出了二維矩陣,但是應(yīng)當(dāng)理解,可以使用較高或較低維的矩陣,同 時(shí)具有相應(yīng)的較高或較低維的依賴性模式。圖3示出了硬件任務(wù)調(diào)度器14的實(shí)施例。在該實(shí)施例中,硬件任務(wù)調(diào)度器14包 括控制單元30、依賴性模式存儲(chǔ)器32、任務(wù)準(zhǔn)備電路34和任務(wù)緩沖器36。依賴性模式存 儲(chǔ)器32也可以位于硬件任務(wù)調(diào)度器14外部??刂茊卧?0具有耦接至主處理器核10 (未 示出)以及任務(wù)緩沖器36的輸入??刂茊卧?0具有耦接至主處理器核10、從處理器核12 以及共享存儲(chǔ)器16 (未示出)的接口??刂茊卧?0具有耦接至依賴性模式存儲(chǔ)器32以及 任務(wù)準(zhǔn)備電路34的輸出,以及耦接至任務(wù)緩沖器36的輸入。任務(wù)準(zhǔn)備電路34具有耦接至 依賴性模式存儲(chǔ)器32的輸入,以及耦接至任務(wù)緩沖器36的輸出。在工作中,硬件任務(wù)調(diào)度器14用來控制何時(shí)允許從處理器核12執(zhí)行針對(duì)矩陣中 相應(yīng)位置處的所標(biāo)識(shí)任務(wù)的實(shí)例。在其與主處理器核10的接口處,控制單元30從主處理 器核10(未示出)接收任務(wù)標(biāo)識(shí),該任務(wù)標(biāo)識(shí)伴隨有任務(wù)的重復(fù)依賴性模式以及可選的一 個(gè)或多個(gè)邊界依賴性模式的規(guī)定、任務(wù)參數(shù)以及初始位置指示。任務(wù)標(biāo)識(shí)可以實(shí)現(xiàn)為針對(duì)用于實(shí)現(xiàn)任務(wù)的指令程序的指針。重復(fù)依賴性模式的規(guī) 定可以實(shí)現(xiàn)為對(duì)與依賴性模式22、24a-d的箭頭相對(duì)應(yīng)的向量的χ和y分量進(jìn)行定義的操 作數(shù)(operand)。另外,可以提供信息來將各個(gè)依賴性模式鏈接至相對(duì)于矩陣邊界定義的相 應(yīng)位置集合。在接收時(shí),控制單元30將接收到的任務(wù)之間的重復(fù)依賴性模式以及可選的邊界 依賴性模式的規(guī)定寫入依賴性模式存儲(chǔ)器32。此外,控制單元30向從處理器核12(未示 出)發(fā)信號(hào)通知準(zhǔn)備執(zhí)行所標(biāo)識(shí)的任務(wù),而并不指定必須執(zhí)行的任務(wù)在矩陣中的位置。作 為響應(yīng),從處理器核12加載用于執(zhí)行所標(biāo)識(shí)任務(wù)的指令程序。對(duì)于每一從處理器核12而 言加載的程序可以相同??梢宰⒁獾?,在一些實(shí)施例中,部分依賴性可能不需要寫入依賴性模式存儲(chǔ)器32。 在圖2的示例中,其中模式22包括依賴性(_1,0),(0,-1), (-1,-1), (-2,-1)和(_1,_2), 可以看出,相對(duì)位置(-1,0), (0,-1)處的任務(wù)只有在其他相對(duì)位置(-1,-1),(_2,-1)和 (-1,-2)處的任務(wù)完成后才能開始。因此,為了運(yùn)行時(shí)間調(diào)度的目的,后面的依賴性不需要 寫入依賴性模式存儲(chǔ)器32。主處理器核10可以被配置為篩選(screen)對(duì)于調(diào)度目的而言 冗余的依賴性,且僅將非冗余的依賴性寫入依賴性模式存儲(chǔ)器32。當(dāng)使用數(shù)據(jù)相關(guān)的依賴 性時(shí),可以在每次生成新的依賴性時(shí),使用數(shù)據(jù)相關(guān)的篩選,然后將依賴性寫入依賴性模式 存儲(chǔ)器32。接著,從處理器核12開始向控制單元30提供請(qǐng)求信號(hào),以請(qǐng)求分配矩陣中的位置 以及針對(duì)該位置開始執(zhí)行的許可。為進(jìn)行這些處理,從處理器核12可以包括任務(wù)獨(dú)立外殼(shell)程序。一旦從處理器核12接收到了對(duì)矩陣中位置的分配以及針對(duì)該位置開始執(zhí) 行的許可,從處理器核12執(zhí)行程序。在執(zhí)行期間,從處理器核12可以從共享存儲(chǔ)器16和 /或從硬件任務(wù)調(diào)度器14加載參數(shù)和/或由其他任務(wù)生成的數(shù)據(jù)。類似地,從處理器核12 可以向共享存儲(chǔ)器和/或硬件任務(wù)調(diào)度器14寫入由所執(zhí)行的任務(wù)生成的數(shù)據(jù)。當(dāng)從處理 器核12完成時(shí),其向硬件任務(wù)調(diào)度器14發(fā)信號(hào)通知。硬件任務(wù)調(diào)度器14或從處理器核12可以在存儲(chǔ)區(qū)中記錄完成。該存儲(chǔ)區(qū)可以實(shí) 現(xiàn)在硬件任務(wù)調(diào)度器14中的任務(wù)位置映射存儲(chǔ)器中,或者該存儲(chǔ)器例如可以是共享存儲(chǔ) 器16的一部分。該存儲(chǔ)區(qū)可以包含標(biāo)記陣列(flag array),陣列位置對(duì)應(yīng)于矩陣中的位 置。在這種情況下,矩陣中的位置可以用作在該存儲(chǔ)區(qū)中的陣列中相應(yīng)位置處寫入完成標(biāo) 記的索引(index)??蛇x地,可以在存儲(chǔ)區(qū)中存儲(chǔ)波前碼(wavefront code) 0這節(jié)省了空間。當(dāng)依賴 性包括對(duì)陣列中直接相鄰元素的依賴性時(shí),確保了存在波前,即,矩陣中將完成位置和未完 成位置分開的輪廓線(contour)或表面。在這種情況下,并不存在被未完成位置包圍的隔 離完成位置,或者反之亦然。在這種情況下,存儲(chǔ)區(qū)存儲(chǔ)矩陣中任務(wù)已經(jīng)完成的位置與任務(wù) 尚未完成的位置之間邊沿處的位置的路徑或表面的波前碼表示。在二維矩陣的情況下,路 徑表示可以包括一系列代碼,這些代碼表示沿著路徑的連續(xù)步驟方向。每當(dāng)完成某一位置 的任務(wù)時(shí),更新路徑,例如通過修改與該位置相關(guān)的步驟的代碼來進(jìn)行更新。隨后,通過測(cè) 試相對(duì)于波前的位置,來測(cè)試某一位置的任務(wù)是否已經(jīng)完成。在實(shí)施例中,控制單元30通過從任務(wù)緩沖器36中取出來自矩陣中位置的標(biāo)識(shí),向 從處理器核12之一提供確認(rèn)(acknowledge)信號(hào)并標(biāo)識(shí)位置,來響應(yīng)來自從處理器核12 的請(qǐng)求信號(hào)。最初,控制單元30可以取出矩陣中的初始位置,例如左上處的位置,并通過向 從處理器核12之一提供確認(rèn)信號(hào)并標(biāo)識(shí)該位置,來響應(yīng)來自該處理器核12的請(qǐng)求信號(hào)。任務(wù)準(zhǔn)備電路34在先前位置的任務(wù)執(zhí)行完成時(shí),在任務(wù)緩沖器36中添加新的任 務(wù)位置,這些新的任務(wù)位置取決于先前位置的結(jié)果。圖4示出了任務(wù)準(zhǔn)備電路34的工作實(shí) 施例的流程圖。在該實(shí)施例中,控制單元30檢測(cè)已經(jīng)由從處理器核12完成的任務(wù)的位置, 并向任務(wù)準(zhǔn)備電路34發(fā)信號(hào)通知這些位置。在第一步驟41中,任務(wù)準(zhǔn)備電路34接收已經(jīng) 完成的任務(wù)的位置指示。在第二步驟42中,任務(wù)準(zhǔn)備電路34使用依賴性模式存儲(chǔ)器32中 依賴性的向量的逆(inverse),來標(biāo)識(shí)依賴于已完成任務(wù)的候選任務(wù)的位置。因此,例如如 果依賴性模式規(guī)定了向量(_1,0),(-1,-1)和(0,-1),則位置(x,y)的任務(wù)完成將導(dǎo)致標(biāo) 識(shí)出候選位置(x+1,y),(x+1,y+1)和(χ, y+1)。在第三步驟43中,任務(wù)準(zhǔn)備電路34選擇候選任務(wù)。在第四步驟44中,任務(wù)準(zhǔn)備 電路34使用依賴性模式存儲(chǔ)器32中依賴性模式的向量,來標(biāo)識(shí)所選候選任務(wù)的先導(dǎo)任務(wù) 的位置。在第五步驟45中,任務(wù)準(zhǔn)備電路34測(cè)試這些位置處的先導(dǎo)任務(wù)是否已經(jīng)全部完 成。如果全部完成,則任務(wù)準(zhǔn)備電路34執(zhí)行第六步驟46,將該候選任務(wù)的位置指示放入任 務(wù)緩沖器36中。在第六步驟46之后,或者如果先導(dǎo)任務(wù)尚未全部完成則在第五步驟45之 后,任務(wù)準(zhǔn)備電路34執(zhí)行第七步驟47,確定是否已經(jīng)考慮了所有候選任務(wù)。如果沒有考慮 所有候選任務(wù),則處理從第三步驟43開始重復(fù)。否則,任務(wù)準(zhǔn)備電路34返回第一步驟41, 等待已經(jīng)完成的另一任務(wù)的位置標(biāo)識(shí)。作為該處理的備選方案,任務(wù)準(zhǔn)備電路34可以重復(fù)掃描矩陣中尚未開始執(zhí)行的所有任務(wù),使用這些任務(wù)作為候選任務(wù)來確定所有先導(dǎo)任務(wù)已經(jīng)完成的任務(wù)的位置且將這 些任務(wù)的位置指示放入任務(wù)緩沖器36中。這需要比圖4中的處理更多的時(shí)間。當(dāng)使用波 前碼來表示完成任務(wù)和未完成任務(wù)之間的邊界時(shí),這種掃描可以替換為選擇波前所表示的 邊界上的任意位置??刂茊卧?0在檢測(cè)到從處理器核12請(qǐng)求新任務(wù)時(shí),查閱任務(wù)緩沖器36??刂茊?元30將來自任務(wù)緩沖器的任務(wù)位置指示發(fā)送至發(fā)出請(qǐng)求的從處理器核12,并從任務(wù)緩沖 器36中去除該位置。在實(shí)施例中,控制單元30在每次檢測(cè)到任務(wù)完成時(shí),在任務(wù)位置映射存儲(chǔ)器中進(jìn) 行寫入,以針對(duì)該任務(wù)的位置指示該位置的任務(wù)已經(jīng)完成。在該實(shí)施例中,任務(wù)準(zhǔn)備電路34 可以從任務(wù)位置映射存儲(chǔ)器中進(jìn)行讀取,以確定所選位置的任務(wù)是否已經(jīng)完成。當(dāng)使用波 前碼時(shí),第五步驟45包括測(cè)試先導(dǎo)任務(wù)的位置是否在與已完成任務(wù)相對(duì)應(yīng)的波前一側(cè)。針 對(duì)用來生成候選的位置(第一步驟41中接收到的位置)的波前碼更新位置可以用作這種 確定的起始點(diǎn)。這使得不必為此目的掃描整個(gè)波前碼。在實(shí)施例中,各個(gè)不同重復(fù)依賴性模式可以用于相應(yīng)的不同位置組處的任務(wù)。因 此,例如第一依賴性模式集合可以用于位置在矩陣第一邊界上(非角落處的位置)的任務(wù), 第二依賴性模式集合可以用于位置在矩陣第二邊界上(非角落處的位置)的任務(wù),以及第 三依賴性模式集合可以用于位置并非在第一和第二邊界上的任務(wù)。在一個(gè)實(shí)施例中,這通過使用矩陣中的多個(gè)依賴性模式集合來予以支持??蛇x地, 可以使用多個(gè)矩陣。在使用相同矩陣中多個(gè)依賴性模式集合的實(shí)施例中,這通過根據(jù)由主 處理器核10提供的信息,針對(duì)矩陣中相應(yīng)的位置組,在依賴性模式存儲(chǔ)器32中存儲(chǔ)多個(gè)依 賴性模式集合來予以支持。另外,主處理器核10提供將位置組與相應(yīng)依賴性模式集合鏈接 的信息。該信息被發(fā)送至任務(wù)準(zhǔn)備電路34。任務(wù)準(zhǔn)備電路34被配置為標(biāo)識(shí)每一候選任務(wù) 的組,以選擇適用于該位置的依賴性模式集合,并使用選擇的該依賴性模式集合來測(cè)試該 候選任務(wù)的所有先導(dǎo)任務(wù)是否已經(jīng)完成。標(biāo)識(shí)候選任務(wù)的組例如可以包括檢測(cè)其位置是否 位于矩陣的邊界上,或者確定從該任務(wù)的位置到邊界的行和/或列數(shù)并根據(jù)該數(shù)目來選擇 依賴性模式集合。當(dāng)提供多個(gè)依賴性模式集合時(shí),所有集合可以用于在第二步驟42中生成候選任 務(wù)的位置。通過考慮候選的組并且如果該候選并不屬于與已經(jīng)用于生成該候選的依賴性模 式集合相對(duì)應(yīng)的組則去除該候選,可以減少所生成的候選的數(shù)目。在大多數(shù)實(shí)施例中,一個(gè)依賴性模式集合導(dǎo)致這樣的候選任務(wù)位置,所述候選任 務(wù)位置包括可從其他依賴性模式集合得到的所有候選任務(wù)位置。在這些實(shí)施例中,可以向 任務(wù)準(zhǔn)備電路34提供信息來標(biāo)識(shí)這一個(gè)依賴性模式集合,任務(wù)準(zhǔn)備電路34被配置為在第 二步驟42中僅使用所標(biāo)識(shí)的這一個(gè)依賴性模式集合來生成候選任務(wù)??蛇x地,可以針對(duì)已完成任務(wù)定義其他組,所述其他組耦接至相應(yīng)的依賴性模式 的逆,任務(wù)準(zhǔn)備電路34被配置為在第二步驟42中標(biāo)識(shí)已完成任務(wù)的其他組,并使用該其他 組的逆來生成候選任務(wù)位置。在實(shí)施例中,從處理器核12和任務(wù)準(zhǔn)備電路34可以被配置為忽略指向矩陣外任 務(wù)的依賴性。在這種情況下,對(duì)于整個(gè)矩陣而言可能單獨(dú)的依賴性模式就足矣,而無需針對(duì) 邊界附近位置的專門依賴性模式。
8
控制單元30被配置為檢測(cè)所有任務(wù)是否已經(jīng)完成。這例如可以如下來實(shí)現(xiàn)維護(hù) 表示未完成任務(wù)的計(jì)數(shù)器值,每當(dāng)完成任務(wù)時(shí)遞減計(jì)數(shù)器值,并測(cè)試計(jì)數(shù)器值是否已經(jīng)達(dá) 到零。在檢測(cè)到所有任務(wù)完成時(shí),控制單元30向主處理器核10發(fā)信號(hào)通知完成,之后主處 理器核10可以繼續(xù)其程序,執(zhí)行后續(xù)的指令以及可選地開始新的任務(wù)矩陣。在另一實(shí)施例中,主處理器核10被配置為在執(zhí)行開始執(zhí)行任務(wù)矩陣的指令之后 一直執(zhí)行其程序,直至矩陣中的所有任務(wù)已經(jīng)完成。在這種情況下,主處理器核10可以在 隨后的階段中執(zhí)行測(cè)試完成的指令。主處理器核10的程序可以包含在前一矩陣中的所有任務(wù)執(zhí)行之前發(fā)起執(zhí)行另一 任務(wù)矩陣的指令。當(dāng)從處理器核12中針對(duì)該另一矩陣中任務(wù)的程序代碼與針對(duì)前一矩陣 的程序代碼相同時(shí),這可以通過在矩陣中位置標(biāo)識(shí)之外使用矩陣標(biāo)識(shí)以標(biāo)識(shí)任務(wù)來實(shí)現(xiàn)。 針對(duì)各矩陣的相應(yīng)依賴性模式集合可以一起存儲(chǔ)在依賴性模式存儲(chǔ)器32中。在這種情況 下,任務(wù)準(zhǔn)備電路34被配置為使用矩陣的標(biāo)識(shí)以及該矩陣中任務(wù)的位置標(biāo)識(shí)來從依賴性 模式存儲(chǔ)器32中選擇適用的依賴性模式集合。在另一實(shí)施例中,依賴性模式可以包括不同矩陣之間的依賴性。因此,例如依賴性 模式(0,0,-1)表示當(dāng)前矩陣中某一位置處的任務(wù)對(duì)于前一矩陣(以“-1”表示)中相應(yīng)位 置的依賴性。在該實(shí)施例中,任務(wù)準(zhǔn)備電路34被配置為針對(duì)每一任務(wù)使用矩陣的標(biāo)識(shí)以及 該矩陣中任務(wù)的位置標(biāo)識(shí)來從依賴性模式存儲(chǔ)器32中選擇適用的依賴性模式集合,以測(cè) 試所有先導(dǎo)任務(wù)是否已經(jīng)完成,以及可選地生成候選任務(wù)。這種實(shí)施例可以用于對(duì)邊界給出專門處理。在這種情況下,任務(wù)矩陣可以從主處 理器核10以指令表示為一系列矩陣,這些矩陣分別表示上邊界處的行、左邊界處的列以及 其他子矩陣。在這種情況下,主處理器核10可以針對(duì)行矩陣、列矩陣和其他矩陣連續(xù)執(zhí)行 開始任務(wù)的指令,向硬件任務(wù)調(diào)度器14發(fā)信號(hào)通知這些矩陣內(nèi)以及這些矩陣之間的依賴 性模式。在一個(gè)實(shí)施例中,從處理器核12的程序代碼針對(duì)所有矩陣中所有位置處的任務(wù) 相同,應(yīng)理解,在該程序代碼內(nèi),取決于矩陣或矩陣中的位置,可以存在向代碼不同部分的 跳轉(zhuǎn)或者在代碼不同部分之間跳轉(zhuǎn)。因此,從處理器核12可以按照快速連續(xù)方式針對(duì)不同 位置和矩陣執(zhí)行任務(wù)。這可以通過組合針對(duì)不同矩陣和不同位置的程序來建立代碼從而來 實(shí)現(xiàn)。這樣,所有從處理器核12可用于執(zhí)行所有矩陣以及矩陣中所有位置的任務(wù)。備選 地,一些從處理器核12可以臨時(shí)或永久地專用于特定位置組或者特定矩陣,但是在這種情 況下,控制單元30必須根據(jù)請(qǐng)求任務(wù)的從處理器核12,從任務(wù)緩沖器36中選擇任務(wù)。這可 以通過為各種類型的從處理器核12提供多個(gè)任務(wù)緩沖器36來支持。在依賴性模式存儲(chǔ)器32中存儲(chǔ)多個(gè)矩陣的依賴性模式的實(shí)施例中,可以使用該 存儲(chǔ)器的存儲(chǔ)管理,以在相應(yīng)的矩陣中所有位置的任務(wù)都已經(jīng)完成時(shí)釋放依賴性模式占據(jù) 的存儲(chǔ)器??梢远x矩陣的順序,由于依賴性,矩陣將按照該順序依次完成。在這種情況 下,可以使用FIFO存儲(chǔ)器管理,每次在相應(yīng)的矩陣中所有位置的任務(wù)都已經(jīng)完成時(shí)丟棄存 儲(chǔ)的第一依賴性模式集合。在實(shí)施例中,動(dòng)態(tài)選擇依賴性模式的至少一部分。這例如可以適用于圖像解碼或 編碼任務(wù),其中使用數(shù)據(jù)相關(guān)運(yùn)動(dòng)向量或者數(shù)據(jù)相關(guān)參考圖像。在該實(shí)施例中,主處理器核 10可以根據(jù)運(yùn)行時(shí)間變量數(shù)據(jù),動(dòng)態(tài)選擇數(shù)據(jù)依賴性模式,并使選擇的數(shù)據(jù)依賴性模式存儲(chǔ)在依賴性模式存儲(chǔ)器32中供任務(wù)準(zhǔn)備電路34使用。例如,主處理器核10可以動(dòng)態(tài)設(shè)置 相對(duì)于另一矩陣的依賴性,和/或動(dòng)態(tài)設(shè)置整個(gè)矩陣的依賴性模式。在另一實(shí)施例中,主處理器核10可以動(dòng)態(tài)定義矩陣內(nèi)的位置組,針對(duì)每一組具有 依賴性模式,并使所選的數(shù)據(jù)依賴性模式存儲(chǔ)在依賴性模式存儲(chǔ)器32中供任務(wù)準(zhǔn)備電路 34使用。任務(wù)準(zhǔn)備電路34可實(shí)現(xiàn)為可編程電路,存儲(chǔ)有用于執(zhí)行所述功能的程序。備選 地,可以使用專用電路來執(zhí)行這些功能,使用算術(shù)電路來根據(jù)其他任務(wù)位置和依賴性模式 來計(jì)算任務(wù)位置。盡管作為示例已經(jīng)示出了單個(gè)主處理器核10,但是應(yīng)當(dāng)理解,可以使用多個(gè)主處 理器核??蛇x地,從處理器核中的一個(gè)或多個(gè)可以兼作主處理器核。本領(lǐng)域技術(shù)人員在實(shí)施所要求保護(hù)的本發(fā)明時(shí),根據(jù)對(duì)附圖、公開和所附權(quán)利要 求的研究,可以理解和做出對(duì)所公開實(shí)施例的其他變動(dòng)。在權(quán)利要求中,詞語“包括”不排 除其他元件或步驟,以及不定冠詞不排除多數(shù)。單個(gè)處理器或其他單元可以滿足權(quán)利要求 中所列出的若干項(xiàng)的功能。在彼此不同的從屬權(quán)利要求中列舉特定措施的事實(shí)并不表示 這些措施不能有利地組合使用。計(jì)算機(jī)程序可以存儲(chǔ)/分發(fā)在合適的介質(zhì)上,如與其他硬 件一起提供或者作為其他硬件一部分的光存儲(chǔ)介質(zhì)或固態(tài)介質(zhì),但是也可以以其他形式分 發(fā),例如通過互聯(lián)網(wǎng)或者其他有線或無線電信系統(tǒng)。權(quán)利要求中的附圖標(biāo)記不應(yīng)理解為限 制范圍。
權(quán)利要求
1.一種多處理系統(tǒng),包括-多個(gè)從處理器核(12),被配置為執(zhí)行至少部分地由矩陣中的位置來標(biāo)識(shí)的任務(wù);-依賴性模式存儲(chǔ)器(32);-主處理器核(10),被配置為執(zhí)行包括如下指令的程序,所述指令定義任務(wù)、矩陣以及 適用于多個(gè)任務(wù)中每一任務(wù)的任務(wù)依賴性模式,該主處理器核(10)被配置為使任務(wù)依賴 性模式存儲(chǔ)在依賴性模式存儲(chǔ)器(3 中;-硬件任務(wù)調(diào)度器(14),耦接至主處理核(10)、從處理器核(1 和依賴性模式存儲(chǔ)器 (32),該硬件任務(wù)調(diào)度器(14)被配置為將準(zhǔn)備就緒供執(zhí)行的任務(wù)分配給從處理器核(12), 該硬件任務(wù)調(diào)度器(14)被配置為根據(jù)關(guān)于任務(wù)已經(jīng)完成的另外位置以及適用于這些另外 位置的任務(wù)依賴性模式的信息,來在運(yùn)行時(shí)間計(jì)算準(zhǔn)備就緒供執(zhí)行的任務(wù)的位置。
2.根據(jù)權(quán)利要求1所述的多處理系統(tǒng),其中,依賴性模式存儲(chǔ)器(3 被配置為同時(shí)存 儲(chǔ)適用于相應(yīng)的不同任務(wù)組或者適用于矩陣中相應(yīng)的任務(wù)位置組的多個(gè)任務(wù)依賴性模式, 硬件任務(wù)調(diào)度器(14)被配置為根據(jù)計(jì)算所針對(duì)的任務(wù)組或位置組,來從依賴性模式存儲(chǔ) 器(3 中選擇任務(wù)依賴性模式以在運(yùn)行時(shí)間計(jì)算準(zhǔn)備就緒供執(zhí)行的任務(wù)的位置。
3.根據(jù)權(quán)利要求2所述的多處理系統(tǒng),其中,硬件任務(wù)調(diào)度器(14)被配置為至少根據(jù) 從組中的位置到矩陣邊沿的距離,來區(qū)分不同位置組。
4.根據(jù)權(quán)利要求1所述的多處理系統(tǒng),其中,主處理器核(10)被配置為根據(jù)運(yùn)行時(shí)間 變量數(shù)據(jù),選擇任務(wù)依賴性模式。
5.根據(jù)權(quán)利要求1所述的多處理系統(tǒng),其中,硬件任務(wù)調(diào)度器(14)被配置為接收已 經(jīng)完成任務(wù)的位置的標(biāo)識(shí);響應(yīng)于接收到標(biāo)識(shí),使用適用于已經(jīng)完成任務(wù)的所述另外位置 的任務(wù)依賴性模式的逆,來生成候選任務(wù);以及通過根據(jù)任務(wù)依賴性模式,篩選候選任務(wù), 來標(biāo)識(shí)準(zhǔn)備就緒供執(zhí)行的任務(wù)。
6.根據(jù)權(quán)利要求1所述的多處理系統(tǒng),其中,矩陣具有至少三個(gè)維度,任務(wù)依賴性模式 包括在所述至少三個(gè)維度上具有非零分量的相對(duì)依賴性向量。
7.根據(jù)權(quán)利要求1所述的多處理系統(tǒng),包括用于表示矩陣中將已完成任務(wù)的位置與未 完成任務(wù)的位置相分開的位置的波前碼的存儲(chǔ)區(qū)。
8.一種在多處理系統(tǒng)中執(zhí)行任務(wù)的方法,所述多處理系統(tǒng)具有主處理器核(10)和多 個(gè)從處理器核(12),該方法包括-在主處理器核(10)中執(zhí)行程序,定義任務(wù)的矩陣,其中任務(wù)處于矩陣中相應(yīng)位置處, 以及定義適用于多個(gè)任務(wù)且相對(duì)于位置定義的任務(wù)依賴性模式;-根據(jù)關(guān)于任務(wù)已經(jīng)完成的位置以及適用于這些任務(wù)的任務(wù)依賴性模式的信息,來在 運(yùn)行時(shí)間計(jì)算準(zhǔn)備就緒供執(zhí)行的任務(wù)的位置;-將已經(jīng)計(jì)算為準(zhǔn)備就緒供執(zhí)行的任務(wù)分配給從處理器核(12)。
9.根據(jù)權(quán)利要求8所述的方法,其中,主處理器核中的程序根據(jù)運(yùn)行時(shí)間變量數(shù)據(jù),定 義任務(wù)依賴性模式。
10.根據(jù)權(quán)利要求8所述的方法,其中,主處理器核中的程序針對(duì)相應(yīng)的不同任務(wù)組或 者矩陣中任務(wù)的位置組,定義多個(gè)任務(wù)依賴性模式,所述在運(yùn)行時(shí)間計(jì)算包括根據(jù)計(jì)算所 針對(duì)的任務(wù)組或位置組,來從依賴性模式存儲(chǔ)器在運(yùn)行時(shí)間計(jì)算準(zhǔn)備就緒供執(zhí)行的任務(wù)的 位置。
11.根據(jù)權(quán)利要求8所述的方法,其中,矩陣為至少三維的矩陣,針對(duì)至少一組位置的 任務(wù)依賴性模式包括在所述至少三個(gè)維度上具有非零分量的相對(duì)依賴性向量。
全文摘要
在具有主處理器核(10)和多個(gè)從處理器核(12)的多處理系統(tǒng)中執(zhí)行任務(wù)。主處理器核(10)執(zhí)行程序,定義任務(wù)的矩陣以及適用于多個(gè)任務(wù)且相對(duì)于位置定義的任務(wù)依賴性模式,其中任務(wù)處于矩陣中相應(yīng)位置處。每一依賴性模式針對(duì)矩陣中的多個(gè)位置定義相對(duì)依賴性,而非針對(duì)單獨(dú)位置使用單獨(dú)依賴性。響應(yīng)于程序,主處理器核(10)在依賴性模式存儲(chǔ)器中動(dòng)態(tài)存儲(chǔ)當(dāng)前任務(wù)依賴性模式的定義。硬件任務(wù)調(diào)度器根據(jù)關(guān)于任務(wù)已經(jīng)完成的位置以及適用于這些任務(wù)的任務(wù)依賴性模式,來在運(yùn)行時(shí)間計(jì)算準(zhǔn)備就緒供執(zhí)行的任務(wù)的位置。將已被計(jì)算為準(zhǔn)備就緒供執(zhí)行的任務(wù)分配給從處理器核(12)。
文檔編號(hào)G06F9/48GK102077172SQ200980125541
公開日2011年5月25日 申請(qǐng)日期2009年7月2日 優(yōu)先權(quán)日2008年7月2日
發(fā)明者吉亞斯·阿爾-卡迪, 安德利·謝爾蓋耶維奇·特雷克 申請(qǐng)人:Nxp股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
庐江县| 中宁县| 石狮市| 称多县| 西林县| 中江县| 礼泉县| 九江县| 乡宁县| 澄城县| 乌鲁木齐县| 贵南县| 乌鲁木齐市| 修武县| 广水市| 和平县| 丰顺县| 巢湖市| 敦煌市| 柘城县| 永吉县| 新竹市| 大英县| 禹州市| 凤凰县| 太仆寺旗| 饶河县| 金乡县| 家居| 亳州市| 灵川县| 新宁县| 新平| 昌江| 布尔津县| 明星| 海阳市| 岗巴县| 临桂县| 富民县| 来安县|