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

使用運行時間任務調度的多處理器電路的制作方法

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

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


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