• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      三模冗余MPSOC容錯(cuò)設(shè)計(jì)與驗(yàn)證

      2012-04-17 07:29:38楊孟飛劉鴻瑾
      關(guān)鍵詞:看門(mén)狗班機(jī)仲裁

      陳 陳,楊孟飛,劉鴻瑾

      (1.北京控制工程研究所,北京 100090;2.中國(guó)空間技術(shù)研究院,北京 100194)

      航天技術(shù)的發(fā)展對(duì)以星載計(jì)算機(jī)為代表的空間電子系統(tǒng)的性能、體積、功耗、重量、可靠性及空間環(huán)境適用性的要求越來(lái)越高.片上系統(tǒng)(SOC,systemon-chip)技術(shù)不僅可以提高星載計(jì)算機(jī)的內(nèi)部功能集成度、減小體積重量、提高功能密度,而且可以提高性能,提高系統(tǒng)的總體可靠度.多處理器片上系統(tǒng)(MPSOC,multiprocessor system-on-chip)[1]具有多處理器系統(tǒng)和單處理器SOC的共同優(yōu)點(diǎn),代表著嵌入式多核設(shè)計(jì)的發(fā)展方向.MPSOC具有良好的擴(kuò)展性、可定制化設(shè)計(jì)等特點(diǎn),尤其在提高系統(tǒng)并行性方面顯示出巨大優(yōu)勢(shì).

      研究表明,計(jì)算機(jī)系統(tǒng)中70~80%的失效都是由于瞬態(tài)故障引起[2],這表明瞬態(tài)故障是引起計(jì)算機(jī)系統(tǒng)失效的主要原因.在航天等特殊應(yīng)用場(chǎng)合,瞬態(tài)故障也將是引起處理器以及計(jì)算機(jī)系統(tǒng)失效的主要原因,并且隨著特征尺寸的減少,這一趨勢(shì)將會(huì)越來(lái)越明顯[3].因此,為了提高航天等特殊應(yīng)用場(chǎng)合下處理器的可靠性,消除瞬態(tài)故障所引起的軟錯(cuò)誤(soft error)[4]的有害影響是一個(gè)重要的任務(wù).在多核體系結(jié)構(gòu)中,存在多個(gè)內(nèi)核,可以設(shè)計(jì)為冗余運(yùn)行的處理結(jié)構(gòu),因此除了并行性之外,還具有容錯(cuò)潛力.只要合理有效地利用這些冗余硬件資源,就可以在減少額外開(kāi)銷(xiāo)的基礎(chǔ)上,提供更強(qiáng)的容錯(cuò)能力.

      本文提出了一種能夠檢測(cè)并屏蔽瞬時(shí)故障的三模冗余(TMR,triple modular redundancy)MPSOC處理器設(shè)計(jì)方案.該系統(tǒng)由3個(gè)基于SPARC V8規(guī)范的LEON3處理器[5]、容錯(cuò)管理模塊和選通電路等組成,采用軟件表決和硬件仲裁相結(jié)合的方法完成三模冗余的容錯(cuò)功能.

      1 三模冗余MPSOC處理器的容錯(cuò)設(shè)計(jì)

      1.1 容錯(cuò)方案設(shè)計(jì)

      本文提出的三模冗余MPSOC容錯(cuò)處理器結(jié)構(gòu)如圖1所示.三模冗余MPSOC容錯(cuò)處理器基于FPGA設(shè)計(jì)實(shí)現(xiàn),設(shè)計(jì)中采用了3個(gè)原理設(shè)計(jì)完全相同的LEON3處理器.3個(gè)處理器獨(dú)立運(yùn)行,每個(gè)處理器有獨(dú)立的靜態(tài)隨機(jī)存儲(chǔ)器(SRAM,static random access memory)和可編程序只讀存儲(chǔ)器(PROM,programmable read-only memory).3個(gè)處理器中其中一個(gè)為當(dāng)班機(jī),其他兩個(gè)則為非當(dāng)班機(jī).當(dāng)班機(jī)由容錯(cuò)電路仲裁產(chǎn)生,任意時(shí)刻只有當(dāng)班機(jī)的數(shù)據(jù)輸出.

      圖1 系統(tǒng)內(nèi)部結(jié)構(gòu)框圖Fig.1 Architecture diagram of TMR system

      三模冗余MPSOC處理器具體的容錯(cuò)策略是采用TMR數(shù)據(jù)表決輸出的容錯(cuò)結(jié)構(gòu),在3個(gè)完全相同的處理器上運(yùn)行相同的程序;3個(gè)處理器以串口通信的方式實(shí)現(xiàn)數(shù)據(jù)交換,軟件進(jìn)行三模冗余數(shù)據(jù)比對(duì)(部分浮點(diǎn)數(shù)據(jù)帶容差比較),由軟件進(jìn)行3取2表決,最終向容錯(cuò)管理單元輸出本機(jī)狀態(tài)信息(健康信號(hào)、清看門(mén)狗信號(hào)等),由容錯(cuò)管理單元仲裁后輸出當(dāng)班信號(hào),確定一個(gè)當(dāng)班機(jī),并選通當(dāng)班處理的數(shù)據(jù)輸出,當(dāng)班機(jī)的輸出數(shù)據(jù)作為系統(tǒng)輸出的最終結(jié)果(如圖1所示).

      三模冗余MPSOC處理器容錯(cuò)設(shè)計(jì)的關(guān)鍵在于容錯(cuò)管理單元的邏輯設(shè)計(jì)、軟件表決算法的設(shè)計(jì)及處理器之間的同步機(jī)制的設(shè)計(jì),下面將詳細(xì)描述.

      1.2 容錯(cuò)管理模塊設(shè)計(jì)

      容錯(cuò)管理模塊功能框圖如圖2所示,主要由時(shí)鐘產(chǎn)生電路、看門(mén)狗電路、復(fù)位電路和當(dāng)班仲裁電路組成,為了提高容錯(cuò)管理模塊的可靠性,容錯(cuò)管理模塊功能均采用雙熱備份的方式實(shí)現(xiàn).容錯(cuò)電路的主要功能有:

      1)為3個(gè)處理器提供時(shí)鐘及控制周期信號(hào);

      2)通過(guò)看門(mén)狗電路監(jiān)視當(dāng)班機(jī)工作狀態(tài);

      3)提供復(fù)位信號(hào),同時(shí)送往3個(gè)處理器;

      4)根據(jù)三機(jī)健康狀態(tài)由硬件仲裁決定哪一機(jī)為當(dāng)班機(jī).

      時(shí)鐘產(chǎn)生邏輯用來(lái)產(chǎn)生時(shí)鐘及控制周期信號(hào).為了提高電路的可靠性,設(shè)計(jì)兩套獨(dú)立的時(shí)鐘產(chǎn)生電路,主備份時(shí)鐘信號(hào)可以實(shí)現(xiàn)自主切換.產(chǎn)生的時(shí)鐘信號(hào)同時(shí)送往3個(gè)處理器作為控制周期信號(hào),保證3個(gè)處理器采用同一時(shí)鐘源.

      看門(mén)狗電路用于監(jiān)測(cè)當(dāng)班機(jī)的工作狀態(tài).該電路設(shè)計(jì)的主要作用是當(dāng)3個(gè)處理器均不能正常清看門(mén)狗時(shí)可產(chǎn)生自主復(fù)位,修復(fù)瞬時(shí)故障.當(dāng)班機(jī)在每個(gè)控制周期內(nèi)進(jìn)行清看門(mén)狗操作,如果當(dāng)班機(jī)不能正常清看門(mén)狗,則看門(mén)狗電路通過(guò)狗咬信號(hào)使處理器復(fù)位.看門(mén)狗復(fù)位由看門(mén)狗的狗咬信號(hào)產(chǎn)生,最終生成3個(gè)復(fù)位信號(hào),分別送往3個(gè)處理器,保證所有處理器同時(shí)復(fù)位.采用兩套獨(dú)立的看門(mén)狗電路可以在單個(gè)看門(mén)狗電路失效的情況下,由另一路看門(mén)狗電路監(jiān)視當(dāng)班機(jī)的工作狀態(tài),在3個(gè)處理器都發(fā)生故障的情況下,通過(guò)狗咬復(fù)位使系統(tǒng)恢復(fù)正常.兩路看門(mén)狗電路的清看門(mén)狗信號(hào)均由LEON3處理器的通用輸入/輸出端口(GPIO,general purpose I/O port)口產(chǎn)生.

      仲裁電路根據(jù)各處理器的工作情況控制三機(jī)中的其中一機(jī)輸出.三機(jī)輸出的數(shù)據(jù)經(jīng)軟件3取2表決后,發(fā)出本機(jī)的健康狀態(tài)信號(hào),仲裁電路根據(jù)三機(jī)的健康狀態(tài)信號(hào)決定哪一機(jī)輸出,其他兩機(jī)的輸出均被封鎖.三機(jī)健康狀態(tài)信號(hào)SA、SB、SC為低電平有效.三機(jī)的當(dāng)班信號(hào)CSA、CSB、CSC是高電平有效.

      圖2 容錯(cuò)管理模塊功能框圖Fig.2 Block diagram of the fault-tolerant management module

      仲裁邏輯根據(jù)3取2的原則,即根據(jù)三機(jī)健康狀態(tài)來(lái)決定輸出哪一機(jī)的數(shù)據(jù).同時(shí),在仲裁邏輯的設(shè)計(jì)上保證了只能輸出一機(jī)的數(shù)據(jù).為防止仲裁邏輯電路單點(diǎn)故障,采用兩套相同的電路,并聯(lián)輸出.三機(jī)的優(yōu)先級(jí)是A>B>C,例如:如果SA,SB為低電平,SC為高電平,則仲裁模塊輸出CPU_A的數(shù)據(jù);如果SA為高電平,SB、SC為低電平,則仲裁模塊輸出CPU_B的數(shù)據(jù).

      當(dāng)班信號(hào)CSA、CSB、CSC的產(chǎn)生方式如圖3所示.為防止三機(jī)都不輸出的情況,即三機(jī)的狀態(tài)SA、SB、SC都為“1”時(shí),仲裁電路自主選擇 CPU_C當(dāng)班,由于CPU_C不健康,不清看門(mén)狗,則引起狗咬復(fù)位.為了防止仲裁電路短時(shí)間內(nèi)的循環(huán)切換當(dāng)班機(jī),造成任務(wù)無(wú)法完成,設(shè)計(jì)中采用單向切換的方案.

      圖3 當(dāng)班信號(hào)產(chǎn)生方式Fig.3 Generation of the on duty signal

      最后輸出選通模塊使用容錯(cuò)管理模塊產(chǎn)生的當(dāng)班信號(hào)(CSA、CSB、CSC)來(lái)控制各處理器對(duì)外輸出接口的使能端,保證只有當(dāng)班機(jī)能夠?qū)ν獍l(fā)送控制指令和信號(hào),而其他兩機(jī)的輸出被禁止.

      三模冗余MPSOC處理器對(duì)外輸出的接口只有3種:串口、1553B總線(xiàn)和GPIO口.對(duì)于輸入信號(hào)采集和接收電路的使能端則常有效,3個(gè)處理器都能夠接收其他外部設(shè)備的輸入數(shù)據(jù)和狀態(tài)信號(hào).

      1.3 軟件的3取2表決算法設(shè)計(jì)

      三模冗余MPSOC處理器的3取2表決通過(guò)軟件實(shí)現(xiàn),由表決生成每一機(jī)的健康狀態(tài)信號(hào)供容錯(cuò)管理單元的仲裁邏輯使用.

      如圖4所示,當(dāng)每個(gè)控制周期某一機(jī)工作正常并且與其他任意一機(jī)的數(shù)據(jù)比對(duì)一致時(shí),該機(jī)發(fā)送健康信號(hào),該控制周期當(dāng)班機(jī)正常清看門(mén)狗,下一個(gè)控制周期的數(shù)據(jù)計(jì)算使用該控制周期經(jīng)過(guò)三機(jī)數(shù)據(jù)比對(duì)軟件表決后的數(shù)據(jù).

      當(dāng)某一機(jī)在一個(gè)控制周期與其他兩機(jī)的數(shù)據(jù)比對(duì)都不一致時(shí),該機(jī)首先判斷其他兩機(jī)數(shù)據(jù)比對(duì)是否一致,如果其他兩機(jī)數(shù)據(jù)比對(duì)一致,則該機(jī)置自己不健康.

      如果某一處理器判斷三機(jī)數(shù)據(jù)比對(duì)都不一致,則該機(jī)查詢(xún)自己的系統(tǒng)自檢狀態(tài)信息,如果系統(tǒng)狀態(tài)信息正常,則該機(jī)置自己健康,如果系統(tǒng)狀態(tài)信息不正常,則該機(jī)置自己不健康.

      在出現(xiàn)三機(jī)數(shù)據(jù)比對(duì)均不一致時(shí),如果三機(jī)的系統(tǒng)自檢狀態(tài)信息都不正常,則三機(jī)都置自己不健康,仲裁電路的硬件會(huì)自主選擇CPU_C為當(dāng)班機(jī),由于CPU_C不健康,不清看門(mén)狗,則引起狗咬復(fù)位.三機(jī)同時(shí)復(fù)位后,嘗試恢復(fù)重要數(shù)據(jù),并重新進(jìn)入TMR工作模式.

      圖4 軟件表決算法原理框圖Fig.4 Block diagram of software voting algorithm

      1.4 處理器之間的同步設(shè)計(jì)

      同步技術(shù)是三模冗余容錯(cuò)處理器的核心基礎(chǔ)技術(shù)之一,它用來(lái)消除系統(tǒng)中3個(gè)處理器模塊之間因時(shí)鐘、輸入延遲等因素造成的不同步,使得系統(tǒng)中3個(gè)處理器模塊在程序執(zhí)行狀態(tài)、周期定時(shí)及時(shí)間基準(zhǔn)上達(dá)到相對(duì)一致的狀態(tài),在計(jì)算后同時(shí)將輸出送給仲裁電路進(jìn)行表決輸出,真正完成三模冗余功能.常用的同步技術(shù)包括任務(wù)同步、中斷同步[6]、公共時(shí)鐘、鎖相同步[7]等.

      本系統(tǒng)在三模冗余工作模式時(shí)實(shí)現(xiàn)3個(gè)處理器任務(wù)級(jí)同步[8]功能.系統(tǒng)通過(guò)容錯(cuò)電路產(chǎn)生3個(gè)處理器共用的控制周期信號(hào)和復(fù)位信號(hào)來(lái)實(shí)現(xiàn)任務(wù)級(jí)同步.三模冗余工作模式下,完成上電后3個(gè)處理器同時(shí)復(fù)位,這種情況下3個(gè)處理器控制周期信號(hào)同源可保證同時(shí)產(chǎn)生控制周期中斷,通過(guò)控制周期中斷進(jìn)行任務(wù)調(diào)度,即可完成處理器間任務(wù)級(jí)同步.

      2 實(shí)現(xiàn)與驗(yàn)證

      2.1 TMR處理器正常運(yùn)行時(shí)的仿真結(jié)果

      為了驗(yàn)證上述處理器系統(tǒng)的正確性,使用EDA仿真工具M(jìn)odelSim對(duì)該系統(tǒng)進(jìn)行仿真驗(yàn)證.圖5所示為處理器正常運(yùn)行時(shí)的仿真波形,其中vdata(0)、vdata(1)、vdata(2)分別為 CPU_A、CPU_B、CPU_C 3個(gè)處理器的運(yùn)算結(jié)果,data為T(mén)MR處理器最后輸出的結(jié)果.從仿真波形可以看出,3個(gè)處理器同時(shí)運(yùn)行相同的程序,經(jīng)過(guò)數(shù)據(jù)交換和比較后,向容錯(cuò)電路發(fā)送正常信號(hào),SA、SB、SC均為低電平時(shí)表示相應(yīng)的處理器處于正常工作狀態(tài).容錯(cuò)電路經(jīng)過(guò)仲裁控制輸出選通.當(dāng)3個(gè)處理器都正常運(yùn)行時(shí),默認(rèn)CPU_A為當(dāng)班機(jī).系統(tǒng)最后輸出的數(shù)據(jù)data為CPU_A的輸出數(shù)據(jù)vdata(0).圖6所示為EDA環(huán)境下TMR容錯(cuò)處理器的仿真結(jié)果.

      圖5 3個(gè)處理器正常運(yùn)行時(shí)的仿真結(jié)果Fig.5 Result of simulation when 3 processors run normally

      2.2 TMR處理器故障注入時(shí)的仿真結(jié)果

      為了驗(yàn)證處理器系統(tǒng)對(duì)錯(cuò)誤的診斷和屏蔽能力,試驗(yàn)中模擬了處理器系統(tǒng)因存儲(chǔ)區(qū)域被單粒子擊中造成的翻轉(zhuǎn)而發(fā)生的程序計(jì)算結(jié)果錯(cuò)誤,并驗(yàn)證了在這種故障模式下處理器和容錯(cuò)電路的功能.

      如圖7所示,對(duì)CPU_A進(jìn)行故障注入,假定其運(yùn)算結(jié)果在某一時(shí)刻出現(xiàn)錯(cuò)誤.由仿真波形可以看出,通過(guò)數(shù)據(jù)交換和比較,檢測(cè)到處理器CPU_A中的錯(cuò)誤,CPU_A的正常信號(hào)為“1”(該信號(hào)低有效),容錯(cuò)電路經(jīng)過(guò)仲裁,將當(dāng)班機(jī)切換至CPU_B,輸出數(shù)據(jù)為vdata(1),同時(shí)清看門(mén)狗.系統(tǒng)最后輸出數(shù)據(jù)data為CPU_B的輸出數(shù)據(jù)vdata(1).

      同樣,繼續(xù)對(duì)CPU_B進(jìn)行故障注入,從仿真波形可以看出當(dāng)CPU_B出錯(cuò)時(shí),CPU_B的正常信號(hào)為“1”(該信號(hào)低有效).根據(jù)單向切換的原則,盡管CPU_A在當(dāng)前時(shí)刻的輸出正確,其正常信號(hào)仍為“1”(該信號(hào)低有效),仲裁電路將當(dāng)班機(jī)切換至CPU_C,輸出數(shù)據(jù)為 vdata(2),清看門(mén)狗(如圖8所示).

      當(dāng)3個(gè)處理器都不正常時(shí),系統(tǒng)強(qiáng)制CPU_C當(dāng)班,輸出數(shù)據(jù)為vdata(2).如果當(dāng)班機(jī)CPU_C不清看門(mén)狗,最后,狗咬復(fù)位信號(hào)lreset被觸發(fā),3個(gè)處理器同時(shí)復(fù)位,重新運(yùn)行初始化程序(如圖9、圖10所示).

      2.3 TMR處理器演示驗(yàn)證系統(tǒng)

      TMR處理器原型基于Virtex IV 2000萬(wàn)門(mén)FPGA實(shí)現(xiàn),最終完成綜合、調(diào)試后的TMR容錯(cuò)處理器演示驗(yàn)證系統(tǒng)如圖11所示.系統(tǒng)的核心功能(包括3個(gè)處理器和容錯(cuò)電路等)都集中在FPGA中實(shí)現(xiàn).FPGA通過(guò)JTAG線(xiàn)纜與PC機(jī)連接.本設(shè)計(jì)的對(duì)外接口與單處理器系統(tǒng)相同,因此可通過(guò)Gaisler公司的調(diào)試工具GRMON在PC機(jī)上實(shí)現(xiàn)軟件的加載、調(diào)試.以矩陣乘法運(yùn)算程序作為測(cè)試用例,如圖12所示,測(cè)試程序可以正常運(yùn)行.該試驗(yàn)驗(yàn)證了本設(shè)計(jì)可以完成預(yù)定的處理功能.

      本系統(tǒng)采用50MHz的晶振,通過(guò)數(shù)字時(shí)鐘管理模塊(DCM)處理后,系統(tǒng)實(shí)際時(shí)鐘仍為50MHz.在該時(shí)鐘頻率下,系統(tǒng)的最大工作頻率為70.4MHz,與單處理器系統(tǒng)相比性能下降了9%左右.根據(jù)布局布線(xiàn)后的結(jié)果,本設(shè)計(jì)占用的FPGA資源約為單處理器系統(tǒng)的302%.

      3 結(jié)論

      本文提出了一種用FPGA實(shí)現(xiàn)的基于軟件表決和硬件仲裁相結(jié)合的容錯(cuò)處理器的軟硬件設(shè)計(jì)方案,然后對(duì)這種容錯(cuò)設(shè)計(jì)方案進(jìn)行了原型實(shí)現(xiàn)和驗(yàn)證.試驗(yàn)結(jié)果表明,該設(shè)計(jì)可以屏蔽瞬時(shí)故障,任意一個(gè)處理器故障或兩個(gè)處理器故障時(shí)不影響正常當(dāng)班機(jī)的輸出,系統(tǒng)具備自主切換當(dāng)班機(jī)的能力.

      [1] Wayne W,Ahmed A J,Grant M.Multiprocessor system-on-chip(MPSOC)technology[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2008,27(10):1701-1713

      [2] Karlsson J,Liden P,Dahlgren P,et al.Using heavyion radiation to validate fault-handling mechanisms[J].IEEE Micro,1994,14(1):8-23

      [3] Mukherjee S.Architecture design for soft errors[M].San Francisco,CA,USA:Morgan Kaufmann Publishers Inc.,2008

      [4] Mukherjee S S,Emer J,Reinhardt S K.The soft error problem:an architectural perspective[C].The 11thInternational Symposium on High-Performance Computer Architecture,San Francisco,CA,USA,F(xiàn)eb 2005

      [5] Jiri G,Sandi H.GRLIB IP library user’s manual[M].Sweden:Gaisler Research,2010

      [6] Xin M,Qiu Q.Research on precise synchronization for TMR fault-tolerant embedded computer[C].The 1stInternational Conference on Multimedia Information Networking and Security,Wuhan,China,Nov 2009

      [7] Tomohiro Y,Takashi S,Yoshihiro T.Interrupt handling in the loosely synchronized TMR system[C].The 44thAsilomar Conference on Signals,Systems and Computers,Pacific Grove,USA,Nov 2007

      [8] Mahyar R,Malekpour.A byzantine-fault tolerant selfstabilizing protocol for distributed clock synchronization systems[R].Dallas,TX,United States,NASA Report NASA TM-2006-214322,Nov 2006

      猜你喜歡
      看門(mén)狗班機(jī)仲裁
      把他叫醒
      一種多通道共享讀寫(xiě)SDRAM的仲裁方法
      電子制作(2018年19期)2018-11-14 02:36:44
      ICSID仲裁中的有效解釋原則:溯源、適用及其略比
      一種采用FPGA實(shí)現(xiàn)的通用看門(mén)狗電路
      大眾科技(2015年11期)2015-11-24 01:57:16
      把它叫醒
      兩岸四地間相互執(zhí)行仲裁裁決:過(guò)去、現(xiàn)在及將來(lái)(上)
      仲裁研究(2015年4期)2015-04-17 02:56:33
      把它叫醒
      吉木萨尔县| 临洮县| 丹凤县| 阿克苏市| 普宁市| 托克托县| 芜湖县| 砀山县| 桐城市| 赣州市| 德兴市| 蒙自县| 阿拉善左旗| 精河县| 嘉禾县| 宣化县| 莱西市| 肇州县| 大悟县| 商都县| 卢龙县| 鸡泽县| 大竹县| 保山市| 永平县| 修水县| 伊宁市| 上饶县| 宜君县| 文昌市| 永德县| 北川| 丰镇市| 什邡市| 武山县| 天水市| 农安县| 岑巩县| 桂东县| 郎溪县| 武陟县|