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

多處理器計(jì)算系統(tǒng)及其任務(wù)分配方法

文檔序號(hào):6561950閱讀:277來(lái)源:國(guó)知局

專利名稱::多處理器計(jì)算系統(tǒng)及其任務(wù)分配方法
技術(shù)領(lǐng)域
:本發(fā)明涉及多處理器計(jì)算機(jī)及其任務(wù)分配方法,尤其涉及具有在運(yùn)行時(shí)刻動(dòng)態(tài)配置以完成專用計(jì)算任務(wù)的同構(gòu)和/或異構(gòu)計(jì)算單元陣列的計(jì)算系統(tǒng)及其任務(wù)分配方法。
背景技術(shù)
:多處理器計(jì)算系統(tǒng)通常被設(shè)計(jì)為滿足2類計(jì)算需求(l)通用應(yīng)用和(2)專用應(yīng)用。對(duì)于通用應(yīng)用,具有同構(gòu)處理器的對(duì)稱多處理器SMP是最常見(jiàn)的體系結(jié)構(gòu)。對(duì)于例如多媒體和數(shù)字信號(hào)處理的專用應(yīng)用,相當(dāng)常見(jiàn)的是將異構(gòu)處理器或硬件負(fù)載分擔(dān)單元組合起來(lái)以滿足應(yīng)用的不同方面要求。對(duì)于專用多處理器計(jì)算系統(tǒng),其體系結(jié)構(gòu)通常是建立在互連計(jì)算單元陣列的基礎(chǔ)上的。這些計(jì)算單元能夠是可編程處理器或固定功能單元。無(wú)論計(jì)算單元之間有何差異,彼此區(qū)別這些體系結(jié)構(gòu)的最大不同點(diǎn)是連接和控制這些計(jì)算單元以處理計(jì)算任務(wù)的方式。許多現(xiàn)有技術(shù)體系結(jié)構(gòu)只能以完全同步的"流"模式對(duì)處理器陣列編程,其中存在每個(gè)計(jì)算單元都同步到的某種全局共享"心跳(heartbeat)",并且計(jì)算單元根據(jù)預(yù)先配置的互連拓樸在每個(gè)心跳的開(kāi)始時(shí)交換數(shù)據(jù)。根據(jù)體系結(jié)構(gòu)設(shè)計(jì)和流的流水線延遲,心跳可以有一個(gè)時(shí)鐘周期長(zhǎng)或更長(zhǎng)。心跳同步的一個(gè)優(yōu)點(diǎn)是當(dāng)計(jì)算單元從同步任務(wù)中剝離時(shí)易于實(shí)現(xiàn)和編程。缺點(diǎn)是缺乏運(yùn)行異步任務(wù)的靈活性,從而限制應(yīng)用領(lǐng)域。另一缺點(diǎn)是在流水線級(jí)段不能得到良好平衡的情況下,其效率受到不利影響。另一面,存在另一類以異步加同步模式進(jìn)行編程的體系結(jié)構(gòu),其中整個(gè)系統(tǒng)不依賴于同步心跳。計(jì)算單元能夠被分成組,其中同步可以是組內(nèi)同步或組間同步。因而,每個(gè)任務(wù)的多個(gè)線程能夠在不同計(jì)算單元上或在不同單元組中進(jìn)行處理,直到發(fā)生數(shù)據(jù)依賴或?qū)蚕碣Y源的訪問(wèn)并且于是需要同步。這類體系結(jié)構(gòu)的許多實(shí)現(xiàn)采取硬連線隔離同步的方案,其中一個(gè)或多個(gè)共享全局同步邏輯電路負(fù)責(zé)所有計(jì)算單元的同步。計(jì)算單元在其執(zhí)行流中的某個(gè)指定點(diǎn)暫停,直到同步組中的所有單元到達(dá)該點(diǎn),接著執(zhí)行流從該點(diǎn)恢復(fù)。對(duì)于具體應(yīng)用,能夠優(yōu)化同步邏輯設(shè)計(jì)和計(jì)算單元?jiǎng)澐忠蕴峁┓浅:玫男阅堋_@種實(shí)現(xiàn)的缺點(diǎn)是當(dāng)配置和應(yīng)用發(fā)生改變時(shí)缺乏靈活性。除了硬連線實(shí)現(xiàn)之外,另一方案是軟件實(shí)現(xiàn),其中使用在主處理器或計(jì)算單元自身上運(yùn)行的軟件來(lái)進(jìn)行同步。主處理器或每個(gè)計(jì)算單元通常通過(guò)輪詢和/或中斷的方式檢查其它部件的狀態(tài),并且接著通過(guò)消息通信等等發(fā)出同步信號(hào)。與硬連線方案相比,軟件解決方案是靈活性最大的解決方案。然而其具有以下副作用(l)中斷處理或輪詢需要大量處理器周期,因而同步的粒度只能保持在非常粗的水平;(2)同步邏輯參與到下層功能/計(jì)算代碼中,因而軟件維護(hù)的復(fù)雜度大大增加??紤]到以上問(wèn)題,需要一種能夠至少部分地克服以上缺點(diǎn)的多處理器計(jì)算系統(tǒng)及其任務(wù)分配方法。
發(fā)明內(nèi)容本發(fā)明的一個(gè)目的是提供一種能夠解除主處理器向計(jì)算單元分派任務(wù)的負(fù)擔(dān)的多處理器計(jì)算系統(tǒng)及其任務(wù)分配方法。優(yōu)選地,本發(fā)明的另一個(gè)目的是提供一種能夠解除主處理器和計(jì)算單元進(jìn)行同步控制的負(fù)擔(dān)的多處理器計(jì)算系統(tǒng)及其任務(wù)分配方法。本發(fā)明提供了一種多處理器計(jì)算系統(tǒng),包括主處理器、全局存儲(chǔ)器和至少一個(gè)處理單元,其中該多處理器計(jì)算系統(tǒng)還包括微任務(wù)定序器,包括任務(wù)獲得設(shè)備和任務(wù)調(diào)度設(shè)備,其中任務(wù)獲得設(shè)備被配置成在微任務(wù)定序器能夠接納進(jìn)一步的命令的情況下,從全局存儲(chǔ)器獲取包含微任務(wù)描述的命令,并且任務(wù)調(diào)度設(shè)備被配置成將每個(gè)微任務(wù)描述定義的每個(gè)微任務(wù)指令分派到該至少一個(gè)處理單元中的一個(gè),使得所指示的處理單元能夠執(zhí)行該微任務(wù)指令,并且任務(wù)調(diào)度設(shè)備進(jìn)一步被配置成檢測(cè)該命令中所有微任務(wù)的完成,并且將該完成通知主處理器,其中處理單元能夠通過(guò)本身或通過(guò)該至少一個(gè)處理單元中的另一個(gè)來(lái)訪問(wèn)全局存儲(chǔ)器。任務(wù)獲得設(shè)備可包括任務(wù)分配器;至少一個(gè)任務(wù)隊(duì)列;和至少一個(gè)執(zhí)行控制單元(ECU),所述至少一個(gè)執(zhí)行控制單元中的每個(gè)與該至少一個(gè)任務(wù)隊(duì)列中的一個(gè)不同的任務(wù)隊(duì)列相關(guān),并且與該至少一個(gè)處理單元中的一個(gè)不同的處理單元相關(guān),其中任務(wù)分配器可被配置成接受由任務(wù)獲得設(shè)備獲取的命令,并且將所述每個(gè)微任務(wù)放在該至少一個(gè)任務(wù)隊(duì)列中與所述指示的處理單元相關(guān)的任務(wù)隊(duì)列中,任務(wù)分配器可進(jìn)一步被配置成執(zhí)行所述檢測(cè)和通知;并且該至少一個(gè)執(zhí)行控制單元的每個(gè)可被配置成以FIFO方式從相關(guān)任務(wù)隊(duì)列獲得一個(gè)微任務(wù)指令,并且響應(yīng)于相關(guān)處理單元能夠處理進(jìn)一步的微任務(wù)指令,將獲得的微任務(wù)指令傳送到該相關(guān)處理單元來(lái)執(zhí)行,該至少一個(gè)執(zhí)行控制單元的每個(gè)進(jìn)一步可被配置成收集獲得的微任務(wù)指令的完成以用于所述檢測(cè)目的。該命令還包含用于實(shí)現(xiàn)該至少一個(gè)處理單元中的兩個(gè)或更多處理單元間的同步的同步指令,任務(wù)分配器可進(jìn)一步被配置成將同步指令放在與該同步指令相關(guān)的任務(wù)隊(duì)列中,任務(wù)調(diào)度設(shè)備還可包括同步控制裝置,其由執(zhí)行控制單元基于從各自任務(wù)隊(duì)列獲得的同步指令進(jìn)行操作,以實(shí)現(xiàn)同步。同步可基于信號(hào)燈技術(shù),并且同步控制裝置可基于共享信號(hào)燈數(shù)組來(lái)實(shí)現(xiàn)。該命令還可包含用于使相關(guān)執(zhí)行控制單元基于從所有或一些處理單元報(bào)告的一或多個(gè)值有選擇地跳過(guò)一部分微任務(wù)指令的流控制指令,任務(wù)分配器進(jìn)一步可被配置成將流控制指令放在與該流控制指令相關(guān)的任務(wù)隊(duì)列中,任務(wù)調(diào)度設(shè)備還可包括用于存儲(chǔ)該值的存儲(chǔ)器,其中執(zhí)行控制單元可進(jìn)一步被配置成基于流控制指令和該存儲(chǔ)器中的相關(guān)值跳過(guò)該部分微任務(wù)指令。該命令還可包含用于使任務(wù)分配器基于從所有或一些處理單元報(bào)告的一或多個(gè)值有選棒地跳過(guò)一部分微任務(wù)指令的流控制指令,任務(wù)調(diào)度設(shè)備還可包括用于存儲(chǔ)該值的存儲(chǔ)器,其中任務(wù)分配器可進(jìn)一步被配置成基于流控制指令和該存儲(chǔ)器中的相關(guān)值跳過(guò)該部分微任務(wù)指令。多處理器計(jì)算系統(tǒng)可被實(shí)現(xiàn)在片上系統(tǒng)加速器或微處理器中??山?jīng)由DMA實(shí)現(xiàn)處理單元對(duì)全局存儲(chǔ)器的訪問(wèn)。多處理器計(jì)算系統(tǒng)還可包括用于初始化任務(wù)定序器的配置設(shè)備。本發(fā)明還提供一種多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,該系統(tǒng)包括主處理器、全局存儲(chǔ)器、微任務(wù)定序器和至少一個(gè)處理單元,該方法包括由主處理器在全局存儲(chǔ)器中提供包含微任務(wù)描述的命令;由微任務(wù)定序器在其能夠接納進(jìn)一步的命令的情況下,從全局存儲(chǔ)器獲取命令;由微任務(wù)定序器將由每個(gè)微任務(wù)描述所定義的每個(gè)微任務(wù)指令分派到至少一個(gè)處理單元中的一個(gè),使得所分派到的處理單元能夠執(zhí)行該微任務(wù)指令;由微任務(wù)定序器檢測(cè)該命令中所有微任務(wù)的完成;和由微任務(wù)定序器將該完成通知主處理器,其中處理單元能夠通過(guò)本身或通過(guò)該至少一個(gè)處理單元中的另一個(gè)來(lái)訪問(wèn)全局存儲(chǔ)器。本發(fā)明是改進(jìn)體系結(jié)構(gòu)的多處理器計(jì)算機(jī),其包括稱為"微任務(wù)定序器(MicrotaskSequencer)"的專用可編程任務(wù)定序器。此夕卜,主處理器用描述要提交到計(jì)算單元的任務(wù)的信息對(duì)任務(wù)定序器進(jìn)行編程。任務(wù)定序器接著自動(dòng)分派這些任務(wù)并且監(jiān)視這種任務(wù)的執(zhí)行狀態(tài),無(wú)需主處理器的干預(yù)。任務(wù)定序器也具有基于信號(hào)發(fā)出和等待機(jī)制的軟件可編程同步邏輯。當(dāng)需要任務(wù)之間的同步時(shí)使用這種同步邏輯。因而將同步邏輯從計(jì)算單元中分離出來(lái)。與現(xiàn)有技術(shù)已知的相比,本發(fā)明提供了一種計(jì)算任務(wù)處理機(jī)制,其具有與硬連線邏輯同等的性能,和與完全軟件實(shí)現(xiàn)的控制同等的靈活性。通過(guò)將同步邏輯從計(jì)算單元中分離出來(lái),本發(fā)明使得將異構(gòu)計(jì)算單元集成到相同體系結(jié)構(gòu)中的工作變得簡(jiǎn)單。本發(fā)明也允許計(jì)算單元的軟件程序員僅將注意力集中在算法的功能部分.另一改進(jìn)是功率效率可能優(yōu)于不將指令周期花費(fèi)在等待同步信號(hào)上的軟件方案。被說(shuō)明書(shū)引用并且構(gòu)成說(shuō)明書(shū)組成部分的附困困解了本發(fā)明的實(shí)施例,并且和前面的概括說(shuō)明、下面針對(duì)實(shí)施例的詳細(xì)描述一起被用來(lái)說(shuō)明本發(fā)明的原理。只要可能,相同的附圖標(biāo)記在附困中會(huì)被用來(lái)表示相同或類似的部分。在附圖中圖l根據(jù)本發(fā)明一個(gè)實(shí)施例示出了其中能夠?qū)崿F(xiàn)本發(fā)明的典型系統(tǒng)體系結(jié)構(gòu)的例子;而圖2示出了包含同步機(jī)制的微任務(wù)定序器的配置的例子。具體實(shí)施方式在下面的描述中,給出了某些具體細(xì)節(jié)以便提供對(duì)本發(fā)明多個(gè)實(shí)施例的充分理解。不過(guò),本領(lǐng)域技術(shù)人員可知,沒(méi)有這些細(xì)節(jié)也能實(shí)現(xiàn)本發(fā)明。在其他情況下,沒(méi)有詳細(xì)表示或描述與計(jì)算機(jī)、處理器等等有關(guān)的公知結(jié)構(gòu),以避免不必要地干擾對(duì)本發(fā)明實(shí)施例的描述。由于資源限制、發(fā)掘并發(fā)成分、增加代碼和數(shù)據(jù)局部性和代碼可管理性等等的原因,常見(jiàn)的做法是多處理器系統(tǒng)上運(yùn)行的應(yīng)用程序通常將復(fù)雜計(jì)算任務(wù)分割成小片段。每個(gè)小任務(wù)接著被分派給計(jì)算單元中的一個(gè)以根據(jù)設(shè)計(jì)的算法流執(zhí)行。例如,在典型的實(shí)時(shí)視頻編碼應(yīng)用中,一個(gè)小任務(wù)只可以處理一個(gè)4x4或8x8圖像塊,而一秒中小任務(wù)的總數(shù)將達(dá)到數(shù)十萬(wàn)。通過(guò)將這些任務(wù)映射到多處理器系統(tǒng),每個(gè)小任務(wù)從開(kāi)始到完成可能只運(yùn)行若干微秒。另外,這些小任務(wù)之間可以具有復(fù)雜的依賴。例如,它們中的某些小任務(wù)需要將它們中的其它小任務(wù)的輸出以作為輸入數(shù)據(jù).結(jié)果,小任務(wù)的數(shù)量如此巨大并且這些小任務(wù)的執(zhí)行控制粒度如此精細(xì),使得小任務(wù)明顯不同于傳統(tǒng)操作系統(tǒng)中對(duì)任務(wù)的常見(jiàn)定義。為盡量遊免混亂,我們將表示羊個(gè)計(jì)算單元上的單次運(yùn)行的小任務(wù)的術(shù)語(yǔ)定義為,,微任務(wù)(microtask)"。由于微任務(wù)的巨大數(shù)量和粒度非常精細(xì)的控制,在傳統(tǒng)操作系統(tǒng)中使用任務(wù)調(diào)度的方案將非常沉重,以至于多數(shù)主處理器無(wú)法處理。我們的發(fā)明通過(guò)引入作為自治控制器工作的硬件定序器邏輯來(lái)解決這個(gè)問(wèn)題。這將解除主處理器進(jìn)行微任務(wù)調(diào)度的沉重負(fù)擔(dān)。主處理器需要做的只是對(duì)定序器進(jìn)行編程并且處理某些預(yù)定條件下出現(xiàn)的不常見(jiàn)中斷。圖l根據(jù)本發(fā)明一個(gè)實(shí)施例示出了其中能夠?qū)崿F(xiàn)本發(fā)明的典型系統(tǒng)體系結(jié)構(gòu)的例子。系統(tǒng)100包括連接到主機(jī)系統(tǒng)總線103的主處理器101、全局存儲(chǔ)器102和多處理器子系統(tǒng)110。主處理器101運(yùn)行OS和高層應(yīng)用邏輯。全局存儲(chǔ)器102用于保存應(yīng)用程序的代碼和數(shù)據(jù)。多處理器子系統(tǒng)110包括微任務(wù)定序器104、可選的DMA單元105-1.....105-m、計(jì)算單元106-1、…、106-n和可選的共享本地^儲(chǔ)器塊107-1.....107-k,計(jì)算單元106-1、…、106-n進(jìn)行實(shí)際的微任務(wù)計(jì)算。這些計(jì)算單元106-1.....106-n可以是從通用處理器到專用硬連線邏輯單元。與多數(shù)其它多處理器系統(tǒng)比較,在這種體系結(jié)構(gòu)中也允許不同計(jì)算單元類型的組合。優(yōu)選地,為減少計(jì)算單元106-1.....106-n和全局存儲(chǔ)器102之間的數(shù)據(jù)傳輸,通常在計(jì)算單元106-1.....106-n中包含保存代碼和數(shù)據(jù)的私有本地存儲(chǔ)器。優(yōu)選地,出于相同原因,也可以具有一些共享本地存儲(chǔ)器塊107-1、…、107-k以存儲(chǔ)中間或公共數(shù)據(jù)。因此,DMA單元105-1.....105-m于是被用于在全局存儲(chǔ)器102、計(jì)算單元106-1、…、106-n的本地存儲(chǔ)器和共享本地存儲(chǔ)器塊107-1、…、107-k之間移動(dòng)數(shù)據(jù)。本地總線/交叉交換裝置109被用作DMA單元105-1、…、105-m和計(jì)算單元106-1.....106-n之間的內(nèi)部數(shù)據(jù)路徑。微任務(wù)定序器104被用于控制例如DMA單元105-1.....105-m和計(jì)算單元106-1、…、106-n的這些功能單元。這些功能單元通過(guò)任務(wù)控制總線108被連接到微任務(wù)定序器104。微任務(wù)定序器104通常從全局存儲(chǔ)器102得到包含微任務(wù)描述的命令,其中由主處理器101上運(yùn)行的應(yīng)用軟件根據(jù)程序員的設(shè)計(jì)或編譯器或解釋器的布置來(lái)產(chǎn)生這些描述。例如,對(duì)于包舍3個(gè)分立計(jì)算的計(jì)算任務(wù),它可以被分成如下3個(gè)微任務(wù)微任務(wù)1:計(jì)算#1微任務(wù)2:計(jì)算#2微任務(wù)3:計(jì)算#3。接著,微任務(wù)定序器104執(zhí)行這些命令并且基于任務(wù)描述中指定的目的地信息將任務(wù)描述(即微任務(wù))分派到相應(yīng)功能單元。如前所述,DMA單元105-1.....105-m的微任務(wù)可以小至移動(dòng)數(shù)十字節(jié)數(shù)據(jù),而計(jì)算單元106-1.....106-n則在數(shù)十或數(shù)百時(shí)鐘周期內(nèi)處理這些數(shù)據(jù)。在時(shí)鐘高于200MHz的系統(tǒng)中,這些微任務(wù)可能持續(xù)不到一微秒或甚至不到十分之一微秒。顯然,如果在沒(méi)有微任務(wù)定序器104的幫助的情況下將主處理器101用于控制這些微任務(wù),其處理能力會(huì)完全被這種控制占用。這里,具有微任務(wù)定序器的多處理器計(jì)算系統(tǒng)能夠至少解除主處理器對(duì)功能單元進(jìn)行調(diào)度和管理的負(fù)擔(dān)。當(dāng)完成其微任務(wù)時(shí),功能單元可以通過(guò)任務(wù)控制總線或任何其他例如中斷的已知信令方法通知微任務(wù)定序器,使得微任務(wù)定序器可以執(zhí)行進(jìn)一步的分派或控制。通常,可以通過(guò)任何物理或邏輯的處理單元,例如一或多個(gè)中央處理單元(CPU)、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)等等來(lái)實(shí)現(xiàn)微任務(wù)定序器和功能單元。主機(jī)系統(tǒng)總線、任務(wù)控制總線和本地總線/交叉交換裝置能夠使用任何已知的總線或交換機(jī)結(jié)構(gòu)或體系結(jié)構(gòu)。此外,不同功能單元上運(yùn)行的微任務(wù)之間可以有依賴關(guān)系例如,要執(zhí)行一個(gè)任務(wù),其中在例如計(jì)算單元106-1.....106-n的計(jì)算單元上的微任務(wù)開(kāi)始運(yùn)行之前,例如DMA單元105-1、."、105-m的DMA單元將裝栽用于該計(jì)算單元的相應(yīng)輸入數(shù)據(jù).在計(jì)算單元完成工作之后,DMA單元將所得到的數(shù)據(jù)移動(dòng)到下一目的地.在這個(gè)例子中,計(jì)算任務(wù)能夠被分成如下3個(gè)微任務(wù)微任務(wù)l,數(shù)據(jù)栽入微任務(wù)2':計(jì)算微任務(wù)3':數(shù)振卸出,因而,計(jì)算單元上運(yùn)行的微任務(wù)和DMA單元上運(yùn)行的相應(yīng)微任務(wù)可能相互依賴,例如微任務(wù)2'的計(jì)算需要先進(jìn)行微任務(wù)l'的栽入數(shù)據(jù),微任務(wù)3'的數(shù)據(jù)卸出需要先進(jìn)行微任務(wù)2'的計(jì)算,因而這些功能單元必須按照正確的順序操作以得到正確的結(jié)果。而對(duì)于彼此不依賴的微任務(wù),例如2個(gè)獨(dú)立計(jì)算單元106-1、...、106-n或2個(gè)DMA單元105-1、"、105-m上運(yùn)行的微任務(wù),這些微任務(wù)能夠被同時(shí)提交以實(shí)現(xiàn)這些硬件資源的更好利用。為處理多個(gè)微任務(wù),即多個(gè)功能單元間的這種依賴關(guān)系,本發(fā)明為微任務(wù)定序器提供了同步機(jī)制,使得微任務(wù)定序器能夠促成微任務(wù)的并行執(zhí)行,從而解除功能單元的同步負(fù)擔(dān)。圖2示出了包含同步機(jī)制的微任務(wù)定序器200的配置的例子。如圖2所示,微任務(wù)定序器200經(jīng)由主機(jī)系統(tǒng)總線連接到主機(jī)系統(tǒng),并且包括用于經(jīng)由主機(jī)系統(tǒng)總線的存儲(chǔ)器總線從主處理器指定的位置獲取命令的任務(wù)獲得設(shè)備210,和用于將命令中描述的微任務(wù)分派給相關(guān)功能單元和管理微任務(wù)間的同步的任務(wù)調(diào)度設(shè)備220。微任務(wù)定序器200還可以包括配置設(shè)備230,其中主處理器可以通過(guò)配置設(shè)備230經(jīng)由主機(jī)系統(tǒng)總線的配置總線初始化或控制微任務(wù)定序器200和相關(guān)功能單元。任務(wù)獲得設(shè)備210包括存儲(chǔ)器總線接口201、FIFO加栽器203-1和傳入FIFO203-2。任務(wù)調(diào)度設(shè)備220包括任務(wù)分配器205、多個(gè)任務(wù)隊(duì)列206a、206b、206c、相應(yīng)執(zhí)行控制單元(ECU)207a、207b、207c和共享信號(hào)燈數(shù)組208。任務(wù)調(diào)度設(shè)備220也可以包括保存對(duì)應(yīng)于某些或所有功能單元的某些標(biāo)志的標(biāo)志數(shù)組209。配置設(shè)備230包括配置總線接口202和系統(tǒng)配置單元204。任務(wù)控制總線210a、210b、210c分別將執(zhí)行控制單元207a、207b、207c連接到例如DMA單元105-1、…、105-m和計(jì)算單元1。6-1.....106-11的相應(yīng)功能單元。每個(gè)功能單元對(duì)應(yīng)于微任務(wù)定序器104中的任務(wù)隊(duì)列206和執(zhí)行控制單元207。FIFO加栽器203-1是用于將編程命令從全局存儲(chǔ)器102裝栽到傳入FIFO203-2的DMA控制器。FIFO加栽器203-1接受來(lái)自任務(wù)分配器205的請(qǐng)求以裝載命令,只要任務(wù)分配器205能夠處理進(jìn)一步的命令。主處理器可以優(yōu)選地通過(guò)配置設(shè)備230來(lái)初始化任務(wù)獲得設(shè)備210,以便從全局存儲(chǔ)器102地址空間內(nèi)一個(gè)指定位置開(kāi)始裝栽,并且任務(wù)獲得設(shè)備210將內(nèi)容裝載到指定計(jì)數(shù)。優(yōu)選地,一旦完成傳送,F(xiàn)IFO加栽器203-1將狀態(tài)設(shè)置到配置設(shè)備230的系統(tǒng)配置單元204,并且發(fā)出主機(jī)中斷以將該狀態(tài)通知主處理器101??蛇x地,可以通過(guò)本領(lǐng)域已知的其它信令機(jī)制來(lái)實(shí)現(xiàn)任務(wù)獲得設(shè)備210與主處理器101之間的以上交互。優(yōu)選地,在傳入FIFO203-2內(nèi)可以有一些緩沖區(qū)以允許對(duì)存儲(chǔ)器總線進(jìn)行高效突發(fā)訪問(wèn)。在FIFO加栽器203-1從全局存儲(chǔ)器102獲取編程命令之后,任務(wù)分配器205將這些命令從傳入FIFO203-2分派到每個(gè)執(zhí)行控制單元207的任務(wù)隊(duì)列206。任務(wù)隊(duì)列206a、206b、206c是保存要提交到相應(yīng)功能單元的命令的FIFO存儲(chǔ)裝置。FIFO的深度是效率和面積的折衷。在該實(shí)施例中,假定大小為32到64條目。任務(wù)分配器205監(jiān)視相關(guān)任務(wù)隊(duì)列206a、206b、206c的狀態(tài),并且一旦來(lái)自FIFO加栽器203-1的當(dāng)前可用命令匹配于具有空位的隊(duì)列,則填充這些隊(duì)列。所述命令包括指示其應(yīng)當(dāng)分派到的任務(wù)隊(duì)列206的區(qū)段。執(zhí)行控制單元207接著檢查其相應(yīng)功能單元的狀態(tài)并且相應(yīng)向該功能單元分派命令。連接到微任務(wù)定序器200的每個(gè)功能單元由相應(yīng)執(zhí)行控制單元207控制。執(zhí)行控制單元207是從相應(yīng)任務(wù)隊(duì)列206獲取命令的簡(jiǎn)單順序可編程控制器,執(zhí)行控制單元207將命令傳遞到功能單元,或者在例如需要執(zhí)行功能單元間同步操作的情況下,或優(yōu)選地在需要執(zhí)行任務(wù)內(nèi)的一些流控制的情況下,根據(jù)命令的類型由其本身處理該命令。在后一情形中,執(zhí)行控制單元207訪問(wèn)信號(hào)燈數(shù)組208,并且優(yōu)選地訪問(wèn)標(biāo)志數(shù)組209。在信號(hào)燈命令的控制下,執(zhí)行控制單元207也可以*沒(méi)置信號(hào)燈或輪詢一些特定信號(hào)燈。通過(guò)標(biāo)志數(shù)組209,執(zhí)行控制單元207也可以支持條件命令以實(shí)現(xiàn)"IFTHENELSE,,方式的執(zhí)行路徑。這可以被用來(lái)進(jìn)一步分離主處理器101的控制。如上所述,使用信號(hào)燈數(shù)組208來(lái)保持每個(gè)執(zhí)行控制單元207之間的同步。信號(hào)燈數(shù)組208保存可以由執(zhí)行控制單元207a、207b、207c使用同步命令設(shè)置和清除l的一位標(biāo)志的數(shù)組。更具體地,信號(hào)燈數(shù)組208是可以由執(zhí)行控制單元207a、207b、207c根據(jù)任務(wù)隊(duì)列206a、206b、206c中的信號(hào)燈命令設(shè)置和復(fù)位的一位標(biāo)志的數(shù)組。信號(hào)燈數(shù)組208是整個(gè)微任務(wù)定序器200中的共享資源。每個(gè)執(zhí)行控制單元207能夠在命令控制下訪問(wèn)信號(hào)燈數(shù)組208的每個(gè)位。對(duì)任務(wù)隊(duì)列206a、206b、206c的信號(hào)燈位分配完全由程序員來(lái)控制,并且由程序員負(fù)責(zé)避免使用沖突。執(zhí)行控制單元207能夠設(shè)置多個(gè)信號(hào)燈位,或能夠等待多個(gè)信號(hào)燈位。通過(guò)信號(hào)燈設(shè)置命令來(lái)設(shè)置信號(hào)燈位,并且信號(hào)燈等待命令將被阻塞,直到它們等待的信號(hào)燈位全部被設(shè)置。信號(hào)燈等待命令也會(huì)在繼續(xù)其它處理之前復(fù)位相應(yīng)信號(hào)燈位。通過(guò)這個(gè)簡(jiǎn)單設(shè)計(jì),能夠容易地處理傳送多個(gè)隊(duì)列的多個(gè)微任務(wù)之間的復(fù)雜同步要求。如上所述,為允許微任務(wù)定序器200和受控制的功能單元之間的更多交互,每個(gè)功能單元能夠在微任務(wù)執(zhí)行完成時(shí)返回單位或多位結(jié)果。這個(gè)值應(yīng)當(dāng)設(shè)置到標(biāo)志數(shù)組209中。標(biāo)志數(shù)組209中的數(shù)據(jù)能夠被用于實(shí)現(xiàn)命令的條件執(zhí)行,從而允許類似"IF-THEN-ELSE"的微任務(wù)執(zhí)行流。更具體地,標(biāo)志數(shù)組209是單位或多位結(jié)果的數(shù)組。每個(gè)條目對(duì)應(yīng)于一個(gè)功能單元。因而,根據(jù)需要,標(biāo)志數(shù)組209中的條目的數(shù)量可以等于或小于功能單元的數(shù)量、任務(wù)隊(duì)列206a、206b、206c的數(shù)量或執(zhí)行控制單元207a、207b、207c的數(shù)量。在相關(guān)微任務(wù)執(zhí)行結(jié)束之前由功能單元設(shè)置該結(jié)果。然而結(jié)果值的定義不限于在本文中描述的情況。這應(yīng)當(dāng)由功能單元設(shè)計(jì)人員自已來(lái)確定。一些可能的例子是狀態(tài)報(bào)告、簡(jiǎn)單返回值等等。所有執(zhí)行控制單元207a、207b、207c均能夠讀取標(biāo)志數(shù)組的任何一個(gè)條目。對(duì)于執(zhí)行控制單元207,提供獲取和存儲(chǔ)期望標(biāo)志數(shù)組209內(nèi)容以供將來(lái)參考的命令。這將允許新的結(jié)果更新,同時(shí)保持本地串行化執(zhí)行流一致。通過(guò)標(biāo)志數(shù)組209和條件執(zhí)行能力,我們能夠?qū)崿F(xiàn)"IFTHENELSE"和"SWITCHCASE"執(zhí)行控制,并且在適用情景中,進(jìn)一步分離主處理器101的控制,配置設(shè)備230是針對(duì)主機(jī)系統(tǒng)的用于配置和控制的優(yōu)選接口。更具體地,系統(tǒng)配置單元204在其中通過(guò)配置總線接口202訪問(wèn)主機(jī)系統(tǒng),并且能夠被主機(jī)系統(tǒng)用來(lái)初始化任務(wù)定序器和控制不同內(nèi)部/外部功能單元的操作。通常,配置設(shè)備230可以具有針對(duì)系統(tǒng)總線的從模式1/0接口和用于狀態(tài)報(bào)告的一個(gè)中斷請(qǐng)求線。在上述實(shí)施例中,微任務(wù)定序器104能夠在主處理器101介入最少的情況下自動(dòng)提交任務(wù)到功能單元(DMA單元105-1.....105-m和計(jì)算單元106-1、…、106-n)。為便于理解本發(fā)明,下面將給出任務(wù)描述(微任務(wù)命令)格式和內(nèi)容的具體示例。然而應(yīng)當(dāng)理解,本發(fā)明并不受此示例的限制。1.微任務(wù)定序器命令格式微任務(wù)定序器的所有命令均為32位長(zhǎng)。命令被分成表1所示的四個(gè)域。QID域是命令應(yīng)當(dāng)分配到的任務(wù)隊(duì)列的ID號(hào)。這個(gè)域由任務(wù)分配器來(lái)解釋。任務(wù)分配器也檢查NUMARG域,這個(gè)域指示有多少個(gè)32位變?cè)诤竺?。任?wù)分配器會(huì)將跟隨的NUMARG個(gè)32位字視作前面的命令的變?cè)⑶視?huì)將這些數(shù)據(jù)一起分配給任務(wù)隊(duì)列,而無(wú)需進(jìn)一步解釋。命令字中的ECU域被用于區(qū)分執(zhí)行控制單元應(yīng)當(dāng)解釋執(zhí)行命令還是只將命令發(fā)送到相應(yīng)功能單元來(lái)進(jìn)行處理。表l微任務(wù)定序器命令格式<table>tableseeoriginaldocumentpage17</column></row><table>1.1.1信號(hào)燈命令l.l.l信號(hào)燈設(shè)置定義SEMPOSTwimi/^ore_vecto/*CMD:b'0010000'NUMARG:0DATA:wwa//wre—vector的0:15位屏蔽說(shuō)明此命令將相應(yīng)信號(hào)燈數(shù)組位設(shè)置為1。由DATA部分中的位屏蔽指定受影響的位。如何任何相應(yīng)位被設(shè)置為1,則這個(gè)命令應(yīng)當(dāng)?shù)却狡渌K將所有相應(yīng)位設(shè)置為0。例子SEMPOSTb'1011000000000000'此命令設(shè)置信號(hào)燈數(shù)組的第0、2、3位。1.1.1.2信號(hào)燈等待定義SEMWAITseww/i/^re—vecto/*CMD:b,OOlOOOl'NUMARG:0DATA:seiw<i/^ore_vector的0:15位屏蔽定義此命令等待相應(yīng)信號(hào)燈數(shù)組位被設(shè)置。由DATA部分中的位屏蔽來(lái)指定受監(jiān)視的位。此命令將掛起ECU的執(zhí)行流,直至設(shè)置了所有被屏蔽的位。接著將相應(yīng)倌號(hào)燈數(shù)組位清零.設(shè)有限定系統(tǒng)時(shí)鐘周期最大等待時(shí)間的一個(gè)全局超時(shí)計(jì)數(shù)器。一旦在限定的超時(shí)值內(nèi)未觸發(fā)信號(hào)燈位,則應(yīng)當(dāng)產(chǎn)生狀態(tài)報(bào)告事件,并且該信號(hào)能夠被用來(lái)觸發(fā)主機(jī)中斷來(lái)使主機(jī)處理器介入處理。例子SEMWAITb'lOllOOOOOOOOOOOO,此命令進(jìn)行等待,直至信號(hào)燈數(shù)組的0,2,3位均被設(shè)置。1.1.1.3信號(hào)燈清除定義SEMCXRse附fl[pAore一vectorCMD:b'0010010'NUMARG:0DATA:w/mip/wre—vectoi*的0:15位屏蔽說(shuō)明此命令將相應(yīng)信號(hào)燈數(shù)組位清除為0。由DATA部分中的位屏蔽來(lái)指定所述被清除的位。此命令能夠被用來(lái)初始化信號(hào)燈數(shù)組至正確狀態(tài)。例子SEMCLRb,llllllllllllllll'此命令清除信號(hào)燈數(shù)組的所有相應(yīng)位。1丄1.4信號(hào)燈掛起定義SEMPENDs棚印A鮮一vectorCMD:b'OOlOOll'NUMARG:0DATA:wf"p/wre_vector的0:15位屏蔽說(shuō)明此命令等待相應(yīng)信號(hào)燈數(shù)組位被清除。由DATA部分中的位屏蔽來(lái)指定受監(jiān)視的位。此命令會(huì)將ECU的執(zhí)行流掛起,直至所有被屏蔽的位被清除。此命令不對(duì)信號(hào)燈數(shù)組作任何改變。設(shè)有限定系統(tǒng)時(shí)鐘周期最大等待時(shí)間的一個(gè)全局超時(shí)計(jì)數(shù)器.一旦在限定的超時(shí)值內(nèi)未觸發(fā)信號(hào)燈位,則應(yīng)當(dāng)產(chǎn)生狀態(tài)報(bào)告亊件,并且該信號(hào)能夠被用來(lái)觸發(fā)主機(jī)中斷來(lái)使主機(jī)處理器介入處理。例子SEMPENDb,101IOOOOOOOOOOOO'此命令進(jìn)行等待,直至信號(hào)燈數(shù)組的0,2,3位均被清除為0。1.1.2標(biāo)志數(shù)組和條件執(zhí)行命令1.1.2.1從標(biāo)志數(shù)組獲得條件標(biāo)志結(jié)果定義FLGLOADflmiy一i"flfejc一n"m&rCMD:b,0011000'NUMARG:0DATA:12:15位包含必須落入有效范圍的標(biāo)志數(shù)組索引。該索引以0為起始。其它位未使用并且應(yīng)當(dāng)設(shè)置為0。說(shuō)明此命令從指定的標(biāo)志數(shù)組元素取得4位值并且將其存儲(chǔ)到本地標(biāo)志寄存器的條件部分中以供條件執(zhí)行使用。標(biāo)志數(shù)組的標(biāo)志位是功能單元完成微任務(wù)時(shí)返回的標(biāo)志。例子FLGLOAD3此命令從標(biāo)志數(shù)組中取得索引3的元素。1.1.2.2無(wú)條件跳轉(zhuǎn)定義JMP""附6er一《卿油CMD:b'0011100,NUMARG:0DATA:8:15位存有任務(wù)列表中將跳過(guò)的字?jǐn)?shù),其它位未使用并且應(yīng)當(dāng)設(shè)置為0。說(shuō)明此命令跳過(guò)當(dāng)前任務(wù)隊(duì)列中o丄nwifc個(gè)字的后續(xù)命令和數(shù)據(jù)。例子JMP15此命令略過(guò)任務(wù)隊(duì)列中的后15個(gè)字的命令/數(shù)據(jù)。1.1.2.3條件跳轉(zhuǎn)定義JMPWHENc0if艦0朋,ww附6er一《腳油CMD:b'oomorNUMARG:0DATA:0:7位存有如表2所示的條件描述。8:15存有任務(wù)列表中將跳過(guò)的字?jǐn)?shù)。說(shuō)明當(dāng)條件^/i必r,Vws滿足時(shí),此命令跳過(guò)當(dāng)前任務(wù)隊(duì)列中ff"/lfA"_0/lHWYfo個(gè)字的后續(xù)命令和數(shù)據(jù)。如果條件不被滿足,則不作任何亊情。例子JMPWHENb'10101000,,15當(dāng)條件位0為1并且位2為0時(shí),此命令略過(guò)任務(wù)隊(duì)列中的后續(xù)15個(gè)字的命令/數(shù)據(jù)。表2條件描述格式位說(shuō)明0:3有關(guān)需要評(píng)估哪些條件標(biāo)志的四位屏蔽4:7期望匹配的四位值假設(shè)屏蔽為ABCD,匹配值為EFGH并且實(shí)際標(biāo)志為efgh,則能夠定義評(píng)估條件為V=!(A&(EAe))&!(B&(FAf))&!(C&(GAg))&!(D&(Hah))應(yīng)當(dāng)理解,這里在微任務(wù)定序器200中指示的特定設(shè)備或模塊可以通過(guò)硬件和/或軟件實(shí)現(xiàn)。例如,可以使用在一或多個(gè)處理模塊上運(yùn)行的軟件和/或固件來(lái)實(shí)現(xiàn)特定設(shè)備或模塊。處理模塊能夠是單個(gè)處理設(shè)備或多個(gè)處理設(shè)備。這種處理設(shè)備可以是微處理器、微控制器、數(shù)字處理器、微型計(jì)算機(jī)、中央處理單元的一部分、狀態(tài)機(jī)、邏輯電路、硬連線邏輯和/或任何能夠執(zhí)行期望處理或控制的設(shè)備。雖然根據(jù)多處理器子系統(tǒng)包括微任務(wù)定序器、DMA單元、計(jì)算單元和共享本地存儲(chǔ)器塊的實(shí)施例描述了本發(fā)明,然而在計(jì)算單元被被配置成直接訪問(wèn)全局存儲(chǔ)器的情況下,共享本地存儲(chǔ)器塊和本地總線/交叉交換裝置不是必要的。雖然在上述實(shí)施例中共享信號(hào)燈數(shù)組被用于同步,然而在本發(fā)明中能夠?qū)崿F(xiàn)其它已知同步機(jī)構(gòu)。雖然在實(shí)施例中描述了每個(gè)類型的任務(wù)隊(duì)列、執(zhí)行控制單元和功能單元的具體數(shù)量,然而這些數(shù)量不是對(duì)本發(fā)明的限制。根據(jù)需要,能夠在實(shí)現(xiàn)中實(shí)施任何數(shù)量。雖然由主處理器指定全局存儲(chǔ)器中獲取命令的位置,然而也能夠事先靜態(tài)確定該位置。類似地,也可以預(yù)定其它相關(guān)參數(shù)。雖然在一般多處理器計(jì)算系統(tǒng)中描述了本發(fā)明,然而本發(fā)明尤其能夠適用于片上系統(tǒng)加速器或微處理器。雖然在實(shí)施例中基于任務(wù)描述中指定的目的地信息將微任務(wù)指派到相應(yīng)功能單元,然而也可以在任務(wù)描述中只指定執(zhí)行微任務(wù)的功能單元的類型(例如DMA單元、計(jì)算單元等),由任務(wù)分配器根據(jù)相應(yīng)類型功能單元的可用性來(lái)隨機(jī)指定執(zhí)行微任務(wù)的功能單元。有關(guān)功能單元的類型、數(shù)量、狀態(tài)的信息可以預(yù)選指定、由主機(jī)通過(guò)系統(tǒng)配置單元來(lái)設(shè)置、或經(jīng)過(guò)輪詢或其它狀態(tài)檢測(cè)機(jī)制來(lái)獲得和維護(hù)。如果需要指定若干微任務(wù)由相同功能單元來(lái)執(zhí)行,則可以在任務(wù)描述中指定功能單元的邏輯標(biāo)識(shí),并由任務(wù)分配器負(fù)責(zé)將該邏輯標(biāo)識(shí)與物理功能單元綁定。以上所揭示的內(nèi)容是將被考慮為說(shuō)明性的,而不是限制性的,并且附加的權(quán)利要求意欲涵蓋所有屬于本發(fā)明的真實(shí)精神及范圍的這類修改、改進(jìn)及其他實(shí)施例。因此,以法律所允許的最大程度,本發(fā)明的范圍將由以下權(quán)利要求及其等同的最廣泛可容許的解釋來(lái)確定,并且不應(yīng)由上述具體實(shí)施方式約束或限制。權(quán)利要求1.一種多處理器計(jì)算系統(tǒng),包括主處理器、全局存儲(chǔ)器和至少一個(gè)處理單元,其中該多處理器計(jì)算系統(tǒng)還包括微任務(wù)定序器,包括任務(wù)獲得設(shè)備和任務(wù)調(diào)度設(shè)備,其中任務(wù)獲得設(shè)備被配置成在微任務(wù)定序器能夠接納進(jìn)一步的命令的情況下,從全局存儲(chǔ)器獲取包含微任務(wù)描述的命令,并且任務(wù)調(diào)度設(shè)備被配置成將由每個(gè)微任務(wù)描述所定義的每個(gè)微任務(wù)指令分派到該至少一個(gè)處理單元中的一個(gè),使得所分派到的處理單元能夠執(zhí)行該微任務(wù)指令,并且任務(wù)調(diào)度設(shè)備進(jìn)一步被配置成檢測(cè)該命令中所有微任務(wù)的完成,并且將該完成通知主處理器,其中處理單元能夠通過(guò)本身或通過(guò)該至少一個(gè)處理單元中的另一個(gè)來(lái)訪問(wèn)全局存儲(chǔ)器。2.如權(quán)利要求1所述的多處理器計(jì)算系統(tǒng),其中任務(wù)調(diào)度設(shè)備包括任務(wù)分配器;至少一個(gè)任務(wù)隊(duì)列;和至少一個(gè)執(zhí)行控制單元,所述至少一個(gè)執(zhí)行控制單元中的每個(gè)與該至少一個(gè)任務(wù)隊(duì)列中的一個(gè)不同的任務(wù)隊(duì)列相關(guān),并且與該至少一個(gè)處理單元中的一個(gè)不同的處理單元相關(guān),其中任務(wù)分配器被配置成接受由任務(wù)獲得設(shè)備獲取的命令,并且將所述每個(gè)微任務(wù)放在該至少一個(gè)任務(wù)隊(duì)列中與所述分派到的處理單元相關(guān)的任務(wù)隊(duì)列中,任務(wù)分配器進(jìn)一步被配置成執(zhí)行所述檢測(cè)和通知;并且該至少一個(gè)執(zhí)行控制單元的每個(gè)被配置成以FIFO方式從相關(guān)任務(wù)隊(duì)列獲得一個(gè)微任務(wù)指令,并且響應(yīng)于相關(guān)處理單元能夠處理進(jìn)一步的微任務(wù)指令,將獲得的微任務(wù)指令傳送到該相關(guān)處理單元來(lái)執(zhí)行,該至少一個(gè)執(zhí)行控制單元的每個(gè)進(jìn)一步被配置成收集獲得的微任務(wù)指令的完成以用于所述檢測(cè)。3.如權(quán)利要求2所述的多處理器計(jì)算系統(tǒng),其中該命令還包含用于實(shí)現(xiàn)該至少一個(gè)處理單元中的兩個(gè)或更多處理單元間的同步的同步指令,任務(wù)分配器進(jìn)一步被配置成將同步指令放在與該同步指令相關(guān)的任務(wù)隊(duì)列中,任務(wù)調(diào)度設(shè)備還包括同步控制裝置,其由執(zhí)行控制單元基于從各自任務(wù)隊(duì)列獲得的同步指令進(jìn)行操作,以實(shí)現(xiàn)同步。4.如權(quán)利要求3所述的多處理器計(jì)算系統(tǒng),其中同步基于信號(hào)燈技術(shù),并且同步控制裝置基于共享信號(hào)燈數(shù)組來(lái)實(shí)現(xiàn)。5.如權(quán)利要求2-4中任何一個(gè)所述的多處理器計(jì)算系統(tǒng),其中該命令還包含用于使相關(guān)執(zhí)行控制單元基于從所有或一些處理單元報(bào)告的一或多個(gè)值有選擇地跳過(guò)一部分微任務(wù)指令的流控制指令,任務(wù)分配器進(jìn)一步被配置成將流控制指令放在與該流控制指令相關(guān)的任務(wù)隊(duì)列中,任務(wù)調(diào)度設(shè)備還包括用于存儲(chǔ)該值的存儲(chǔ)器,其中執(zhí)行控制單元進(jìn)一步被配置成基于流控制指令和該存儲(chǔ)器中的相關(guān)值跳過(guò)該部分微任務(wù)指令。6.如權(quán)利要求2-4中任何一個(gè)所述的多處理器計(jì)算系統(tǒng),其中該命令還包含用于使任務(wù)分配器基于從所有或一些處理單元報(bào)告的一或多個(gè)值有選擇地跳過(guò)一部分微任務(wù)指令的流控制指令,任務(wù)調(diào)度設(shè)備還包括用于存儲(chǔ)該值的存儲(chǔ)器,其中任務(wù)分配器進(jìn)一步被配置成基于流控制指令和該存儲(chǔ)器中的相關(guān)值跳過(guò)該部分微任務(wù)指令。7.如權(quán)利要求1-6中任何一個(gè)所述的多處理器計(jì)算系統(tǒng),其中該多處理器計(jì)算系統(tǒng)被實(shí)現(xiàn)在片上系統(tǒng)加速器或微處理器中。8.如權(quán)利要求l-6中任何一個(gè)所述的多處理器計(jì)算系統(tǒng),其中經(jīng)由DMA實(shí)現(xiàn)處理單元對(duì)全局存儲(chǔ)器的訪問(wèn)。9.如權(quán)利要求l-6中任何一個(gè)所述的多處理器計(jì)算系統(tǒng),其中多處理器計(jì)算系統(tǒng)還包括用于初始化微任務(wù)定序器的配置設(shè)備。10.如權(quán)利要求1-6中任何一個(gè)所述的多處理器計(jì)算系統(tǒng),其中所述微任務(wù)定序器還包括本地共享存儲(chǔ)器。11.如權(quán)利要求l所述的多處理器計(jì)算系統(tǒng),其中任務(wù)調(diào)度i殳備被配置成將由每個(gè)微任務(wù)描述所定義的每個(gè)微任務(wù)指令分派到微任務(wù)描述中指示的處理羊元。12.如權(quán)利要求1所述的多處理器計(jì)算系統(tǒng),其中任務(wù)調(diào)度設(shè)備被配置成將由每個(gè)微任務(wù)描述所定義的每個(gè)微任務(wù)指令分派到符合微任務(wù)描述中指定的要求的處理單元。13.—種多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,該系統(tǒng)包括主處理器、全局存儲(chǔ)器、微任務(wù)定序器和至少一個(gè)處理單元,該方法包括由主處理器在全局存儲(chǔ)器中提供包含微任務(wù)描述的命令;由微任務(wù)定序器在其能夠接納進(jìn)一步的命令的情況下,從全局存儲(chǔ)器獲取命令;由微任務(wù)定序器將由每個(gè)微任務(wù)描述所定義的每個(gè)微任務(wù)指令分派到至少一個(gè)處理單元中的一個(gè),使得所分派到的處理單元能夠執(zhí)行該微任務(wù)指令;由微任務(wù)定序器檢測(cè)該命令中所有微任務(wù)的完成;和由微任務(wù)定序器將該完成通知主處理器,其中處理單元能夠通過(guò)本身或通過(guò)該至少一個(gè)處理單元中的另一個(gè)來(lái)訪問(wèn)全局存儲(chǔ)器。14.如權(quán)利要求13所述的多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,其中所述微任務(wù)定序器包括至少一個(gè)任務(wù)隊(duì)列和至少一個(gè)執(zhí)行控制單元,所述至少一個(gè)執(zhí)行控制單元中的每個(gè)與該至少一個(gè)任務(wù)隊(duì)列中的一個(gè)不同的任務(wù)隊(duì)列相關(guān),并且與該至少一個(gè)處理單元中的一個(gè)不同的處理單元相關(guān),所述分派步驟包括將所述命令的每個(gè)微任務(wù)放在該至少一個(gè)任務(wù)隊(duì)列中與所述分派到的處理單元相關(guān)的任務(wù)隊(duì)列中;以及由相關(guān)執(zhí)行控制單元以FIFO方式從相關(guān)任務(wù)隊(duì)列獲得一個(gè)微任務(wù)指令,響應(yīng)于相關(guān)處理單元能夠處理進(jìn)一步的微任務(wù)指令,將獲得的微任務(wù)指令傳送到該相關(guān)處理單元來(lái)執(zhí)行,并且收集獲得的微任務(wù)指令的完成以用于所述檢測(cè)。15.如權(quán)利要求14所述的多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,其中該命令還包含用于實(shí)現(xiàn)該至少一個(gè)處理單元中的兩個(gè)或更多處理羊元間的同步的同步指令,所迷分派步棵還包括將同步指令放在與該同步指令相關(guān)的任務(wù)隊(duì)列中;和由相關(guān)執(zhí)行控制單元基于從任務(wù)隊(duì)列獲得的同步指令進(jìn)行操作,以實(shí)現(xiàn)同步。16.如權(quán)利要求15所述的多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,其中同步基于信號(hào)燈技術(shù)。17.如權(quán)利要求14-16中任何一個(gè)所述的多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,其中該命令還包含用于使相關(guān)執(zhí)行控制單元基于從所有或一些處理單元報(bào)告的一或多個(gè)值有選擇地跳過(guò)一部分微任務(wù)指令的流控制指令,所述分派步稞還包括成將流控制指令放在與該流控制指令相關(guān)的任務(wù)隊(duì)列中;存儲(chǔ)該值;和由相關(guān)執(zhí)行控制單元基于流控制指令和該存儲(chǔ)的相關(guān)值跳過(guò)該部分微任務(wù)指令。18.如權(quán)利要求14-16中任何一個(gè)所述的多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,其中該命令還包含用于使得基于從所有或一些處理單元報(bào)告的一或多個(gè)值有選擇地跳過(guò)一部分微任務(wù)指令的流控制指令,所述分派步驟還包括存儲(chǔ)該值;和基于流控制指令和該存儲(chǔ)的相關(guān)值跳過(guò)該部分微任務(wù)指令。19.如權(quán)利要求13所述的多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,其中所述分派步驟包括將由每個(gè)微任務(wù)描述所定義的每個(gè)微任務(wù)指令分派到微任務(wù)描述中指示的處理單元。20.如權(quán)利要求13所述的多處理器計(jì)算系統(tǒng)中的任務(wù)分配方法,其中所述分派步驟包括將由每個(gè)微任務(wù)描述所定義的每個(gè)微任務(wù)指令分派到符合微任務(wù)描述中指定的要求的處理單元。全文摘要公開(kāi)了一種多處理器計(jì)算系統(tǒng)。多處理器計(jì)算系統(tǒng)包括主處理器、全局存儲(chǔ)器和至少一個(gè)處理單元,其中多處理器計(jì)算系統(tǒng)還包括微任務(wù)定序器,包括任務(wù)獲得設(shè)備和任務(wù)調(diào)度設(shè)備,其中任務(wù)獲得設(shè)備被配置成在微任務(wù)定序器能夠接納進(jìn)一步的命令的情況下,從全局存儲(chǔ)器獲取包含微任務(wù)描述的命令,并且任務(wù)調(diào)度設(shè)備被配置成將每個(gè)微任務(wù)描述定義的每個(gè)微任務(wù)指令分派到該至少一個(gè)處理單元中的一個(gè),使得所指示的處理單元能夠執(zhí)行該微任務(wù)指令,并且任務(wù)調(diào)度設(shè)備進(jìn)一步被配置成檢測(cè)該命令中所有微任務(wù)的完成,并且將該完成通知主處理器,其中處理單元能夠通過(guò)本身或通過(guò)該至少一個(gè)處理單元中的另一個(gè)來(lái)訪問(wèn)全局存儲(chǔ)器。文檔編號(hào)G06F9/46GK101165655SQ20061013565公開(kāi)日2008年4月23日申請(qǐng)日期2006年10月20日優(yōu)先權(quán)日2006年10月20日發(fā)明者律萬(wàn),強(qiáng)劉,楊雨?yáng)|,林國(guó)輝,邁克爾·R.·威斯特,海鞠申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安宁市| 普安县| 织金县| 河西区| 温泉县| 称多县| 安徽省| 珠海市| 长治市| 焦作市| 栾川县| 于都县| 苍溪县| 桂林市| 常熟市| 博乐市| 建阳市| 西安市| 奉新县| 成安县| 安阳市| 原阳县| 东莞市| 纳雍县| 内丘县| 竹山县| 贵德县| 灵石县| 汪清县| 林口县| 阿荣旗| 新平| 天津市| 屏山县| 永城市| 尚义县| 桦南县| 顺昌县| 平度市| 蓬莱市| 唐海县|