亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

嵌入式并行計(jì)算系統(tǒng)以及嵌入式并行計(jì)算方法

文檔序號:6629356閱讀:168來源:國知局
專利名稱:嵌入式并行計(jì)算系統(tǒng)以及嵌入式并行計(jì)算方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算系統(tǒng)以及計(jì)算方法,特別是涉及一種嵌入式并行計(jì)算系統(tǒng)以及嵌入式并行計(jì)算方法。
背景技術(shù)
目前,在嵌入式領(lǐng)域,尤其是手機(jī)的嵌入式領(lǐng)域,軟件只能在需要完成特定應(yīng)用時(shí)(如拍照)使用應(yīng)用處理器。軟件通過讀寫應(yīng)用處理器的寄存器或發(fā)送命令給應(yīng)用處理器,應(yīng)用處理器完成特定操作后將操作結(jié)果放到應(yīng)用存儲(chǔ)器中,然后通知軟件將操作結(jié)果讀出。在做其他計(jì)算操作時(shí),軟件不能使用應(yīng)用處理器。而目前許多應(yīng)用處理器內(nèi)部都有功能較強(qiáng)大的CPU內(nèi)核。上述方法沒有充分利用應(yīng)用處理器內(nèi)部的計(jì)算能力。
而且,目前的大型并行系統(tǒng)是針對計(jì)算性能要求遠(yuǎn)遠(yuǎn)高于嵌入式系統(tǒng)的場合。其采用的是一種對等機(jī)制,即,不存在主機(jī)系統(tǒng)和子系統(tǒng)這樣的概念,各個(gè)系統(tǒng)對等地進(jìn)行計(jì)算,而之間所進(jìn)行的通信僅僅是一些計(jì)算公式之類的信息,這樣其可以很快地執(zhí)行各種處理。但是,由于設(shè)計(jì)和使用這些系統(tǒng)要求開發(fā)人員學(xué)習(xí)復(fù)雜的并行計(jì)算理論,而且,并行程序設(shè)計(jì)對大多數(shù)軟件開發(fā)人員來說是非常復(fù)雜的。這樣,使用傳統(tǒng)的方法來解決嵌入式系統(tǒng)中應(yīng)用處理器空閑計(jì)算能力的使用問題是不合適的。

發(fā)明內(nèi)容
為克服以上問題,本發(fā)明提出一種嵌入式并行計(jì)算系統(tǒng)以及一種嵌入式并行計(jì)算方法。
本發(fā)明的嵌入式并行計(jì)算系統(tǒng),包括主機(jī)和應(yīng)用子系統(tǒng),該主機(jī)具有主機(jī)處理器、主機(jī)存儲(chǔ)器和主機(jī)總線,該應(yīng)用子系統(tǒng)包括應(yīng)用處理器、應(yīng)用存儲(chǔ)器和應(yīng)用總線,主機(jī)存儲(chǔ)器中存儲(chǔ)有包括初始化程序和中斷任務(wù)程序在內(nèi)的主機(jī)程序,該主機(jī)程序中包括具有主機(jī)任務(wù)和子系統(tǒng)任務(wù)的嵌入式并行程序,該主機(jī)任務(wù)具有主任務(wù)和主機(jī)子任務(wù),該子系統(tǒng)任務(wù)具有子任務(wù),該應(yīng)用子系統(tǒng)中進(jìn)一步包括任務(wù)控制寄存器、任務(wù)狀態(tài)寄存器以及具有任務(wù)管理器的多任務(wù)操作系統(tǒng)。其中,主機(jī)處理器在執(zhí)行嵌入式并行程序的主機(jī)任務(wù)時(shí),可以通過讀任務(wù)狀態(tài)寄存器了解應(yīng)用子系統(tǒng)的狀態(tài),并根據(jù)應(yīng)用子系統(tǒng)的狀態(tài)通過在應(yīng)用子系統(tǒng)的任務(wù)控制寄存器中寫入命令通知應(yīng)用子系統(tǒng)的任務(wù)管理器創(chuàng)建/銷毀任務(wù),并可以通過讀寫應(yīng)用子系統(tǒng)的應(yīng)用存儲(chǔ)器與應(yīng)用子系統(tǒng)交互數(shù)據(jù),應(yīng)用處理器根據(jù)任務(wù)管理器創(chuàng)建的任務(wù)執(zhí)行主機(jī)處理器寫入應(yīng)用存儲(chǔ)器中的嵌入式并行程序的子系統(tǒng)任務(wù)的任務(wù)代碼,并將執(zhí)行結(jié)果寫入應(yīng)用存儲(chǔ)器。
在上述嵌入式并行計(jì)算系統(tǒng)中執(zhí)行嵌入式并行計(jì)算方法,其包括包括以下步驟步驟一,配置應(yīng)用子系統(tǒng)使用初始化程序初始化應(yīng)用子系統(tǒng),啟動(dòng)其多任務(wù)操作系統(tǒng),在啟動(dòng)完畢后寫任務(wù)狀態(tài)寄存器通知主機(jī)應(yīng)用子系統(tǒng)已準(zhǔn)備完畢并等待任務(wù)請求;步驟二,創(chuàng)建/啟動(dòng)新任務(wù)主機(jī)在確認(rèn)子系統(tǒng)準(zhǔn)備完畢后,從主機(jī)存儲(chǔ)器中讀取子系統(tǒng)任務(wù)的任務(wù)代碼,將其寫入應(yīng)用存儲(chǔ)器,并發(fā)送任務(wù)請求到任務(wù)控制寄存器中通知任務(wù)管理器創(chuàng)建/啟動(dòng)新任務(wù);步驟三,并行處理主機(jī)任務(wù)和子系統(tǒng)任務(wù)在應(yīng)用處理器根據(jù)任務(wù)管理器創(chuàng)建/啟動(dòng)的新任務(wù)執(zhí)行應(yīng)用存儲(chǔ)器中的子系統(tǒng)的任務(wù)代碼時(shí),主機(jī)處理器執(zhí)行主機(jī)任務(wù)的任務(wù)代碼;以及步驟四,結(jié)束/銷毀任務(wù)應(yīng)用處理器將執(zhí)行結(jié)果寫入應(yīng)用存儲(chǔ)器,并將中斷信號發(fā)送給主機(jī)處理器,主機(jī)處理器在接收到中斷信號后調(diào)用中斷任務(wù)程序確認(rèn)任務(wù)結(jié)束,將結(jié)束/銷毀任務(wù)的請求設(shè)置到應(yīng)用處理器的任務(wù)控制寄存器,任務(wù)管理器根據(jù)該請求結(jié)束/銷毀任務(wù)。
與現(xiàn)有技術(shù)相比,本發(fā)明提出了一種嵌入式并行計(jì)算系統(tǒng)和并行計(jì)算方法,該嵌入式并行計(jì)算系統(tǒng)包括主機(jī)和應(yīng)用子系統(tǒng),并且所執(zhí)行的嵌入式并行程序存儲(chǔ)在主機(jī)中。相對于現(xiàn)有技術(shù)中采用的對等機(jī)制,本發(fā)明的嵌入式并行計(jì)算系統(tǒng)和并行計(jì)算方法可以在以簡單的方式來避免復(fù)雜的并行程序設(shè)計(jì)的同時(shí),充分利用應(yīng)用處理器的計(jì)算能力。


圖1是本發(fā)明嵌入式并行計(jì)算系統(tǒng)的示意圖。
圖2是普通程序的結(jié)構(gòu)圖。
圖3是本發(fā)明的嵌入式并行程序的結(jié)構(gòu)圖。
圖4是本發(fā)明嵌入式并行計(jì)算系統(tǒng)執(zhí)行的嵌入式并行計(jì)算方法的流程圖。
具體實(shí)施例方式
圖1是本發(fā)明嵌入式并行計(jì)算系統(tǒng)的示意圖。本發(fā)明的嵌入式并行計(jì)算系統(tǒng)1由主機(jī)處理器11、主機(jī)總線12、主機(jī)存儲(chǔ)器13和應(yīng)用子系統(tǒng)14構(gòu)成。當(dāng)本系統(tǒng)為手機(jī)系統(tǒng)時(shí),手機(jī)主機(jī)包括主機(jī)處理器11、主機(jī)總線12和主機(jī)存儲(chǔ)器13,主機(jī)存儲(chǔ)器13是位于手機(jī)電路板上的內(nèi)存。
其中,主機(jī)總線12是用于主機(jī)處理器11、主機(jī)存儲(chǔ)器13以及應(yīng)用子系統(tǒng)14之間的通信線路。主機(jī)處理器11可以通過主機(jī)總線12訪問主機(jī)存儲(chǔ)器13以及應(yīng)用子系統(tǒng)14。主機(jī)存儲(chǔ)器13用于存儲(chǔ)嵌入式并行程序,該嵌入式并行程序中包括主機(jī)任務(wù)和子系統(tǒng)任務(wù)的任務(wù)代碼,嵌入式并行程序的主機(jī)任務(wù)的任務(wù)代碼是主機(jī)處理器11所執(zhí)行的主機(jī)任務(wù)的任務(wù)代碼。
進(jìn)一步,應(yīng)用子系統(tǒng)14由應(yīng)用處理器141,應(yīng)用總線142和應(yīng)用存儲(chǔ)器143構(gòu)成。其中,應(yīng)用存儲(chǔ)器143用于存儲(chǔ)應(yīng)用處理器141的任務(wù)代碼,應(yīng)用處理器141用于執(zhí)行存儲(chǔ)在應(yīng)用存儲(chǔ)器143中的任務(wù)代碼,應(yīng)用總線142用于應(yīng)用處理器141和應(yīng)用存儲(chǔ)器143之間的通信。其中,應(yīng)用存儲(chǔ)器143中的任務(wù)代碼是由主機(jī)處理器11從主機(jī)存儲(chǔ)器13中讀出并寫入應(yīng)用子系統(tǒng)14的應(yīng)用存儲(chǔ)器143中的子系統(tǒng)任務(wù)的任務(wù)代碼。
在圖1所示的嵌入式并行計(jì)算系統(tǒng)1中,主機(jī)處理器11可以通過主機(jī)總線12訪問主機(jī)存儲(chǔ)器13、任務(wù)控制寄存器(圖未示)和應(yīng)用存儲(chǔ)器143。應(yīng)用處理器141可以訪問任務(wù)狀態(tài)寄存器和任務(wù)控制寄存器,還可以通過應(yīng)用子系統(tǒng)14內(nèi)部的應(yīng)用總線142訪問應(yīng)用存儲(chǔ)器143。
在應(yīng)用子系統(tǒng)14中具有自己的多任務(wù)操作系統(tǒng)。該多任務(wù)操作系統(tǒng)位于應(yīng)用存儲(chǔ)器141中,包含一個(gè)任務(wù)管理器。該任務(wù)管理器能夠檢查應(yīng)用子系統(tǒng)14的任務(wù)控制寄存器的狀態(tài),并根據(jù)該任務(wù)控制寄存器的值來創(chuàng)建或銷毀任務(wù)。該任務(wù)控制寄存器的值是由主機(jī)處理器11通過寫任務(wù)控制寄存器而設(shè)置的。當(dāng)任務(wù)管理器檢查到任務(wù)控制寄存器的值等于某個(gè)二進(jìn)制數(shù)時(shí),其創(chuàng)建/銷毀任務(wù),從而完成對應(yīng)用子系統(tǒng)的任務(wù)控制。該二進(jìn)制數(shù)為子系統(tǒng)預(yù)先設(shè)定的數(shù)值,可以任意設(shè)定。
應(yīng)用處理器141所要執(zhí)行的每個(gè)任務(wù)的任務(wù)代碼都保存在應(yīng)用存儲(chǔ)器143中。在應(yīng)用處理器141執(zhí)行保存在應(yīng)用存儲(chǔ)器143中的任務(wù)代碼時(shí),主機(jī)處理器11也執(zhí)行存儲(chǔ)在主機(jī)存儲(chǔ)器13中的任務(wù)代碼。
在描述本發(fā)明并行計(jì)算之前,我們先將參照圖2和圖3比較一下在本發(fā)明的計(jì)算機(jī)系統(tǒng)中所運(yùn)行的嵌入式并行程序和普通程序的結(jié)構(gòu)。
首先看一下普通程序結(jié)構(gòu)。如圖2所示,一個(gè)普通程序只包含主機(jī)任務(wù),該主機(jī)任務(wù)中包含了多個(gè)任務(wù)。
普通程序由一個(gè)主任務(wù)(或主線程)和多個(gè)子任務(wù)(或子線程)組成。主任務(wù)對應(yīng)一個(gè)主函數(shù),每個(gè)子任務(wù)也各對應(yīng)一個(gè)任務(wù)函數(shù)(子函數(shù))。普通程序中主任務(wù)和子任務(wù)共用主機(jī)處理器11,因此主函數(shù)和子函數(shù)被任務(wù)連接器連接到一個(gè)可執(zhí)行文件的一個(gè)地址空間。在主機(jī)處理器11要執(zhí)行普通程序時(shí),只要將連接到該地址空間的可執(zhí)行文件載入主機(jī)存儲(chǔ)器13,然后從程序入口點(diǎn)執(zhí)行該普通程序即可。主任務(wù)中不需要考慮子任務(wù)代碼的載入問題。
如圖3所示,一個(gè)嵌入式并行程序由主機(jī)任務(wù)和子系統(tǒng)任務(wù)組成。主機(jī)任務(wù)包含主任務(wù)和主機(jī)子任務(wù),子系統(tǒng)任務(wù)只包含子任務(wù)。
主機(jī)和應(yīng)用子系統(tǒng)14可以通過下面的機(jī)制交互信息和數(shù)據(jù)主機(jī)處理器11通過寫應(yīng)用處理器141的任務(wù)控制寄存器來傳送命令,在任務(wù)管理器檢查任務(wù)控制寄存器時(shí),根據(jù)主機(jī)處理器11的命令來創(chuàng)建/銷毀任務(wù)。
應(yīng)用處理器141通過寫任務(wù)狀態(tài)寄存器通知主機(jī)自己的狀態(tài),并且,主機(jī)處理器11通過讀任務(wù)狀態(tài)寄存器了解應(yīng)用子系統(tǒng)14當(dāng)前所處的狀態(tài),例如多任務(wù)操作系統(tǒng)的初始化已經(jīng)準(zhǔn)備完畢、等待任務(wù)請求等。
在有緊急消息需要主機(jī)響應(yīng)時(shí),應(yīng)用處理器141發(fā)出一個(gè)中斷信號通知主機(jī)。該中斷信號可以直接發(fā)給主機(jī)處理器11,也可以通過將中斷信號先寫入任務(wù)狀態(tài)寄存器,然后由主機(jī)處理器11從其中讀出中斷信號。主機(jī)在收到該中斷信號后會(huì)調(diào)用存儲(chǔ)在主機(jī)存儲(chǔ)器13中的中斷服務(wù)程序。在主機(jī)根據(jù)中斷服務(wù)程序確認(rèn)緊急消息后,將結(jié)束/銷毀任務(wù)的請求設(shè)置到任務(wù)控制寄存器,當(dāng)任務(wù)管理器檢查到該請求時(shí),任務(wù)管理器根據(jù)該請求銷毀任務(wù)。
主機(jī)處理器11和應(yīng)用處理器141都可以讀寫應(yīng)用存儲(chǔ)器143,從而實(shí)現(xiàn)任務(wù)代碼和執(zhí)行信息的交互,具體如下主機(jī)處理器11可以將嵌入式并行程序中的子系統(tǒng)任務(wù)的任務(wù)代碼寫入應(yīng)用存儲(chǔ)器143,應(yīng)用處理器141從應(yīng)用存儲(chǔ)器143中讀出并執(zhí)行該任務(wù)代碼;然后,當(dāng)應(yīng)用處理器141執(zhí)行完畢后,將執(zhí)行結(jié)果寫入應(yīng)用存儲(chǔ)器143,主機(jī)處理器11通過讀應(yīng)用存儲(chǔ)器143獲得應(yīng)用處理器141的執(zhí)行結(jié)果。
通過上面的機(jī)制,可以實(shí)現(xiàn)主機(jī)和應(yīng)用子系統(tǒng)之間的通訊。
圖4是本發(fā)明的嵌入式并行計(jì)算系統(tǒng)所進(jìn)行的并行計(jì)算的流程圖。下面結(jié)合圖4介紹主機(jī)和應(yīng)用子系統(tǒng)14如何實(shí)現(xiàn)并行計(jì)算任務(wù)。
由于本發(fā)明的特征在于主機(jī)對應(yīng)用子系統(tǒng)14的處理以及應(yīng)用子系統(tǒng)14和主機(jī)并行地執(zhí)行計(jì)算,而對于主機(jī)而言,其與現(xiàn)有主機(jī)執(zhí)行計(jì)算的方式一樣,所以這里重點(diǎn)描述主機(jī)與應(yīng)用子系統(tǒng)14之間的相互作用以及應(yīng)用子系統(tǒng)的操作。
最初,主機(jī)程序(包括嵌入式并行程序、初始化程序以及中斷服務(wù)程序等)都放在主機(jī)存儲(chǔ)器13中,主機(jī)啟動(dòng)后,主機(jī)處理器11首先運(yùn)行位于主機(jī)存儲(chǔ)器13中主機(jī)程序中的初始化程序,初始化后的主機(jī)程序啟動(dòng)應(yīng)用子系統(tǒng)14的應(yīng)用處理器141并配置應(yīng)用子系統(tǒng)14中的多任務(wù)操作系統(tǒng)處于待機(jī)狀態(tài)。
當(dāng)應(yīng)用子系統(tǒng)14準(zhǔn)備完畢后,應(yīng)用處理器141通過將應(yīng)用子系統(tǒng)14當(dāng)前的狀態(tài)寫入任務(wù)狀態(tài)寄存器,該狀態(tài)包括準(zhǔn)備完畢以及任務(wù)請求。主機(jī)處理器11通過讀應(yīng)用處理器141的任務(wù)狀態(tài)寄存器了解應(yīng)用子系統(tǒng)14當(dāng)前所處的狀態(tài)。
當(dāng)運(yùn)行于主機(jī)上的主機(jī)程序需要使用應(yīng)用處理器141來完成計(jì)算某個(gè)任務(wù)(假設(shè)為任務(wù)甲)時(shí),主機(jī)處理器11從主機(jī)存儲(chǔ)器13中讀出對應(yīng)的任務(wù)代碼,然后將讀出的任務(wù)代碼寫入應(yīng)用存儲(chǔ)器143,同時(shí)通過設(shè)置任務(wù)控制寄存器向應(yīng)用子系統(tǒng)14發(fā)送任務(wù)請求,即創(chuàng)建任務(wù)請求。
當(dāng)任務(wù)管理器檢查到主機(jī)處理器11設(shè)置在任務(wù)控制寄存器中的創(chuàng)建任務(wù)的創(chuàng)建任務(wù)請求時(shí),其根據(jù)主機(jī)處理器11的請求創(chuàng)建任務(wù),并通知應(yīng)用處理器141從應(yīng)用存儲(chǔ)器143中讀出任務(wù)甲的任務(wù)代碼,執(zhí)行該任務(wù)代碼。在應(yīng)用處理器141執(zhí)行任務(wù)甲的任務(wù)代碼時(shí),主機(jī)可以執(zhí)行其他計(jì)算代碼。
在任務(wù)完成后,應(yīng)用子系統(tǒng)14將運(yùn)行結(jié)果寫入應(yīng)用存儲(chǔ)器143,并通過發(fā)送中斷信號通知主機(jī),主機(jī)在收到信號后會(huì)調(diào)用主機(jī)程序中的中斷服務(wù)程序。在主機(jī)根據(jù)中斷服務(wù)程序確認(rèn)任務(wù)結(jié)束后,將結(jié)束/銷毀任務(wù)的請求設(shè)置到任務(wù)控制寄存器。當(dāng)任務(wù)管理器檢查到該結(jié)束/銷毀任務(wù)的請求時(shí),結(jié)束/銷毀任務(wù)甲。
其中,主機(jī)在接收到中斷信號后,會(huì)從應(yīng)用存儲(chǔ)器143中讀出應(yīng)用子系統(tǒng)14的執(zhí)行結(jié)果,判斷該結(jié)果是否符合要求。如果符合則,調(diào)用中斷服務(wù)程序,如果不符合,則可以通知應(yīng)用子系統(tǒng)14重新執(zhí)行該任務(wù)。
如果當(dāng)主機(jī)程序還在進(jìn)行,而應(yīng)用子系統(tǒng)14完成某個(gè)任務(wù)之后,主機(jī)可以進(jìn)一步給應(yīng)用子系統(tǒng)14提供新的任務(wù)請求。如果新的子任務(wù)需要特定的設(shè)置,則按照新的子任務(wù)重新設(shè)置應(yīng)用子系統(tǒng)14。并且在設(shè)置后進(jìn)行重復(fù)上述的操作。
如果在主機(jī)和應(yīng)用子系統(tǒng)14上所執(zhí)行的程序是采用不同的編譯方式編譯時(shí),則主機(jī)和應(yīng)用子系統(tǒng)14根據(jù)不同的編譯方法采用不同的編譯器。在執(zhí)行時(shí),主機(jī)將應(yīng)用子系統(tǒng)14所執(zhí)行的任務(wù)代碼讀出,以應(yīng)用子系統(tǒng)14可以理解的方式寫入應(yīng)用存儲(chǔ)器143。
在開發(fā)上述嵌入式并行程序時(shí),為了提高執(zhí)行效率,可以開發(fā)一個(gè)嵌入式并行程序的軟件開發(fā)包,該軟件開發(fā)包可以位于主機(jī)存儲(chǔ)器13中,作為主機(jī)程序的一部分。該軟件開發(fā)包中包括任務(wù)組合器、任務(wù)解析/加載函數(shù)庫、子系統(tǒng)任務(wù)管理函數(shù)庫、主機(jī)和子系統(tǒng)通信函數(shù)庫以及主機(jī)任務(wù)和子系統(tǒng)任務(wù)通信函數(shù)庫。
每個(gè)子系統(tǒng)任務(wù)的函數(shù)(子函數(shù))使用一個(gè)單獨(dú)的源文件來編寫,使用針對應(yīng)用處理器141的編譯器將該函數(shù)單獨(dú)編譯成子系統(tǒng)的目標(biāo)文件。這些子系統(tǒng)的目標(biāo)文件再由軟件開發(fā)包的任務(wù)組合器組合成為子系統(tǒng)庫任務(wù)。每個(gè)子系統(tǒng)庫任務(wù)可以包含一個(gè)或多個(gè)子任務(wù)函數(shù)的任務(wù)代碼,就是說所有子任務(wù)函數(shù)的目標(biāo)文件可能被連接為一個(gè)子系統(tǒng)庫任務(wù)也可能被連接為多個(gè)子系統(tǒng)庫任務(wù)。在子系統(tǒng)庫任務(wù)中保存有描述其中的子任務(wù)的數(shù)據(jù)結(jié)構(gòu),分別描述了每個(gè)子任務(wù)的代碼長度,代碼起始位置,任務(wù)優(yōu)先級等信息。
而主機(jī)任務(wù)仍然使用其原有的編譯器和任務(wù)連接器來創(chuàng)建,創(chuàng)建成一個(gè)可執(zhí)行文件。不同的是,在主機(jī)程序中有解析、加載子系統(tǒng)庫任務(wù)的任務(wù)解析/加載函數(shù)庫。在主機(jī)程序創(chuàng)建子系統(tǒng)任務(wù)時(shí),主機(jī)程序先使用上述任務(wù)解析/加載函數(shù)庫解析出子系統(tǒng)庫任務(wù),讀出子系統(tǒng)庫任務(wù)的任務(wù)代碼,然后將該任務(wù)代碼寫入應(yīng)用存儲(chǔ)器143。
在創(chuàng)建/銷毀子系統(tǒng)任務(wù)時(shí),任務(wù)管理器通過調(diào)度子系統(tǒng)任務(wù)管理函數(shù)庫實(shí)現(xiàn)更快捷地創(chuàng)建/銷毀任務(wù)。
主機(jī)和子系統(tǒng)通信函數(shù)庫執(zhí)行主機(jī)處理器11和應(yīng)用子系統(tǒng)14之間的相互發(fā)送、接收命令和共享數(shù)據(jù),例如讀寫命令、讀寫狀態(tài)以及任務(wù)代碼。
主機(jī)任務(wù)和子系統(tǒng)任務(wù)通信函數(shù)庫,用于完成主機(jī)任務(wù)和子系統(tǒng)任務(wù)之間的通信和同步。在圖4中可以看出,在主機(jī)執(zhí)行其他計(jì)算代碼、應(yīng)用子系統(tǒng)執(zhí)行任務(wù)代碼時(shí),通過用于完成主機(jī)任務(wù)和子系統(tǒng)任務(wù)之間的通信和同步的主機(jī)任務(wù)和子系統(tǒng)任務(wù)通信函數(shù)庫,主機(jī)任務(wù)和應(yīng)用子系統(tǒng)任務(wù)可以通過發(fā)送互斥體或信號量來同步,并且,主機(jī)任務(wù)可以等待應(yīng)用子系統(tǒng)任務(wù)完成某一操作,應(yīng)用子系統(tǒng)任務(wù)也可以等待主機(jī)任務(wù)完成某一操作,并且,在不需要同步的時(shí)候,主機(jī)處理器11和應(yīng)用處理器141可以相互獨(dú)立地并行地執(zhí)行。
綜上所述,本發(fā)明的嵌入式并行計(jì)算系統(tǒng)和并行計(jì)算方法可以在以簡單的方式來避免復(fù)雜的并行程序設(shè)計(jì)的同時(shí),充分利用應(yīng)用處理器的計(jì)算能力。
盡管本發(fā)明以上述實(shí)施例來對嵌入式并行計(jì)算系統(tǒng)以及并行計(jì)算方法進(jìn)行詳細(xì)地說明,但是本發(fā)明并不僅限于以上的實(shí)施例,并且可以延伸到本領(lǐng)域的普通技術(shù)人員通過閱讀以上的實(shí)施例而想到的顯而易知的實(shí)施例。
因此,本領(lǐng)域的普通技術(shù)人員對本發(fā)明的嵌入式并行計(jì)算系統(tǒng)以及并行計(jì)算方法所作出的任何變更或者修飾,理應(yīng)落在本發(fā)明所要求保護(hù)的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種嵌入式并行計(jì)算系統(tǒng),包括主機(jī)和應(yīng)用子系統(tǒng),該主機(jī)具有主機(jī)處理器、主機(jī)存儲(chǔ)器和主機(jī)總線,該應(yīng)用子系統(tǒng)包括應(yīng)用處理器、應(yīng)用存儲(chǔ)器和應(yīng)用總線,主機(jī)存儲(chǔ)器中存儲(chǔ)有包括初始化程序和中斷任務(wù)程序在內(nèi)的主機(jī)程序,其特征在于該主機(jī)程序中包括具有主機(jī)任務(wù)和子系統(tǒng)任務(wù)的嵌入式并行程序,該主機(jī)任務(wù)具有主任務(wù)和主機(jī)子任務(wù),該子系統(tǒng)任務(wù)具有子任務(wù);該應(yīng)用子系統(tǒng)中進(jìn)一步包括任務(wù)控制寄存器、任務(wù)狀態(tài)寄存器以及具有任務(wù)管理器的多任務(wù)操作系統(tǒng),其中,主機(jī)處理器在執(zhí)行嵌入式并行程序的主機(jī)任務(wù)時(shí),可以通過讀任務(wù)狀態(tài)寄存器了解應(yīng)用子系統(tǒng)的狀態(tài),并根據(jù)應(yīng)用子系統(tǒng)的狀態(tài)通過在應(yīng)用子系統(tǒng)的任務(wù)控制寄存器中寫入命令通知應(yīng)用子系統(tǒng)的任務(wù)管理器創(chuàng)建/銷毀任務(wù),并可以通過讀寫應(yīng)用子系統(tǒng)的應(yīng)用存儲(chǔ)器與應(yīng)用子系統(tǒng)交互數(shù)據(jù),應(yīng)用處理器根據(jù)任務(wù)管理器創(chuàng)建的任務(wù)執(zhí)行主機(jī)處理器寫入應(yīng)用存儲(chǔ)器中的嵌入式并行程序的子系統(tǒng)任務(wù)的任務(wù)代碼,并將執(zhí)行結(jié)果寫入應(yīng)用存儲(chǔ)器。
2.如權(quán)利要求1所述的嵌入式并行計(jì)算系統(tǒng),其特征在于,該主機(jī)程序中進(jìn)一步具有軟件開發(fā)包,該軟件開發(fā)包包括任務(wù)組合器,用于將子系統(tǒng)的目標(biāo)文件組合成為子系統(tǒng)庫任務(wù),每個(gè)子系統(tǒng)庫任務(wù)可以包含一個(gè)或多個(gè)子任務(wù)函數(shù)的任務(wù)代碼,并且在子系統(tǒng)庫任務(wù)中保存有描述子任務(wù)的數(shù)據(jù)結(jié)構(gòu);任務(wù)解析/加載函數(shù)庫,用于在主機(jī)程序創(chuàng)建子系統(tǒng)任務(wù)時(shí)解析出子系統(tǒng)庫任務(wù)的任務(wù)代碼,以及用于主機(jī)程序創(chuàng)建/銷毀子系統(tǒng)任務(wù);子系統(tǒng)任務(wù)管理函數(shù)庫,在任務(wù)管理器創(chuàng)建/銷毀子系統(tǒng)任務(wù)時(shí)調(diào)用;主機(jī)和子系統(tǒng)通信函數(shù)庫,執(zhí)行主機(jī)處理器和應(yīng)用子系統(tǒng)之間的相互發(fā)送、接收命令和共享數(shù)據(jù);以及主機(jī)任務(wù)和子系統(tǒng)任務(wù)通信函數(shù)庫,用于完成主機(jī)任務(wù)和子系統(tǒng)任務(wù)之間的通信和同步。
3.如權(quán)利要求2所述的嵌入式并行計(jì)算系統(tǒng),其特征在于,主機(jī)和應(yīng)用子系統(tǒng)之間通過發(fā)送互斥體或信號量來進(jìn)行同步。
4.如權(quán)利要求2所述的嵌入式并行計(jì)算系統(tǒng),其特征在于,子任務(wù)的數(shù)據(jù)結(jié)構(gòu)描述了其代碼長度、代碼起始位置以及任務(wù)優(yōu)先級。
5.一種使用在權(quán)利要求1所述的嵌入式并行計(jì)算系統(tǒng)中的嵌入式并行計(jì)算方法,包括以下步驟步驟一,配置應(yīng)用子系統(tǒng)使用初始化程序初始化應(yīng)用子系統(tǒng),啟動(dòng)其多任務(wù)操作系統(tǒng),在啟動(dòng)完畢后寫任務(wù)狀態(tài)寄存器通知主機(jī)應(yīng)用子系統(tǒng)已準(zhǔn)備完畢并等待任務(wù)請求;步驟二,創(chuàng)建/啟動(dòng)新任務(wù)主機(jī)在確認(rèn)子系統(tǒng)準(zhǔn)備完畢后,從主機(jī)存儲(chǔ)器中讀取子系統(tǒng)任務(wù)的任務(wù)代碼,將其寫入應(yīng)用存儲(chǔ)器,并發(fā)送任務(wù)請求到任務(wù)控制寄存器中通知任務(wù)管理器創(chuàng)建/啟動(dòng)新任務(wù);步驟三,并行處理主機(jī)任務(wù)和子系統(tǒng)任務(wù)在應(yīng)用處理器根據(jù)任務(wù)管理器創(chuàng)建/啟動(dòng)的新任務(wù)執(zhí)行應(yīng)用存儲(chǔ)器中的子系統(tǒng)的任務(wù)代碼時(shí),主機(jī)處理器執(zhí)行主機(jī)任務(wù)的任務(wù)代碼;以及步驟四,結(jié)束/銷毀任務(wù)應(yīng)用處理器將執(zhí)行結(jié)果寫入應(yīng)用存儲(chǔ)器,并將中斷信號發(fā)送給主機(jī)處理器,主機(jī)處理器在接收到中斷信號后調(diào)用中斷任務(wù)程序確認(rèn)任務(wù)結(jié)束,將結(jié)束/銷毀任務(wù)的請求設(shè)置到應(yīng)用處理器的任務(wù)控制寄存器,任務(wù)管理器根據(jù)該請求結(jié)束/銷毀任務(wù)。
6.如權(quán)利要求5所述的嵌入式并行計(jì)算方法,其特征在于,在步驟三中,主機(jī)和應(yīng)用子系統(tǒng)之間通過發(fā)送互斥體或信號量來進(jìn)行同步。
7.如權(quán)利要求5所述的嵌入式并行計(jì)算方法,其特征在于,在步驟四中,應(yīng)用處理器將中斷信號寫入任務(wù)狀態(tài)寄存器從而將中斷信號通知主機(jī)。
8.如權(quán)利要求5-7任一項(xiàng)所述的嵌入式并行計(jì)算方法,其特征在于,其進(jìn)一步包括步驟五在任務(wù)管理器結(jié)束/銷毀任務(wù)后,應(yīng)用子系統(tǒng)通過寫任務(wù)狀態(tài)寄存器通知主機(jī)等待新任務(wù)。
全文摘要
本發(fā)明涉及一種嵌入式并行計(jì)算系統(tǒng)以及嵌入式并行計(jì)算方法。其中,包括主機(jī)和應(yīng)用子系統(tǒng),該主機(jī)具有主機(jī)處理器、主機(jī)存儲(chǔ)器和主機(jī)總線,該應(yīng)用子系統(tǒng)包括應(yīng)用處理器、應(yīng)用存儲(chǔ)器和應(yīng)用總線,主機(jī)存儲(chǔ)器中存儲(chǔ)有包括初始化程序和中斷任務(wù)程序在內(nèi)的主機(jī)程序,該主機(jī)程序中包括具有主機(jī)任務(wù)和子系統(tǒng)任務(wù)的嵌入式并行程序,該主機(jī)任務(wù)具有主任務(wù)和主機(jī)子任務(wù),該子系統(tǒng)任務(wù)具有子任務(wù),該應(yīng)用子系統(tǒng)中進(jìn)一步包括任務(wù)控制寄存器、任務(wù)狀態(tài)寄存器以及具有任務(wù)管理器的多任務(wù)操作系統(tǒng)。在該嵌入式并行計(jì)算系統(tǒng)中執(zhí)行本發(fā)明的嵌入式并行計(jì)算方法。該系統(tǒng)和方法可以在以簡單的方式來避免復(fù)雜的并行程序設(shè)計(jì)的同時(shí),充分利用應(yīng)用處理器的計(jì)算能力。
文檔編號G06F9/46GK1719416SQ200510083088
公開日2006年1月11日 申請日期2005年7月8日 優(yōu)先權(quán)日2005年7月8日
發(fā)明者周政軍 申請人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1