專利名稱:計算設(shè)備中多處理器協(xié)同處理方法
計算設(shè)備中多處理器協(xié)同處理方法技術(shù)領(lǐng)域
本發(fā)明主要涉及計算機(jī)系統(tǒng),尤其涉及一種在計算設(shè)備中多處理器協(xié)同處理的方法。
背景技術(shù):
當(dāng)代電子消費(fèi)產(chǎn)品,正向多核處理器穩(wěn)步邁進(jìn),是近年來計算機(jī)技術(shù)發(fā)展的一大 亮點(diǎn)。在計算機(jī)應(yīng)用領(lǐng)域,特別是控制領(lǐng)域,多核技術(shù)具有明顯的優(yōu)勢,能顯著提高系統(tǒng)的 可靠性。同時,隨著集成電路工藝及片上系統(tǒng)的發(fā)展,這使其在工業(yè)控制,儀器儀表和家用 電器等領(lǐng)域等得到了廣泛的應(yīng)用。
現(xiàn)在,功率管理的改善允許用戶在關(guān)閉計算機(jī)時使計算機(jī)進(jìn)入到待機(jī)狀態(tài)來節(jié)約 功耗。然而,功率管理的概念已經(jīng)從一個單一的機(jī)械隔離開關(guān)顯著成長為全球、系統(tǒng)、處理 器、性能以及設(shè)備狀態(tài)的復(fù)雜系統(tǒng),這對即使最具有技術(shù)智力的用戶來說也是項(xiàng)巨大的挑 戰(zhàn)。相反,類似于個人數(shù)字助理、移動電話和機(jī)頂盒之類的消費(fèi)類電子裝置的引入不需要用 戶去了解功率管理是怎樣操作這些已經(jīng)商業(yè)化的即時可用的裝置。
此外,實(shí)時內(nèi)核通常分為協(xié)作式內(nèi)核和占線式內(nèi)核。但不管是何種內(nèi)核,都有一個 特定的時鐘節(jié)拍,時鐘節(jié)拍是一個周期性的中斷,系統(tǒng)在每個時鐘節(jié)拍到來時,對各個任務(wù) 的延時做出裁決。時鐘節(jié)拍越快,任務(wù)的定時精度越高,但系統(tǒng)的額外開銷就越大,一般來 說會給CPU核心帶來額外負(fù)荷。
盡管功率管理的進(jìn)步已經(jīng)能夠適當(dāng)延長適用于移動計算機(jī)的電池壽命,但在使計 算機(jī)如同大多數(shù)消費(fèi)電子產(chǎn)品一樣的即時可用方面只有很少的改善。因此,需要適用于計 算機(jī)幾乎立即上電并使計算機(jī)系統(tǒng)能可用于用戶在他們需要的地方和時間訪問他們所需 要的信息的方法和系統(tǒng)。發(fā)明內(nèi)容
本發(fā)明提供了一種在計算設(shè)備中多處理器協(xié)同處理的方法,其中所述計算設(shè)備包 括一主處理器和多個協(xié)處理器,所述主處理器和多個協(xié)處理器都包括待機(jī)模式和工作模 式,所述方法包括響應(yīng)于任務(wù)請求,主處理器從待機(jī)模式轉(zhuǎn)換到工作模式;由主處理器處 理任務(wù)請求,將該任務(wù)分解為多個子任務(wù),對每個子任務(wù)的工作強(qiáng)度進(jìn)行量化,將量化結(jié)果 更新到一任務(wù)表中;主處理器根據(jù)每一協(xié)處理器的工作狀態(tài),更新所述任務(wù)表以確定多個 子任務(wù)與多個協(xié)處理器之間的對應(yīng)關(guān)系;主處理器根據(jù)對列表中的對應(yīng)關(guān)系,將多個子任 務(wù)分配給多個協(xié)處理器進(jìn)行處理;主處理器從工作模式轉(zhuǎn)換為待機(jī)模式。
優(yōu)選地,其中,所述計算設(shè)備還包括一備用處理器,所述備用處理器包括待機(jī)模式 和工作模式,所述備用處理器定時輪詢所述主處理器,如果發(fā)現(xiàn)所述主處理器發(fā)生故障,則 由所述備用處理器替代所述主處理器繼續(xù)進(jìn)行工作。
優(yōu)選地,在步驟S4中,響應(yīng)于主處理器分配的多個子任務(wù),多個協(xié)處理器從待機(jī) 模式轉(zhuǎn)換到工作模式。多個協(xié)處理器中的每一個完成主處理器分配的子任務(wù)后,從工作模式轉(zhuǎn)換到待機(jī)模式。
優(yōu)選地,多個協(xié)處理器中的每一個完成主處理器分配的子任務(wù)后,將處理結(jié)果反 饋給主處理器。主處理器接收到多個協(xié)處理器的處理結(jié)果反饋后,將處理結(jié)果更新到所述 任務(wù)表中。
優(yōu)選地,主處理器定時輪詢多個協(xié)處理器,當(dāng)發(fā)現(xiàn)多個協(xié)處理器中的任意一個出 現(xiàn)故障時,將分配給出現(xiàn)故障的協(xié)處理器的并且未完成的子任務(wù)重新分配給其它協(xié)處理器 進(jìn)行處理。
優(yōu)選地,主處理器定時輪詢多個協(xié)處理器之前,自動從待機(jī)模式轉(zhuǎn)換到工作模式。 主處理器沒有發(fā)現(xiàn)出現(xiàn)故障的協(xié)處理器或重新分配子任務(wù)后,自動從工作模式轉(zhuǎn)換到待機(jī) 模式。
優(yōu)選地,在步驟S2中,設(shè)置多個子任務(wù)的優(yōu)先級,并根據(jù)優(yōu)先級更新所述任務(wù)表 中的優(yōu)先級信息。在步驟S4中,多個協(xié)處理器響應(yīng)于收到多個子任務(wù),中斷當(dāng)前任務(wù),并根 據(jù)所收到的所有子任務(wù)的優(yōu)先級更新處理順序,再按照優(yōu)先級先后進(jìn)行任務(wù)處理或恢復(fù)所 述中斷。
圖1是本發(fā)明中計算設(shè)備的基本結(jié)構(gòu)框圖。
圖2是本發(fā)明優(yōu)選實(shí)施例中多處理器協(xié)同處理的流程圖。
具體實(shí)施方式
以下參考圖1,論述本發(fā)明優(yōu)選實(shí)施例。適用于實(shí)施本發(fā)明的一個示例性計算設(shè)備 包括一個主處理器,一個備用處理器,和多個協(xié)處理器,促進(jìn)各個處理器相互通信的總線, 當(dāng)然還具有未示出的輸入輸出設(shè)備、存儲器、硬盤、存儲器和外部設(shè)備。各個輸入設(shè)備都通 過一個串行接口或通過其它接口,例如,一個并行端口、游戲端口、紅外或無線連接、通用串 行總線或者其它外圍設(shè)備連接與輔助計算設(shè)備相連接。顯示器可以是任何一類公知的顯示 器形式,例如,一個或多個LED,一個兩行的字母數(shù)字顯示器。一種單色顯示器,或者一個彩 色顯示器。顯示器也可以包括以上所討論的任何形式顯示器的組合,例如,一個或多個LED 可結(jié)合多行顯示器一起使用。本領(lǐng)域中的熟練技術(shù)人士都會意識到,顯示器可以是非視覺 輸出設(shè)備,例如,一組揚(yáng)聲器或者一組雙耳式耳機(jī)。正如本文所參考的,一個輔助顯示器可 以任何視覺、音頻或者觸覺表示。另外,計算設(shè)備的任何輸出設(shè)備都可以用作為顯示器,或 者與顯示器相結(jié)合。
根據(jù)本發(fā)明的一個方面,計算設(shè)備具有一個主處理器、一個備用處理器和多個協(xié) 處理器,雖然圖1中僅示出兩個協(xié)處理器,但本領(lǐng)域技術(shù)人員知道可以包括有多個協(xié)處理 器。該主處理器通過一個總線結(jié)構(gòu)與隨機(jī)存取存儲器相連接。主處理器可以是包括通用中 央處理單元的任何類型的處理單元。RAM可以包含數(shù)據(jù)和適于承載的程序模塊,例如,一個 操作系統(tǒng),應(yīng)用程序和輸入/輸出例程。主處理器可以立即訪問和/或現(xiàn)在操作數(shù)據(jù)和/ 或程序模塊??偩€結(jié)構(gòu)可以是幾種類型的總線結(jié)構(gòu)中的任何一種,包括一個存儲器總線或 存儲控制器、一個外圍總線,和一個使用多種總線結(jié)構(gòu)中的任何一種結(jié)構(gòu)的局部總線。舉例 來說,但并不限制于,這類結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)總線、微通道結(jié)構(gòu)總線、增強(qiáng)ISA、視頻電子標(biāo)準(zhǔn)協(xié)會局部總線,以及外圍元件互連總線。
圖2是本發(fā)明優(yōu)選實(shí)施例的流程圖。根據(jù)本發(fā)明一種在計算設(shè)備中多處理器協(xié)同 處理的方法,其中所述計算設(shè)備包括一主處理器和多個協(xié)處理器,所述主處理器和多個協(xié) 處理器都包括待機(jī)模式和工作模式,所述方法包括S1,響應(yīng)于任務(wù)請求,主處理器從待機(jī) 模式轉(zhuǎn)換到工作模式;S2,由主處理器處理任務(wù)請求,將該任務(wù)分解為多個子任務(wù),對每個 子任務(wù)的工作強(qiáng)度進(jìn)行量化,將量化結(jié)果更新到一任務(wù)表中;S3,主處理器根據(jù)每一協(xié)處理 器的工作狀態(tài),更新所述任務(wù)表以確定多個子任務(wù)與多個協(xié)處理器之間的對應(yīng)關(guān)系;S4,主 處理器根據(jù)對列表中的對應(yīng)關(guān)系,將多個子任務(wù)分配給多個協(xié)處理器進(jìn)行處理;S5,主處理 器從工作模式轉(zhuǎn)換為待機(jī)模式。其中,所述計算設(shè)備還包括一備用處理器,所述備用處理器 包括待機(jī)模式和工作模式,所述備用處理器定時輪詢所述主處理器,如果發(fā)現(xiàn)所述主處理 器發(fā)生故障,則由所述備用處理器替代所述主處理器繼續(xù)進(jìn)行工作。其中主處理器根據(jù)每 個子任務(wù)的工作強(qiáng)度進(jìn)行量化包括計算每個子任務(wù)需要占用的資源、處理時長等等,任務(wù) 表可設(shè)置于計算設(shè)備的存儲器中,或利用數(shù)據(jù)庫或文件管理工具等多種方式實(shí)現(xiàn)。任務(wù)表 包括任務(wù)、子任務(wù)、量化結(jié)果、任務(wù)優(yōu)先級、子任務(wù)優(yōu)先級、是否處理完成等內(nèi)容;其中多個 子任務(wù)與多個協(xié)處理器的對應(yīng)關(guān)系可以是一對一的也可以是多對一的。
其中,響應(yīng)于任務(wù)請求可包括通過外圍設(shè)備提交的各種任務(wù),也可能是通過網(wǎng)絡(luò) 提交的各種任務(wù),或者是計算設(shè)備自身運(yùn)行所需要的各種任務(wù)。其中,在步驟S4中,響應(yīng)于 主處理器分配的多個子任務(wù),多個協(xié)處理器從待機(jī)模式轉(zhuǎn)換到工作模式。多個協(xié)處理器中 的每一個完成主處理器分配的子任務(wù)后,從工作模式轉(zhuǎn)換到待機(jī)模式。多個協(xié)處理器中的 每一個完成主處理器分配的子任務(wù)后,將處理結(jié)果反饋給主處理器。主處理器接收到多個 協(xié)處理器的處理結(jié)果反饋后,將處理結(jié)果更新到所述任務(wù)表中。
主處理設(shè)計有定時輪訓(xùn)功能,定時輪詢多個協(xié)處理器,當(dāng)發(fā)現(xiàn)多個協(xié)處理器中的 任意一個出現(xiàn)故障時,將分配給出現(xiàn)故障的協(xié)處理器的并且未完成的子任務(wù)重新分配給其 它協(xié)處理器進(jìn)行處理。主處理器定時輪詢多個協(xié)處理器之前,自動從待機(jī)模式轉(zhuǎn)換到工作 模式。主處理器沒有發(fā)現(xiàn)出現(xiàn)故障的協(xié)處理器或重新分配子任務(wù)后,自動從工作模式轉(zhuǎn)換 到待機(jī)模式。其中主處理器定時輪詢多個協(xié)處理器包括,所述主處理器定時輪詢所述多個 協(xié)處理器可以采用多種方式,例如定時向所述多個協(xié)處理器發(fā)出請求信號,如果在預(yù)定期 間內(nèi)沒有從特定協(xié)處理器接收到事先約定的響應(yīng),則判定該協(xié)處理器發(fā)生了故障?;蛘咧?處理器定時查看所述多個協(xié)處理器日志,如果發(fā)現(xiàn)特定協(xié)處理器存在故障日志或在預(yù)先設(shè) 定的期間內(nèi)沒有日志更新,則判定該協(xié)處理器發(fā)生了故障。其中所述日志可設(shè)置于計算設(shè) 備的存儲器中,或利用數(shù)據(jù)庫或文件管理工具等多種方式實(shí)現(xiàn)。日志包括時間信息、任務(wù)信 息、任務(wù)完成情況信息、中斷信息、恢復(fù)中斷信息、故障信息等內(nèi)容。其中多個協(xié)處理器根據(jù) 處理動作定期更新日志。
在步驟S2中,設(shè)置多個子任務(wù)的優(yōu)先級,并根據(jù)優(yōu)先級更新所述任務(wù)表中的優(yōu)先 級信息。在步驟S4中,多個協(xié)處理器響應(yīng)于收到多個子任務(wù),中斷當(dāng)前任務(wù),并根據(jù)所收到 的所有子任務(wù)的優(yōu)先級更新處理順序,再按照優(yōu)先級先后進(jìn)行任務(wù)處理或恢復(fù)所述中斷。 具體地,在步驟S2中,主處理器根據(jù)全面分析任務(wù),考慮任務(wù)類型、任務(wù)量、任務(wù)所需要的 資源等等因素,將所述任務(wù)分解為多個子任務(wù),所述多個子任務(wù)可以單獨(dú)執(zhí)行,同時根據(jù)所 述任務(wù)的重要性和緊迫性設(shè)置所述多個子任務(wù)的優(yōu)先級。當(dāng)主處理器將所述多個子任務(wù)分配給所述多個協(xié)處理器后,所述多個協(xié)處理器首先終端正在執(zhí)行的子任務(wù),然后將新接收 到的子任務(wù)與之前接收到的子任務(wù)按照優(yōu)先級順序重新排隊(duì)。如果新接收到的子任務(wù)優(yōu)先 權(quán)最高,則開始執(zhí)行新接收到的子任務(wù);如果被中斷的子任務(wù)優(yōu)先權(quán)最高,則恢復(fù)中斷,繼 續(xù)執(zhí)行被中斷的子任務(wù)。
由所述計算設(shè)備中的備用處理器定時輪詢所述主處理器,如果發(fā)現(xiàn)所述主處理器 發(fā)生故障,則由所述備用處理器替代所述主處理器工作。其中所述備用處理器定時輪詢所 述主處理器可以采用多種方式,例如定時向所述主處理器發(fā)出請求信號,如果在預(yù)定期間 內(nèi)沒有從主處理器接收到事先約定的響應(yīng),則判定主處理器發(fā)生了故障?;蛘邆溆锰幚砥?定時查看所述主處理器日志,如果發(fā)現(xiàn)存在故障日志或在預(yù)先設(shè)定的期間內(nèi)沒有日志更 新,則判定主處理器發(fā)生了故障。其中所述日志可設(shè)置于計算設(shè)備的存儲器中,或利用數(shù)據(jù) 庫或文件管理工具等多種方式實(shí)現(xiàn)。日志包括時間信息、任務(wù)信息、任務(wù)完成情況信息、中 斷信息、恢復(fù)中斷信息、故障信息等內(nèi)容。其中主處理器根據(jù)處理動作定期更新日志。
在本發(fā)明容許各種改進(jìn)和替代結(jié)構(gòu)的同時,附圖中已經(jīng)示出了本發(fā)明的某些說明 的實(shí)施例并且已經(jīng)詳細(xì)進(jìn)行了描述。但是,應(yīng)該意識到,這并不是試圖將本發(fā)明限制于指定 的形式或所披露的形式,而恰恰相反,本發(fā)明覆蓋所有的改進(jìn)和替代以及各種合并和組合, 并且所有等效方案都在本發(fā)明的精神和范圍之內(nèi)。
權(quán)利要求
1.一種在計算設(shè)備中多處理器協(xié)同處理的方法,其中所述計算設(shè)備包括一主處理器和多個協(xié)處理器,所述主處理器和多個協(xié)處理器都包括待機(jī)模式和工作模式,所述方法包括 SI,響應(yīng)于所述任務(wù)請求,主處理器從待機(jī)模式轉(zhuǎn)換到工作模式; S2,由主處理器處理任務(wù)請求,將該任務(wù)分解為多個子任務(wù),對每個子任務(wù)的工作強(qiáng)度進(jìn)行量化,將量化結(jié)果更新到一任務(wù)表中; S3,主處理器根據(jù)每一協(xié)處理器的工作狀態(tài),更新所述任務(wù)表以確定多個子任務(wù)與多個協(xié)處理器之間的對應(yīng)關(guān)系; 54,主處理器根據(jù)對列表中的對應(yīng)關(guān)系,將多個子任務(wù)分配給多個協(xié)處理器進(jìn)行處理; 55,主處理器從工作模式轉(zhuǎn)換為待機(jī)模式。
2.根據(jù)權(quán)利要求1所述的方法,還包括 其中,所述計算設(shè)備還包括一備用處理器,所述備用處理器包括待機(jī)模式和工作模式,所述備用處理器定時輪詢所述主處理器,如果發(fā)現(xiàn)所述主處理器發(fā)生故障,則由所述備用處理器替代所述主處理器繼續(xù)進(jìn)行工作。
3.根據(jù)權(quán)利要求1-2中任意權(quán)利要求所述的方法,還包括 在步驟S4中,響應(yīng)于主處理器分配的多個子任務(wù),多個協(xié)處理器從待機(jī)模式轉(zhuǎn)換到工作模式。
4.根據(jù)權(quán)利要求3所述的方法,還包括 多個協(xié)處理器中的每一個完成主處理器分配的子任務(wù)后,從工作模式轉(zhuǎn)換到待機(jī)模式。
5.根據(jù)權(quán)利要求1-2所述的方法,還包括 多個協(xié)處理器中的每一個完成主處理器分配的子任務(wù)后,將處理結(jié)果反饋給主處理器。
6.根據(jù)權(quán)利要求5所述的方法,還包括 主處理器接收到多個協(xié)處理器的處理結(jié)果反饋后,將處理結(jié)果更新到所述任務(wù)表中。
7.根據(jù)權(quán)利要求1-2所述的方法,還包括 主處理器定時輪詢多個協(xié)處理器,當(dāng)發(fā)現(xiàn)多個協(xié)處理器中的任意一個出現(xiàn)故障時,將分配給出現(xiàn)故障的協(xié)處理器的并且未完成的子任務(wù)重新分配給其它協(xié)處理器進(jìn)行處理。
8.根據(jù)權(quán)利要求7所述的方法,還包括 主處理器定時輪詢多個協(xié)處理器之前,自動從待機(jī)模式轉(zhuǎn)換到工作模式。
9.根據(jù)權(quán)利要求8所述的方法,還包括 主處理器沒有發(fā)現(xiàn)出現(xiàn)故障的協(xié)處理器或重新分配子任務(wù)后,自動從工作模式轉(zhuǎn)換到待機(jī)模式。
10.根據(jù)權(quán)利要求1-2所述的方法,還包括 在步驟S2中,設(shè)置多個子任務(wù)的優(yōu)先級,并根據(jù)優(yōu)先級更新所述任務(wù)表中的優(yōu)先級信肩、O
全文摘要
一種在計算設(shè)備中多處理器協(xié)同處理的方法,其中所述計算設(shè)備包括一主處理器、一備用處理器和多個協(xié)處理器,所述主處理器、備用處理器和多個協(xié)處理器都包括待機(jī)模式和工作模式,所述方法包括響應(yīng)于任務(wù)請求,主處理器從待機(jī)模式轉(zhuǎn)換到工作模式;由主處理器處理任務(wù)請求,將該任務(wù)分解為多個子任務(wù),對每個子任務(wù)的工作強(qiáng)度進(jìn)行量化,將量化結(jié)果更新到一任務(wù)表中;主處理器根據(jù)每一協(xié)處理器的工作狀態(tài),更新所述任務(wù)表以確定多個子任務(wù)與多個協(xié)處理器之間的對應(yīng)關(guān)系;主處理器根據(jù)對列表中的對應(yīng)關(guān)系,將多個子任務(wù)分配給多個協(xié)處理器進(jìn)行處理;主處理器從工作模式轉(zhuǎn)換為待機(jī)模式。
文檔編號G06F9/48GK102999385SQ20121043758
公開日2013年3月27日 申請日期2012年11月6日 優(yōu)先權(quán)日2012年11月6日
發(fā)明者王媛媛 申請人:蘇州懿源宏達(dá)知識產(chǎn)權(quán)代理有限公司