彭小燕 彭飛 劉凱俊 楊鹿 蔡曦
(上海航天電子技術(shù)研究所,上海,200109)
星載計(jì)算機(jī)作為衛(wèi)星上的核心部件,主要用于衛(wèi)星控制、數(shù)據(jù)處理和星務(wù)管理等??臻g環(huán)境不同于地面,其中存在著許多電磁波與高能粒子,它們會(huì)對(duì)星載計(jì)算機(jī)系統(tǒng)中的電子器件產(chǎn)生各種輻射效應(yīng)。如果星載計(jì)算機(jī)沒有任何防輻射措施,將很容易受到電磁波的輻射和高能粒子的沖擊,從而影響到計(jì)算機(jī)內(nèi)部微電子器件的性能和參數(shù),導(dǎo)致衛(wèi)星工作的異常或故障[1]。由于衛(wèi)星的工作具有長期性和不可維護(hù)性的特點(diǎn),一旦衛(wèi)星出現(xiàn)故障幾乎無法進(jìn)行修復(fù),整個(gè)衛(wèi)星可能就會(huì)報(bào)廢,甚至成為太空垃圾,這些都將帶來巨大的損失。所以,對(duì)星載計(jì)算機(jī)進(jìn)行抗輻射加固設(shè)計(jì)是星載計(jì)算機(jī)分系統(tǒng)設(shè)計(jì)的重要組成部分。本設(shè)計(jì)方案中所提出的“多處理器高性能星載計(jì)算機(jī)”抓住了星載計(jì)算機(jī)多個(gè)高性能處理器協(xié)同工作這一重要趨勢,利用系統(tǒng)由多個(gè)高性能處理器組成這一先天條件,使得本系統(tǒng)的性能得到大幅提升,可以將出錯(cuò)的處理器進(jìn)行替換,大大提高了星載計(jì)算機(jī)系統(tǒng)的可靠性,實(shí)現(xiàn)了星載計(jì)算機(jī)的抗輻射加固設(shè)計(jì)與高性能設(shè)計(jì)的平衡。本設(shè)計(jì)
?
一種基于多處理器的星載計(jì)算機(jī)抗輻射加固設(shè)計(jì)方案*
彭小燕彭飛劉凱俊楊鹿蔡曦
(上海航天電子技術(shù)研究所,上海,200109)
文摘:采用4DSP+FPGA結(jié)構(gòu)方案,在滿足系統(tǒng)高可靠性的前提下,運(yùn)行一種“3+1”的工作模式,針對(duì)備份DSP提出一種可選的“輪轉(zhuǎn)切換”方案,利用預(yù)讀節(jié)省DSP進(jìn)行數(shù)據(jù)讀取的時(shí)間,實(shí)現(xiàn)星載計(jì)算機(jī)的抗輻射加固設(shè)計(jì)與高性能設(shè)計(jì)的平衡。
關(guān)鍵詞:衛(wèi)星設(shè)備;星載計(jì)算機(jī);多處理器;抗輻射加固。
星載計(jì)算機(jī)作為衛(wèi)星上的核心部件,主要用于衛(wèi)星控制、數(shù)據(jù)處理和星務(wù)管理等??臻g環(huán)境不同于地面,其中存在著許多電磁波與高能粒子,它們會(huì)對(duì)星載計(jì)算機(jī)系統(tǒng)中的電子器件產(chǎn)生各種輻射效應(yīng)。如果星載計(jì)算機(jī)沒有任何防輻射措施,將很容易受到電磁波的輻射和高能粒子的沖擊,從而影響到計(jì)算機(jī)內(nèi)部微電子器件的性能和參數(shù),導(dǎo)致衛(wèi)星工作的異?;蚬收希?]。由于衛(wèi)星的工作具有長期性和不可維護(hù)性的特點(diǎn),一旦衛(wèi)星出現(xiàn)故障幾乎無法進(jìn)行修復(fù),整個(gè)衛(wèi)星可能就會(huì)報(bào)廢,甚至成為太空垃圾,這些都將帶來巨大的損失。所以,對(duì)星載計(jì)算機(jī)進(jìn)行抗輻射加固設(shè)計(jì)是星載計(jì)算機(jī)分系統(tǒng)設(shè)計(jì)的重要組成部分。
本設(shè)計(jì)方案中所提出的“多處理器高性能星載計(jì)算機(jī)”抓住了星載計(jì)算機(jī)多個(gè)高性能處理器協(xié)同工作這一重要趨勢,利用系統(tǒng)由多個(gè)高性能處理器組成這一先天條件,使得本系統(tǒng)的性能得到大幅提升,可以將出錯(cuò)的處理器進(jìn)行替換,大大提高了星載計(jì)算機(jī)系統(tǒng)的可靠性,實(shí)現(xiàn)了星載計(jì)算機(jī)的抗輻射加固設(shè)計(jì)與高性能設(shè)計(jì)的平衡。本設(shè)計(jì)
本設(shè)計(jì)方案希望通過對(duì)星載計(jì)算機(jī)軟件容錯(cuò)技術(shù)進(jìn)行研究,來解決傳統(tǒng)星載計(jì)算機(jī)系統(tǒng)高性能與高可靠性難以協(xié)調(diào)兼顧的問題。
本設(shè)計(jì)方案采用FPGA和4個(gè)DSP構(gòu)建多處理器高性能星載計(jì)算機(jī)系統(tǒng),其硬件結(jié)構(gòu)如圖1所示。每個(gè)子系統(tǒng)由DSP(數(shù)字信號(hào)處理器)、FLASH(閃存)、SDRAM(同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)、FPGA(現(xiàn)場可編程門陣列,也稱為子系統(tǒng)FPGA)和JTAG(聯(lián)合測試工作組)接口等器件組成。每個(gè)子系統(tǒng)都連接到一個(gè)管理FPGA上(稱為全系統(tǒng)FPGA),并連接共享雙端口SRAM、FLASH、1553B總線控制器、RS-422/LVDS收發(fā)器等外設(shè)。系統(tǒng)的關(guān)鍵接口包括子系統(tǒng)和全系統(tǒng)。
a)子系統(tǒng)。每個(gè)子系統(tǒng)內(nèi)部利用子系統(tǒng)FPGA實(shí)現(xiàn)數(shù)據(jù)處理器SMJ320C6701的32位 EMIF接口與FLASH/SDRAM直接連接,同時(shí)將EMIF接口引出至全系統(tǒng)FPGA,并實(shí)現(xiàn)基于“檢二糾一”的EDAC(錯(cuò)誤檢測與糾正)校驗(yàn)編碼。其中,對(duì)子系統(tǒng)存儲(chǔ)接口的模式配置為:DSP與FLASH——異步EMIF接口總線模式復(fù)用(典型配置);DSP與SDRAM——同步EMIF接口總線模式復(fù)用(SDRAM模式配置);子系統(tǒng)對(duì)外接口(通過子系統(tǒng)FPGA)——EMIF數(shù)據(jù)/地址線、異步/同步EMIF控制信號(hào)(含F(xiàn)ull -rate SBSRAM模式)、McBSP接口、中斷信號(hào)(DSP到主機(jī)、主機(jī)到DSP)、定時(shí)器/GPIO信號(hào)、DMA控制信號(hào)等。
b)全系統(tǒng)。全系統(tǒng)FPGA中實(shí)現(xiàn)定制EMIF總線擴(kuò)展邏輯,將高速同步SRAM接口映射連接至兩片雙端口SRAM,最大程度保證全系統(tǒng)共享存儲(chǔ)的訪存效率[2];將異步EMIF地址映射至全系統(tǒng)FLASH和1553B控制器,實(shí)現(xiàn)全系統(tǒng)DMA功能;將串行通訊McBSP接口映射至RS-422/LVDS接口,并實(shí)現(xiàn)McBSP到通用串口的協(xié)議轉(zhuǎn)換。其中,對(duì)全系統(tǒng)存儲(chǔ)和接口控制的模式配置如下。
·雙端口SRAM:同步EMIF接口總線模式復(fù)用,支持Full -rate SSCLK下4 -beat burst SBSRAM模式讀寫。
·FLASH:異步EMIF接口總線模式復(fù)用(DMA支持)。
·1553B總線控制器:異步EMIF接口總線模式復(fù)用(DMA支持)》
·RS-422/LVDS收發(fā)器:McBSP接口交叉開關(guān)(CrossBar)模式復(fù)用及串口協(xié)議轉(zhuǎn)換(DMA支持)。
此外,全系統(tǒng)FPGA中還集成了系統(tǒng)模式配置和備份切換等全局控制邏輯,通過預(yù)先設(shè)定的控制寄存器和狀態(tài)寄存器與各個(gè)子系統(tǒng)交互。
2.1系統(tǒng)啟動(dòng)及運(yùn)行
該系統(tǒng)在正常工作的情況下,3個(gè)處理器單元進(jìn)行并行計(jì)算(稱為并行子系統(tǒng))。一個(gè)處理器單元處于待機(jī)或預(yù)處理狀態(tài)(溫備份),作為并行系統(tǒng)的冗余備份(稱為備份子系統(tǒng));各并行子系統(tǒng)運(yùn)行時(shí)通過自檢或過程比較等方式進(jìn)行檢錯(cuò),發(fā)現(xiàn)自身故障時(shí),該并行子系統(tǒng)進(jìn)行重啟操作,同時(shí)通過管理控制單元將其上任務(wù)切換到備份子系統(tǒng)再次執(zhí)行。未出現(xiàn)故障的并行子系統(tǒng)可以繼續(xù)運(yùn)行,利用系統(tǒng)的高效處理能力彌補(bǔ)處理器切換的時(shí)間消耗,實(shí)現(xiàn)整體任務(wù)不中斷。
系統(tǒng)啟動(dòng)和運(yùn)行包括待機(jī)、初始化、配置、執(zhí)行、故障診斷與備份切換等狀態(tài),狀態(tài)間的切換均由全系統(tǒng)FPGA發(fā)出命令進(jìn)行控制,如圖2所示。
軟件初始化中,系統(tǒng)構(gòu)成為1個(gè)主控DSP、3個(gè)從屬DSP與全系統(tǒng)FPGA中的控制邏輯。每個(gè)DSP獨(dú)立地將程序存在私有的Flash中,在上電啟動(dòng)后,利用boot代碼將程序搬運(yùn)至SDRAM,執(zhí)行主程序。在初始化狀態(tài),DSP將進(jìn)行芯片配置、初始化外設(shè),完成狀態(tài)檢查,等待全系統(tǒng)FPGA發(fā)出下一步的命令。
全系統(tǒng)FPGA將根據(jù)DSP健康狀態(tài)和系統(tǒng)運(yùn)行日志,選擇最可靠的DSP作為主DSP?;谙到y(tǒng)處理能力和擴(kuò)展性的考慮,全系統(tǒng)FPGA負(fù)責(zé)由外部信息獲得需要執(zhí)行任務(wù)的標(biāo)號(hào),而相應(yīng)任務(wù)本身需要的冗余度、并行度和外設(shè)需求等信息均保存在每個(gè)DSP中。主DSP將根據(jù)全系統(tǒng)FPGA提供的任務(wù)標(biāo)號(hào)再將任務(wù)的需求信息反饋給全系統(tǒng)FPGA。
全系統(tǒng)FPGA綜合任務(wù)需求信息與環(huán)境因素、外部命令綜合考慮,激活相應(yīng)的從DSP,并對(duì)它們進(jìn)行配置(并行或備份)。而每個(gè)DSP相對(duì)獨(dú)立地在被激活后,讀取其配置信息,如果為并行模式,DSP將根據(jù)任務(wù)標(biāo)號(hào)、子程序標(biāo)號(hào)執(zhí)行對(duì)應(yīng)的代碼;如果為備份模式,DSP將原地等待之后的調(diào)度和分配。
每個(gè)DSP子系統(tǒng)在運(yùn)行過程中進(jìn)行自身的故障檢測,檢測到故障發(fā)生時(shí),子系統(tǒng)將進(jìn)入故障診斷狀態(tài)。如果為可恢復(fù)故障,該系統(tǒng)將繼續(xù)執(zhí)行;如果為不可恢復(fù)故障,子系統(tǒng)將通知全系統(tǒng)FPGA啟動(dòng)備份切換和中斷任務(wù)分配,故障DSP子系統(tǒng)被全系統(tǒng)FPGA重啟進(jìn)入初始狀態(tài),等待下一輪模式配置和任務(wù)分配。
2.2多DSP并行方案
并行處理的目的是采用多個(gè)處理單元同時(shí)對(duì)任務(wù)進(jìn)行處理而減少任務(wù)的執(zhí)行時(shí)間,達(dá)到實(shí)時(shí)性的要求[3]。本設(shè)計(jì)方案的范圍主要是在高性能DSP硬件平臺(tái)上的多DSP并行結(jié)構(gòu)和DSP算法的并行實(shí)現(xiàn)。DSP并行實(shí)現(xiàn)要求分配并行任務(wù),調(diào)整數(shù)據(jù)結(jié)構(gòu),平均分配功能單元,利用匯編語言的靈活性合理編排指令,設(shè)計(jì)性能良好的并行算法[4]。
本多處理器高性能星載計(jì)算機(jī)采用DSP作為運(yùn)算處理單元,在并行工作模式下,采用3×DSP并行結(jié)構(gòu),同時(shí)在每個(gè)DSP內(nèi)具有多個(gè)數(shù)據(jù)處理通路、多個(gè)寄存器組等多功能單元。多處理器和多功能單元的可并行操作是并行處理的基礎(chǔ),在應(yīng)用實(shí)現(xiàn)上可將任務(wù)劃分為多份,交予多處理器進(jìn)行實(shí)現(xiàn);在算法設(shè)計(jì)中可以在一個(gè)周期內(nèi)盡量安排多個(gè)占用不同功能單元的指令,提高程序的執(zhí)行速度。
在并行處理中,系統(tǒng)的DSP并行方式包括三種處理方式:多類任務(wù)同時(shí)執(zhí)行、一類任務(wù)多次執(zhí)行和一個(gè)任務(wù)分割執(zhí)行。
a)多類任務(wù)同時(shí)執(zhí)行。在“多類任務(wù)同時(shí)執(zhí)行”這種并行處理方法中,進(jìn)行并行運(yùn)算的3 個(gè)DSP各自處理不同的程序任務(wù)。如圖3所示,DSP_A中執(zhí)行星務(wù)管理程序1,DSP_B執(zhí)行圖像處理,DSP_C執(zhí)行星務(wù)管理程序2。程序的分配由FPGA中的“operation configure”(操作系統(tǒng)設(shè)置)模塊進(jìn)行操作,該模塊在程序開始運(yùn)行之前,根據(jù)外部指令、衛(wèi)星的時(shí)間位置信息、航天器的傳感器信息和程序需求來決定并行處理的方法和最終的程序分配。在這種并行處理方法下,DSP各司其職,相互之間沒有數(shù)據(jù)關(guān)聯(lián),當(dāng)星上需要同時(shí)進(jìn)行多個(gè)程序的執(zhí)行時(shí),此種并行方法是比較合適的。
b)一類任務(wù)多次執(zhí)行。在這種并行處理方法中,同一個(gè)任務(wù)要執(zhí)行多次的重復(fù)操作,只是每次進(jìn)行操作的數(shù)據(jù)不相同,而且數(shù)據(jù)相互之間完全沒有關(guān)聯(lián)。如圖4所示,系統(tǒng)進(jìn)行視頻圖像處理,由于一個(gè)視頻圖像處理分為很多幀,而每個(gè)幀的操作除了被操作數(shù)據(jù)不同外,其它都是一樣的,視頻圖像幀與幀之間沒有任何的數(shù)據(jù)關(guān)聯(lián),所以FPGA將視頻圖像中的不同幀分給不同的子系統(tǒng)處理,圖中DSP_A、DSP_B和DSP_C分別處理第n、n+1和n+2幀圖像。同樣,DSP執(zhí)行內(nèi)容的分配也由FPGA中的“操作系統(tǒng)設(shè)置”模塊進(jìn)行操作,當(dāng)星上需要快速而且重復(fù)的執(zhí)行某個(gè)程序時(shí),此種并行方法是比較合適的。
圖3 多類任務(wù)同時(shí)執(zhí)行
圖4 一類任務(wù)多次執(zhí)行
c)一個(gè)任務(wù)分割執(zhí)行。對(duì)于“一個(gè)任務(wù)分割執(zhí)行”這種方法,進(jìn)行并行運(yùn)算的3個(gè)DSP各自處理程序中的一部分,各DSP之間處理的內(nèi)容可能存在數(shù)據(jù)關(guān)聯(lián)。我們以某一待處理圖像為例(如圖5所示雙線大方框區(qū)設(shè)為圖像部分),系統(tǒng)在對(duì)其進(jìn)行處理之前,為了高效而快速地執(zhí)行程序,首先將圖像分為12個(gè)小圖,每個(gè)DSP執(zhí)行其中的4幅小圖像。不同于一類任務(wù)多次執(zhí)行,首先,一個(gè)任務(wù)分割執(zhí)行說明這個(gè)任務(wù)只執(zhí)行了一次,而不是重復(fù)執(zhí)行,另外任務(wù)的分割會(huì)帶來分割之后任務(wù)間的一些數(shù)據(jù)交互,如圖像在分割和拼接的時(shí)候存在少量數(shù)據(jù)交互。FPGA中的“操作系統(tǒng)設(shè)置”模塊進(jìn)行程序的分割和分配操作,如圖6所示(圖像與圖5對(duì)應(yīng))。當(dāng)星上需要快速執(zhí)行某個(gè)大型程序時(shí),此種并行方法是比較合適的。
圖5 “一個(gè)任務(wù)分割執(zhí)行”情況下的任務(wù)分配示例
圖6 一個(gè)任務(wù)分割執(zhí)行
3.1故障診斷
在并行情況下,每個(gè)DSP子系統(tǒng)可以依靠自檢進(jìn)行簡單故障診斷,主要依賴于程序監(jiān)視技術(shù)[4],即“看門狗”,記錄處理器程序“跑飛”或“死機(jī)”造成的無響應(yīng)狀態(tài)。如果在設(shè)定時(shí)間內(nèi)發(fā)生故障的次數(shù)超過設(shè)定值,即認(rèn)為子系統(tǒng)發(fā)生不可恢復(fù)故障,通知管理調(diào)度單元執(zhí)行備份切換。
由于“看門狗”技術(shù)無法檢出DSP運(yùn)算結(jié)果出錯(cuò)的情況,因此參照該方案的硬件結(jié)構(gòu)和特定應(yīng)用,結(jié)合已有的控制領(lǐng)域故障診斷技術(shù),對(duì)不同的并行方案制定各自的故障診斷方案,作為對(duì)自檢技術(shù)的補(bǔ)充。
對(duì)于“多類任務(wù)同時(shí)執(zhí)行”的情況,由于每個(gè)DSP執(zhí)行的任務(wù)完全獨(dú)立,在任務(wù)明確的情況下,對(duì)較為復(fù)雜的圖像處理類任務(wù)采用基于知識(shí)的故障診斷方法,如機(jī)器學(xué)習(xí)等,有利于提高故障檢出率;對(duì)較為簡單的星務(wù)處理類任務(wù)可采用基于信號(hào)處理的故障診斷方法[5],降低診斷開銷。
對(duì)于“一類任務(wù)多次執(zhí)行”和“一個(gè)任務(wù)分割執(zhí)行”的情況,多個(gè)DSP系統(tǒng)構(gòu)成SIMD架構(gòu),非常利于使用基于解析模型的故障診斷方法,如狀態(tài)估計(jì)法、等價(jià)空間法和過程參數(shù)估計(jì)法等,利用DSP任務(wù)過程比較發(fā)現(xiàn)輸出結(jié)果異常。
由于SMJ320C6701支持德州儀器(TI)官方提供的輕量級(jí)實(shí)時(shí)操作系統(tǒng)DSP/BIOS,具有簡單的多進(jìn)程管理功能。利用DSP/BIOS提供的基于優(yōu)先級(jí)設(shè)置的進(jìn)程切換和調(diào)度機(jī)制,可以方便的實(shí)現(xiàn)軟件多模冗余和定時(shí)器超時(shí)處理等容錯(cuò)設(shè)計(jì)。此外,DSP/BIOS還可以大大簡化星務(wù)管理中的任務(wù)優(yōu)先級(jí)設(shè)置操作,有效保證“多類任務(wù)同時(shí)執(zhí)行”應(yīng)用場景下的全局實(shí)時(shí)性。
3.2備份切換方案
3.2.1備份執(zhí)行流程
從程序的運(yùn)行方式可以看出,不論系統(tǒng)運(yùn)行在何種并行處理方式下,都有一個(gè)處于溫備份狀態(tài)的DSP在等待切換,系統(tǒng)中每個(gè)DSP的運(yùn)行流程都如圖7所示。系統(tǒng)啟動(dòng)之后,各子系統(tǒng)進(jìn)行初始化操作,在全系統(tǒng)FPGA的配置下,3個(gè)DSP子系統(tǒng)進(jìn)行并行操作(如圖7中①所示),而且在執(zhí)行程序的過程中進(jìn)行自檢。如果并行系統(tǒng)中某個(gè)DSP發(fā)生了故障,則該DSP將通過中斷告知全系統(tǒng)FPGA中的調(diào)度系統(tǒng),DSP子系統(tǒng)自身復(fù)位。進(jìn)行溫備份操作的DSP則進(jìn)行等待(如圖7中②所示),當(dāng)收到調(diào)度系統(tǒng)的啟動(dòng)命令后,則啟動(dòng)程序并加入到并行系統(tǒng)中執(zhí)行任務(wù)。
圖7 DSP運(yùn)行流程圖
在被配置為備份的DSP中,可以選擇基本模式(如圖7中③所示)或冗余模式(如圖7中④所示)?;灸J较?,備份DSP將處于低功耗狀態(tài),不執(zhí)行運(yùn)算任務(wù),等待調(diào)度系統(tǒng)喚起。冗余模式下,備份DSP將按照預(yù)先設(shè)定的選擇機(jī)制(如參考?xì)v史狀態(tài)等)在當(dāng)前3個(gè)并行DSP中選取一個(gè)并行任務(wù)同時(shí)執(zhí)行。如本輪處理中(兩個(gè)同步點(diǎn)之間)并行DSP未發(fā)生故障,則備份DSP在下一輪繼續(xù)選擇新的任務(wù)進(jìn)行冗余計(jì)算;如本輪發(fā)生故障,若發(fā)生故障的并行任務(wù)與備份DSP運(yùn)行的冗余任務(wù)相同,則可以直接采用冗余運(yùn)算的結(jié)果,預(yù)測失敗情況下備份DSP停止當(dāng)前操作,重新執(zhí)行故障DSP任務(wù)。這種模式具有最短的系統(tǒng)恢復(fù)時(shí)間。
3.2.2備份替換策略
本設(shè)計(jì)方案提供可配置的備份替換策略,支持不同環(huán)境下性能與恢復(fù)時(shí)間之間的權(quán)衡。每種備份替換策略下,執(zhí)行備份的DSP均可選擇基本模式或冗余模式。
a)固定備份機(jī)制。固定備份機(jī)制選取某個(gè)特定DSP作為系統(tǒng)溫備份。以圖5的圖像處理為例,一張高清圖像被劃分為12個(gè)任務(wù),其中每3個(gè)任務(wù)為一輪,由3個(gè)并行DSP(例如DSP_A、DSP_B、DSP_C)同時(shí)處理。在冗余模式下,每輪由固定備份DSP(例如DSP_D)執(zhí)行選定的任務(wù)(如與DSP_A相同)。由于這種備份替換方式具有確定性,在硬件上可以預(yù)先根據(jù)并行DSP和備份DSP運(yùn)行特點(diǎn),采用特定的加固優(yōu)化設(shè)計(jì),達(dá)到最好的運(yùn)行效果。
b)輪轉(zhuǎn)備份機(jī)制。與固定備份切換機(jī)制不同,在輪轉(zhuǎn)備份機(jī)制中,沒有某個(gè)固定的DSP一直運(yùn)行在備份狀態(tài)下。此時(shí),備份操作由DSP_A、DSP_B、DSP_C、DSP_D輪流執(zhí)行。以圖5的圖像為例,在執(zhí)行第一輪任務(wù)(即任務(wù)1~3)時(shí),DSP_D作為本輪備份;在執(zhí)行第二輪任務(wù)(即任務(wù)4~6)時(shí),F(xiàn)PGA調(diào)度系統(tǒng)將DSP_A設(shè)置為本輪備份,以此類推。輪轉(zhuǎn)備份機(jī)制比固定備份具有更好的公平性,在基本模式下有利于緩解系統(tǒng)TID(輻射總劑量)積累,增強(qiáng)抗輻性能。
c)預(yù)讀機(jī)制。在當(dāng)前系統(tǒng)定義中,處于溫備份狀態(tài)的DSP,無論是基本模式還是冗余模式,對(duì)于提升系統(tǒng)運(yùn)算性能來說是沒有幫助的。考慮到在實(shí)際系統(tǒng)運(yùn)行中,故障發(fā)生屬于小概率事件,為了在保證系統(tǒng)可靠性的前提下提高系統(tǒng)的性能,本方案在輪轉(zhuǎn)備份的基礎(chǔ)上,提出了預(yù)讀輪轉(zhuǎn)切換方法。
在預(yù)讀輪轉(zhuǎn)切換方法中,所有DSP輪流做備份,本輪首先完成并行處理任務(wù)的DSP為下一輪備份;備份DSP亦處于運(yùn)行狀態(tài),執(zhí)行后續(xù)處理任務(wù)。如本輪某DSP(如DSP_A)發(fā)生故障,則備份DSP終止當(dāng)前操作,重新執(zhí)行DSP_A的處理任務(wù)。這種方式下,無故障時(shí)系統(tǒng)中DSP為并行運(yùn)行;故障時(shí)能夠快速重新執(zhí)行處理任務(wù),具有最高的處理性能。
以圖5的圖像處理為例,F(xiàn)PGA在進(jìn)行任務(wù)分割時(shí),不僅僅對(duì)DSP_A、DSP_B和DSP_C分配待執(zhí)行任務(wù)(如任務(wù)1~3)。同時(shí)也會(huì)對(duì)DSP_D分配任務(wù)(如任務(wù)4),在DSP_A、DSP_B和DSP_C進(jìn)行并行計(jì)算的時(shí)候,DSP_D會(huì)將DSP_A下一階段所要處理的數(shù)據(jù)預(yù)讀到本地存儲(chǔ)空間中,然后,在DSP_A執(zhí)行當(dāng)前階段的程序之后,如果系統(tǒng)未出現(xiàn)錯(cuò)誤,則DSP_D加入下輪并行,DSP_A則進(jìn)入下輪備份預(yù)讀。同理,在DSP_A進(jìn)行溫備份預(yù)讀處理時(shí),如果系統(tǒng)未出現(xiàn)錯(cuò)誤,則DSP_A重新加入并行,由DSP_B進(jìn)行備份數(shù)據(jù)預(yù)讀。加入了預(yù)讀的輪轉(zhuǎn)備份機(jī)制下,系統(tǒng)實(shí)質(zhì)上運(yùn)行在4×DSP并行狀態(tài),這種方法在保證系統(tǒng)可靠性的前提下,縮短省略掉DSP讀取數(shù)據(jù)的時(shí)間,從而最大程度提高系統(tǒng)處理性能。
可以看出,相同任務(wù)在各種備份配置下執(zhí)行情況各不相同,在實(shí)際設(shè)計(jì)中可以根據(jù)系統(tǒng)對(duì)運(yùn)算性能、可靠性、切換開銷等方面的需求進(jìn)行靈活配置。
本文以高性能、高可靠的并行星載計(jì)算機(jī)任務(wù)需求為背景,構(gòu)建了“4DSP+FPGA”的多處
理器并行星載計(jì)算機(jī)體系結(jié)構(gòu),運(yùn)行一種“3+ 1”的工作模式,利用DSP快速、豐富的對(duì)外接口實(shí)現(xiàn)多處理器的數(shù)據(jù)信息交互,以保證計(jì)算機(jī)的高性能需求。此外,利用多處理器的硬件資源提出處理器備份運(yùn)行方案,即針對(duì)備份DSP提出一種可選的“輪轉(zhuǎn)切換”方案,利用預(yù)讀節(jié)省DSP進(jìn)行數(shù)據(jù)讀取的時(shí)間,實(shí)現(xiàn)計(jì)算機(jī)高可靠的抗輻射性能需求。
參考文獻(xiàn)
[1]Bolchini C.,Miele A.,Santambrogio M.D.TMR and Partial Dynamic Reconfiguration to mitigate SEU faults in FPGAs”,the Proc. Of IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems.IEEE,2007:87-95.
[2]陳書明,汪東,陳小文.一種面向多核DSP的小容量緊耦合快速共享數(shù)據(jù)池[J].計(jì)算機(jī)學(xué)報(bào),2008,31(10):1737-1744.
[3]郭保東.異構(gòu)多核DSP互連通信機(jī)制QLINK的研究與實(shí)現(xiàn)[D].長沙:國防科技大學(xué),2007:23-34.
[4]夏康.高可靠并行星載計(jì)算機(jī)硬件容錯(cuò)技術(shù)研究.上海交通大學(xué)碩士論文,2012-12-01.
[5]雷濤.多DSP并行多模跟蹤軟件系統(tǒng)的研究與優(yōu)化實(shí)現(xiàn).北京:中國科學(xué)院研究生院,2006:23-36.
作者簡介:
彭小燕(1983年—),女,電子工程專業(yè)工程碩士,工程師,現(xiàn)主要從事星載計(jì)算機(jī)技術(shù)研究。
*本文源于國防預(yù)研抗輻射加固技術(shù)項(xiàng)目(513110401××)。方案使用FPGA和四片高性能DSP數(shù)字信號(hào)處理芯片組建多處理器高性能星載計(jì)算機(jī)平臺(tái),包括4DSP+FPGA系統(tǒng)架構(gòu)和軟件運(yùn)行方案的設(shè)計(jì)。