支持局部永久故障恢復的多核處理器芯片可重構(gòu)系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于屬于計算機技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]局部永久故障導致多核處理器芯片功能失效,軟件恢復方法難以修復故障區(qū)域硬件電路,往往浪費大量的冗余資源進行故障迀移。可重構(gòu)多核處理器利用片上可重構(gòu)資源,在故障區(qū)域約束條件下通過硬件演化,以最小計算代價和資源開銷重構(gòu)與故障區(qū)域功能等效的硬件電路,實現(xiàn)多核處理器局部永久故障的片上恢復,可滿足環(huán)境苛刻、高可靠性要求的惡劣環(huán)境計算、工業(yè)控制、移動計算領(lǐng)域的需求,有效提升處理器的可靠性,延長多核處理器的使用壽命。
[0003]多核處理器硬件故障恢復是并行體系結(jié)構(gòu)、容錯計算、系統(tǒng)可靠性設(shè)計等領(lǐng)域的研究熱點。但對于支持局部永久故障恢復的多核處理器芯片可重構(gòu),已提出的基于軟件和硬件恢復的技術(shù)方法性能和可靠性難以滿足實際需求,還不能真正有效解決多核處理器的故障修復問題,缺少高可用性的支持局部永久故障恢復的多核處理器芯片可重構(gòu)方法。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是為了解決現(xiàn)有多核處理器芯片的局部故障恢復存在可用性差的問題,本發(fā)明提供一種支持局部永久故障恢復的多核處理器芯片可重構(gòu)系統(tǒng)。
[0005]本發(fā)明的支持局部永久故障恢復的多核處理器芯片可重構(gòu)系統(tǒng),所述系統(tǒng)包括故障檢測模塊、故障定位模塊和故障恢復模塊;
[0006]故障檢測模塊,用于確定多核處理器中發(fā)生局部永久故障的故障核,并對該核進行隔離;
[0007]故障定位模塊,采用回讀方法,從故障核的配置存儲器中讀取隔離的臨時配置文件,與故障核的全局配置文件進行差異比對,并根據(jù)配置文件碼流與故障核的資源映射關(guān)系獲取故障的位置、地址和類型信息,實現(xiàn)對故障點的定位;通過對故障點的定位分析,確定重構(gòu)布線的約束條件和需要重構(gòu)的最小電路模塊;
[0008]故障恢復模塊,用于避開故障點所在位置,采用硬件演化算法生成與需要重構(gòu)的最小電路模塊功能一致的等效模塊,獲得新的配置碼流,基于局部重配置方法將配置文件的差異碼流重新下載,實現(xiàn)對故障核的重構(gòu),恢復其正常功能,完成多核處理器芯片的局部永久故障恢復。
[0009]所述故障檢測模塊包括校驗器和多核處理器瞬時故障恢復系統(tǒng);
[0010]校驗器,用于根據(jù)多核處理器每個核的運算結(jié)果,輸出診斷故障發(fā)生在哪一個核上,確定故障核;
[0011 ]所述多核處理器以鎖步模式運行程序;
[0012]多核處理器故障恢復系統(tǒng),用于對故障核進行瞬時故障恢復,當恢復不成功,則對該故障核進行隔離,進行局部永久故障恢復。
[0013]所述故障定位模塊包括外部微控制器、故障定位器、配置文件存儲器和配置數(shù)據(jù)總線;
[0014]外部微控制器,用于控制回讀操作,從故障核的配置文件寄存器中讀取隔離的臨時配置文件;
[0015]故障定位器,用于將故障核的臨時配置文件與全局配置文件進行差異比對,并根據(jù)配置文件碼流與故障核的資源映射關(guān)系獲取故障的位置、地址和類型信息;通過對故障點的定位分析,確定重構(gòu)布線的約束條件和需要重構(gòu)的最小電路模塊;
[0016]配置文件存儲器,用于存儲故障核的全局配置文件和局部配置文件;
[0017]配置數(shù)據(jù)總線,用于讀寫內(nèi)部配置寄存器。
[0018]所述故障恢復模塊包括故障恢復器、功能單元庫、期間特征庫和技術(shù)庫和參數(shù)庫;
[0019]功能單元庫,用于識別資源使用量和各個功能單元的特征;
[0020]器件特征庫,用于存儲確定的重構(gòu)布線的約束條件和需要重構(gòu)的最小電路模塊;
[0021]技術(shù)特征庫,用于存儲硬件演化算法中的功能模型;
[0022]參數(shù)庫,用于存儲硬件演化算法中的參數(shù);
[0023]故障恢復器,用于避開故障點所在位置,采用硬件演化算法生成與需要重構(gòu)的最小電路模塊功能一致的等效模塊,獲得新的配置碼流,基于局部重配置方法將配置文件的差異碼流重新下載,注入故障核的配置文件寄存器器中,實現(xiàn)對故障核的重構(gòu),恢復其正常功能,完成多核處理器芯片的局部永久故障恢復。
[0024]一種支持局部永久故障恢復的多核處理器芯片可重構(gòu)方法,所述方法包括如下步驟:
[0025]步驟1:四個處理器核以鎖步模式運行程序,當校驗器發(fā)現(xiàn)比對結(jié)果不匹配時,認為檢測到故障發(fā)生,通過校驗器輸出診斷故障發(fā)生在哪一個核上,確定故障核;
[0026]步驟2:首先對故障核進行瞬時故障恢復;若恢復不成功,轉(zhuǎn)步驟3;
[0027]步驟3:將故障核進行隔離,其余三個核工作在TMR模式下,可保障在故障修復期內(nèi)處理器扔具有較高的可靠性;
[0028]步驟4:采用回讀方法,從可重構(gòu)硬件的配置存儲器中讀取隔離的故障核的配置文件,與初始配置文件進行差異比對,并根據(jù)配置文件碼流與可重構(gòu)硬件的資源映射關(guān)系獲取故障的位置、地址和類型信息,實現(xiàn)對故障點的定位;
[0029]步驟5:根據(jù)故障點的定位分析,確定重構(gòu)布線的約束條件和需要重構(gòu)的最小電路模塊,將其存儲到器件特征庫中;
[0030]步驟6:采用硬件演化算法生成與需要重構(gòu)的最小電路模塊功能一直的等效模塊,從而生成新的配置碼流;
[0031]步驟7:將新的配置碼流重新下載,存入配置文件存儲器中,再注入到故障核的配置文件寄存器中,實現(xiàn)對故障核的重構(gòu),實現(xiàn)其正常功能。
[0032]所述步驟6中,硬件演化算法包括如下步驟:
[0033]步驟一:確定布局評價方法;
[0034]步驟二:確定算法中的各個參數(shù):編碼串長度、群體規(guī)模、交叉概率、變異概率和自適應度函數(shù);并將各個參數(shù)存入?yún)?shù)庫;
[0035]步驟三:確定功能模型,將其存入技術(shù)特征庫;
[0036]步驟四:在重構(gòu)布線的約束條件下,對需要重構(gòu)的最小電路模塊進行布局,產(chǎn)生初始布局種群;
[0037]步驟五:計算現(xiàn)有種群的適應度,若滿足退出條件,則算法結(jié)束,否則,轉(zhuǎn)步驟六;
[0038]步驟六:通過適應度選擇種群中適應度高的個體;
[0039]步驟七:使用賭輪盤法選取適應度較高的個體以相應概率進行交叉和變異操作,
轉(zhuǎn)步驟五。
[0040]本發(fā)明的有益效果在于,實現(xiàn)了多核處理器芯片的局部永久故障的檢測,多核處理器芯片的局部永久故障的定位,多核處理器芯片的局部永久故障的恢復,提高了高可用性。
【附圖說明】
[0041]圖1為【具體實施方式】中可重構(gòu)系統(tǒng)的原理示意圖。
【具體實施方式】
[0042]【具體實施方式】一:結(jié)合圖1說明本實施方式,本實施方式所述的支持局部永久故障恢復的多核處理器芯片可重構(gòu)系統(tǒng),所述系統(tǒng)包括故障檢測模塊、故障定位模塊和故障恢復模塊;
[0043]故障檢測模塊,用于確定多核處理器中發(fā)生局部永久故障的故障核,并對該核進行隔離;
[0044]故障定位模塊,采用回讀方法,從故障核的配置存儲器中讀取隔離的臨時配置文件,與故障核的全局配置文件進行差異比對,并根據(jù)配置文件碼流與故障核的資源映射關(guān)系獲取故障的位置、地址和類型信息,實現(xiàn)對故障點的定位;通過對故障點的定位分析,確定重構(gòu)布線的約束條件和需要重構(gòu)的最小電路模塊;
[0045]故障恢復模塊,用于避開故障點所在位置,采用硬件演化算法生成與需要重構(gòu)的最小電路模塊功能一致的等效模塊,獲得新的配置碼流,基于局部重配置方法將配置文件的差異碼流重新下載,實現(xiàn)對故障核的重構(gòu),恢復其正常功能,完成多核處理器芯片的局部永久故障恢復。
[0046]本【具體實施方式】以四核處理器芯片為例說明,提供的局部永久故障可重構(gòu)方法,在處理器核中添加故障檢測模塊,通過配置總線連接故障定位模塊和故障恢復模塊,利用最小代價的冗余硬件邏輯細粒度重構(gòu)發(fā)生局部永久故障的處理器,并在故障恢復期內(nèi)保障多核處理器扔具有較高可靠性,實現(xiàn)片上可重構(gòu)處理器的局部永久故障的定位、隔離與恢復。
[0047]所述故障檢測模塊包括校驗器和多核處理器瞬時故障恢復系統(tǒng),原理如圖1中所示;
[0048]所述四個處理器核以鎖步模式運行程序;
[0049]校驗器,用于根據(jù)四核處理器每個核的運算結(jié)果,輸出診斷故障發(fā)生在哪一個核上,確定故障核;
[0050]多核處理器故障恢復系統(tǒng),用于對故障核進行瞬時故障恢復,當恢復不成功,則對該故障核進行隔離,進行局部永久故障恢復。
[0051]所述故障定位模塊包括外部微控制器、故障定位器、配置文件存儲器和配置數(shù)據(jù)總線;原理如圖1所示。
[0052]外部微控制器,用于控制回讀操作,利用交互接口從故障核的配置文件寄存器中讀取隔離的臨時配置文件;
[0053]故障定位器,用于將故障核的臨時配置文件與全局配置文件進行差異比對,并根據(jù)配置文件碼流與故障核的資源映射關(guān)系獲取故障的位置、地址和類型信息;通過對故障點的定位分析,確定重構(gòu)布線的約束條件和需要重構(gòu)的最小電路模塊;
[0054]配置文件存儲器,用于存儲故障核的全局配置文件和局部配置文件;
[0055]配置數(shù)據(jù)總線,用于讀寫內(nèi)部配置寄存器,從而實現(xiàn)故障核的配置數(shù)據(jù)回讀和部分重構(gòu)等功能;
[0056]配置文件寄存器,位于故障核內(nèi)部,用于存儲故障核的臨時配置文件;
[0057]所述故障恢復模塊包括故障恢復器、功能單元庫、期間特征庫和技術(shù)庫和參數(shù)庫;
[0058]功能單元庫,用于識別資源使用量和各個功能單元的特征;
[0059]器件特征庫,存儲對故障核特征的描述,用于存儲確定的重構(gòu)布線的約束條件和需要重構(gòu)的最小電路模塊;
[0060]技術(shù)特征庫,用于存儲硬件演化算法中的功能模型;
[0061 ]參數(shù)庫,用于存儲硬件演化算法中的參數(shù);
[0062]故障恢復器,用于避開故障點所在位置,采用硬件演化算法生成與需要重構(gòu)的最小電路模塊功能一致的等效模塊,獲得新的配置碼流,基于局部重配置方法將配置文件的差異碼流重新下載,實現(xiàn)對故障核的重構(gòu),恢復其正常功能,完成多核