本發(fā)明涉及基于處理器陣列的星載計算機設計方法。
背景技術:
星載計算機是指運行在航天器中的中心計算機,該計算機承擔衛(wèi)星部件管理、數(shù)據(jù)管理、任務管理、姿態(tài)控制等功能,是航天器的重要組成部分,其可靠性及性能直接影響整個航天器的性能及可靠運行。
目前,星載計算機通常采用具有抗輻射指標的高等級處理器,以抵抗復雜的空間運行環(huán)境,同時采用雙備份體系結構,進一步增強系統(tǒng)可靠性。這種處理器雖然抗輻照指標較高,但是處理能力不強(通常不超過100mips),無法運行復雜的軟件。同時,某些微小衛(wèi)星的星載計算機采用低等級處理器,雖然處理能力得到提升,但是由于抗輻照能力不足,在軌經(jīng)常出現(xiàn)跑飛、復位等故障現(xiàn)象,影響了飛行任務的正常運行。
技術實現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術處理能力不強、無法運行復雜的軟件、經(jīng)常出現(xiàn)跑飛、復位等故障現(xiàn)象的問題,而提出一種基于處理器陣列的航天器星載計算機系統(tǒng)及故障處理方法。
一種基于處理器陣列的航天器星載計算機系統(tǒng)包括:
用于完成星載計算任務的處理器陣列模塊;
用于為處理器陣列模塊提供數(shù)據(jù)存儲和外部通信功能的公用資源模塊;
用于為處理器陣列模塊和公用資源模塊之間提供數(shù)據(jù)交互通道并識別處理器陣列模塊中的故障處理器的調度管理模塊。
一種基于處理器陣列的航天器星載計算機系統(tǒng)的故障處理方法包括以下步驟:
步驟一:星載計算機啟動后,進行計算任務的數(shù)據(jù)輸入,每個處理器的輸入數(shù)據(jù)由其他處理器或外部輸入給出;
步驟二:由處理器管理單元對處理器進行任務分配;
步驟三:根據(jù)步驟二的任務分配處理器執(zhí)行計算任務;
步驟四:得到計算任務的輸出數(shù)據(jù),即計算結果。
本發(fā)明的有益效果為:
(1)實現(xiàn)了由多個低等級高性能處理器組成高可靠、高性能星載計算系統(tǒng)。
(2)通過處理器間軟件功能冗余保證系統(tǒng)運行可靠性。
(3)通過故障處理器的自主恢復保障系統(tǒng)運行連續(xù)性。
(4)通過處理器連接多個處理器組成處理器陣列,實現(xiàn)系統(tǒng)計算能力的進一步擴展。
計算能力:若系統(tǒng)采用10個500mips處理能力的處理器,即使單處理器能力也是高等級處理器的5倍,考慮通信引起的計算損耗(假設為50%),再考慮處理器故障情況(假設同一時間有兩個處理器故障),則系統(tǒng)計算能力為500×(10-2)×50%=2000mips,為高等級處理器的200倍。
可靠性提升:假設單處理器可靠性為0.5(實際遠大于該值),則10個處理器并行計算的可靠性為1-(1-0.5)10=0.999,滿足在軌可靠運行。
附圖說明
圖1是本發(fā)明系統(tǒng)示意圖;
圖2是計算任務外部輸出示意圖。
具體實施方式
具體實施方式一:如圖1所示,一種基于處理器陣列的航天器星載計算機系統(tǒng)包括:
用于完成星載計算任務的處理器陣列模塊;
用于為處理器陣列模塊提供數(shù)據(jù)存儲和外部通信功能的公用資源模塊;
用于為處理器陣列模塊和公用資源模塊之間提供數(shù)據(jù)交互通道并識別處理器陣列模塊中的故障處理器的調度管理模塊。
具體實施方式二:本實施方式與具體實施方式一不同的是:所述處理器陣列模塊由n個處理器組成,其中n≥3,處理器之間通過處理器總線連接。
處理器是由高性能處理器為核心構成的最小運算單元,用來實現(xiàn)高性能運算,同時每個處理器單元均可單獨配電、復位;處理器之間通過處理器總線連接,用來實現(xiàn)處理器單元之間的數(shù)據(jù)共享。
其它步驟及參數(shù)與具體實施方式一相同。
具體實施方式三:本實施方式與具體實施方式一或二不同的是:所述公用資源模塊包括:
用于為處理器提供程序存儲及數(shù)據(jù)存儲的存儲器模塊;
用于為星載計算機系統(tǒng)與外部組件提供連接接口的對外接口模塊。如can、1553b等系統(tǒng)總線接口。
其它步驟及參數(shù)與具體實施方式一或二相同。
具體實施方式四:本實施方式與具體實施方式一至三之一不同的是:所述調度管理模塊包括:
用于通過數(shù)據(jù)總線連接處理器陣列模塊中的處理器,同時連接公用資源模塊,為公用資源模塊和處理器陣列模塊之間提供數(shù)據(jù)交互通道的數(shù)據(jù)轉發(fā)單元模塊;
用于為處理器陣列模塊中的處理器進行任務分配,并接收處理器的仲裁結果,識別處理器陣列中故障處理器的處理器管理單元模塊。
處理器管理單元為處理器陣列模塊中的各個處理器進行任務分配,健康運行狀態(tài),并對故障處理器進行故障處理與恢復。
其它步驟及參數(shù)與具體實施方式一至三之一相同。
具體實施方式五:一種基于處理器陣列的航天器星載計算機系統(tǒng)的故障處理方法包括以下步驟:
步驟一:星載計算機啟動后,進行計算任務的數(shù)據(jù)輸入,每個處理器的輸入數(shù)據(jù)由其他處理器或外部輸入給出;
步驟二:由處理器管理單元對處理器進行任務分配;資源調度模塊完成對處理器陣列的任務分配,使每個處理器需承擔系統(tǒng)分配的一個或多個計算任務,且同一個計算任務由三個處理器同時承擔,計算任務的輸入數(shù)據(jù)由其他處理器或外部輸入給出。
步驟三:根據(jù)步驟二的任務分配處理器執(zhí)行計算任務;
步驟四:得到計算任務的輸出數(shù)據(jù),即計算結果。
具體實施方式六:本實施方式與具體實施方式五不同的是:所述步驟一中進行計算任務的數(shù)據(jù)輸入的具體過程為:
當處理器的輸入數(shù)據(jù)由外部輸入給出時,通過對外接口由數(shù)據(jù)轉發(fā)單元傳輸給處理器;
當處理器的輸入數(shù)據(jù)由其他處理器給出時,處理器之間通過處理器總線直接進行數(shù)據(jù)傳輸。
其它步驟及參數(shù)與具體實施方式五相同。
具體實施方式七:本實施方式與具體實施方式五或六不同的是:所述步驟二中由處理器管理單元對處理器進行任務分配的具體過程為:
處理器管理單元分配給每個處理器n個計算任務,n≥1;1個計算任務由3個處理器同時進行計算;且兩個相關的計算任務不分配到同一個處理器中。
其它步驟及參數(shù)與具體實施方式五或六相同。
具體實施方式八:本實施方式與具體實施方式五至七之一不同的是:所述步驟三中根據(jù)步驟二的任務分配處理器執(zhí)行計算任務的具體過程為:
若計算任務的輸入數(shù)據(jù)由外部給出,則處理器直接執(zhí)行計算任務;
若計算任務的輸入數(shù)據(jù)由其他處理器給出,該處理器需獲取三個不同的處理器給出的輸入數(shù)據(jù),并執(zhí)行三取二仲裁,輸入的三份數(shù)據(jù)中至少兩份一致的數(shù)據(jù),若存在一組數(shù)據(jù)和其他兩組數(shù)據(jù)不同,則判定給出該組數(shù)據(jù)的處理器,即為處理器故障。
其它步驟及參數(shù)與具體實施方式五至七之一相同。
具體實施方式九:本實施方式與具體實施方式五至八之一不同的是:所述步驟四中得到計算任務的輸出數(shù)據(jù)具體為:
若計算任務的輸入數(shù)據(jù)由其他處理器給出,仲裁結果和計算結果輸入到處理器總線上,通過數(shù)據(jù)轉發(fā)單元將仲裁結果傳輸?shù)教幚砥鞴芾韱卧?,識別故障處理器;當處理器管理單元確定故障處理器后,將故障處理器的計算任務重新分配給其他處理器,并控制故障處理器復位或斷電;
計算結果若需要外部輸出(如圖2所示),則處理器管理單元接收三份不同處理器給出的數(shù)據(jù)并通過數(shù)據(jù)轉發(fā)單元和對外接口對數(shù)據(jù)進行外部數(shù)據(jù)輸出,使其從故障狀態(tài)中恢復。
其它步驟及參數(shù)與具體實施方式五至八之一相同。