亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于周期粒度的雙冗余流水線級間寄存器備份裝置及方法與流程

文檔序號:11250744閱讀:1140來源:國知局
基于周期粒度的雙冗余流水線級間寄存器備份裝置及方法與流程

本發(fā)明涉及一種微處理器流水線錯誤的檢測與恢復(fù)裝置,尤其涉及一種sparcv8處理器中流水線錯誤的檢測與恢復(fù)裝置。本發(fā)明還涉及一種sparcv8處理器中流水線中數(shù)據(jù)翻轉(zhuǎn)錯誤的屏蔽方法。



背景技術(shù):

單粒子翻轉(zhuǎn)(singleeventupset,seu)是在空間應(yīng)用環(huán)境下,由于單粒子入射導(dǎo)致集成電路中存儲單元發(fā)生數(shù)據(jù)翻轉(zhuǎn)錯誤的事件,是空間環(huán)境下電子系統(tǒng)發(fā)生故障和工作異常的重要誘因之一。隨著半導(dǎo)體工藝技術(shù)的快速發(fā)展,芯片的尺寸在不斷減小,處理器工作頻率不斷提高,節(jié)點工作電壓的降低使得單粒子翻轉(zhuǎn)現(xiàn)象越來越嚴重。單粒子轟擊流水線的組合邏輯部分,導(dǎo)致信號發(fā)生擾動,有可能會被級間寄存器鎖存發(fā)生set故障,導(dǎo)致流水線出現(xiàn)錯誤。單粒子轟擊級間寄存器,使其寄存的內(nèi)容發(fā)生翻轉(zhuǎn),導(dǎo)致seu和mbu故障。研究指出,在納米級芯片中,單粒子翻轉(zhuǎn)導(dǎo)致的多位數(shù)據(jù)翻轉(zhuǎn)(mbu)概率也在迅速提高,會導(dǎo)致最多8位隨機數(shù)據(jù)翻轉(zhuǎn)錯誤,對空間應(yīng)用的電子系統(tǒng)產(chǎn)生更大的危害。在微處理器及電子系統(tǒng)中采取加固措施對單粒子故障進行容錯設(shè)計已成為重要的技術(shù)手段。

作為現(xiàn)代微處理器的重要組成部分,流水線主要完成程序代碼的指令流執(zhí)行,并將執(zhí)行結(jié)果寫入數(shù)據(jù)存儲和寄存器堆。如果單粒子轟擊流水線導(dǎo)致級間寄存器發(fā)生翻轉(zhuǎn)引發(fā)的錯誤數(shù)據(jù)被鎖存,就會導(dǎo)致流水線執(zhí)行結(jié)果不正確,在沒有對流水線單元進行容錯加固的情況下,錯誤的執(zhí)行結(jié)果將會擴散到數(shù)據(jù)存儲和寄存器堆或者執(zhí)行錯誤的指令流,進而導(dǎo)致更多不可控的錯誤產(chǎn)生。因此,對于空間應(yīng)用的高可靠微處理器而言,進行流水線單元的容錯設(shè)計具有重要的意義。

現(xiàn)有對空間微處理器的加固技術(shù)有以下三種方案:采用基于時間的容錯方法,能有效解決mbu問題,但是處理器性能大大降低;采用基于編碼的容錯方法,只能有效的驗證計算部分的正確性,并且不同的編碼方式針對不同的單粒子故障不能全部處理,容錯能力有限;采用基于硬件冗余的方案,寄存器級三模冗余時,無法應(yīng)對mbu故障;流水線級三模冗余,雖然可以定位出故障流水線,但是硬件資源功耗等開銷較大;流水線級雙模冗余可以應(yīng)對mbu故障,但是無法定位,起不到屏蔽故障的作用,每次都進行流水線回退會顯著增加流水線性能開銷,尤其是在單粒子故障日益常見的情況下會導(dǎo)致整體處理速度明顯降低。自修復(fù)雙冗余流水線(self-recoverydualpipeline,srdp)在雙冗余流水線的基礎(chǔ)上,通過比較邏輯檢測故障,自校驗邏輯定位故障,實現(xiàn)對set、seu、mbu故障導(dǎo)致的錯誤進行恢復(fù),雖然srdp對單粒子故障有很好的容錯效果,但比較邏輯與功能邏輯的串行、自校驗的編碼邏輯以及復(fù)雜的流水線恢復(fù)操作導(dǎo)致處理器的主頻下降幅度很大??傊F(xiàn)有技術(shù)無法實現(xiàn)一個以低面積、低性能開銷并并有效應(yīng)對seu、set和mbu故障的cpu加固方案。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于設(shè)計一種基于周期粒度的雙冗余流水線級間寄存器備份裝置及方法,能夠從系統(tǒng)結(jié)構(gòu)上有效的屏蔽單粒子瞬變(set)、單粒子翻轉(zhuǎn)(seu)、多位數(shù)據(jù)翻轉(zhuǎn)(mbu)導(dǎo)致的故障,并減少邏輯延遲,提高工作速度。

為實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案為:

一種基于周期粒度的雙冗余流水線級間寄存器備份裝置,其特征在于:所述基于周期粒度的雙冗余流水線級間寄存器備份裝置包括功能邏輯a、功能邏輯b、級間寄存器a、級間寄存器b、比較邏輯、備份寄存器、多路選擇a和多路選擇b;所述功能邏輯a是流水級的功能邏輯執(zhí)行主體,根據(jù)級間寄存器a中的信息執(zhí)行流水級功能后,給出下一流水級需要寄存到級間寄存器的信息;所述功能邏輯b是流水級的功能邏輯執(zhí)行主體,根據(jù)級間寄存器b中的信息執(zhí)行流水級功能后,給出下一流水級需要寄存到級間寄存器的信息;所述級間寄存器a用于寄存前一個流水級功能邏輯給出的信息,并將寄存后的信息送入下一流水級的功能邏輯;所述級間寄存器b用于寄存前一個流水級功能邏輯給出的信息,并將寄存后的信息送入下一流水級的功能邏輯;所述比較邏輯設(shè)置在流水線a和流水線b之間,比較級間寄存器a和級間寄存器b的信息,用于檢測流水線單元的單粒子故障;所述備份寄存器用于定期寄存流水線級間寄存器的信息,在比較邏輯檢測出錯誤后,將備份寄存器的值恢復(fù)到兩條流水線級間寄存器;所述多路選擇a根據(jù)比較邏輯給出的錯誤信息,在功能邏輯a給出的值和備份寄存器的內(nèi)容之間選出級間寄存器a寄存的信息;所述多路選擇b根據(jù)比較邏輯給出的錯誤信息,在功能邏輯b給出的值和備份寄存器的內(nèi)容之間選出級間寄存器b寄存的信息。

一種基于周期粒度的雙冗余流水線級間寄存器備份方法,其特征在于:該級間寄存器備份方法用于基于周期粒度的雙冗余流水線級間寄存器備份裝置;所述基于周期粒度的雙冗余流水線級間寄存器備份裝置包括功能邏輯a、功能邏輯b、級間寄存器a、級間寄存器b、比較邏輯、備份寄存器、多路選擇a和多路選擇b;所述級間寄存器備份方法采用如下步驟和方法對單粒子導(dǎo)致的set、seu、mbu故障進行容錯:

(1)指令執(zhí)行時,流水線單元向指令緩存器輸出指令地址及控制信息,從指令緩存中取出指令,分發(fā)給兩條流水線并行執(zhí)行;每個周期內(nèi),兩條流水線五個流水級的功能邏輯根據(jù)上一流水級級間寄存器的信息進行操作,給出下一流水級功能邏輯需要的信息;此時,級間寄存器的選通信號無效,轉(zhuǎn)到步驟(2);

(2)在下一個周期上升沿到來時,將功能邏輯a給出的信息更新到級間寄存器a中,將功能邏輯b給出的信息更新到級間寄存器b中,當(dāng)前周期的級間寄存器a的信息更新到備份寄存器組;轉(zhuǎn)到步驟(3);

(3)在功能邏輯a和功能邏輯b根據(jù)級間寄存器a和級間寄存器b進行邏輯運算的同時,比較邏輯對比級間寄存器a和級間寄存器b的信息;如果比較結(jié)果均相同,則流水線正常運行,轉(zhuǎn)到步驟(1);如果比較結(jié)果出現(xiàn)不同,則說明流水線單元中的某一條流水線受到單粒子轟擊,標(biāo)識流水線故障信號有效,轉(zhuǎn)到步驟(4);

(4)流水線故障信號有效,表明當(dāng)前周期流水線單元出現(xiàn)故障;禁止流水線單元對數(shù)據(jù)緩存和寄存器堆的更新使能信號,同時,使能級間寄存器的選通信號,轉(zhuǎn)到步驟(5);

(5)在下一個周期上升沿到來時,將備份寄存器的內(nèi)容恢復(fù)到級間寄存器a和級間寄存器b中;功能邏輯a和功能邏輯b根據(jù)正確的級間寄存器a和級間寄存器b的內(nèi)容重新執(zhí)行,插入2個等待周期對流水線單元的單粒子故障容錯,轉(zhuǎn)到步驟(1)。

本發(fā)明實現(xiàn)的一種基于周期粒度的雙冗余流水線級間寄存器備份裝置及方法,在嵌入式微處理器中將級間寄存器的信息存儲到備份寄存器中,一旦比較邏輯檢測出單粒子故障,將備份寄存器中的信息恢復(fù)到兩條流水線相應(yīng)的級間寄存器中,并對流水線進行暫停,能夠屏蔽單粒子轟擊流水線單元導(dǎo)致的set、seu和mbu故障,從而可以提高微處理器在空間等惡劣環(huán)境下應(yīng)用的可靠性。

附圖說明

圖1是五級流水線結(jié)構(gòu)圖;

圖2是srdp結(jié)構(gòu)圖;

圖3是基于檢查點技術(shù)的雙冗余流水線結(jié)構(gòu)圖;

圖4是根據(jù)本發(fā)明的基于周期粒度的雙冗余流水線級間寄存器備份裝置結(jié)構(gòu)圖;

圖5是故障檢測與恢復(fù)機制結(jié)構(gòu)圖;

圖6是級間寄存器的seu/mbu故障檢測與恢復(fù)時序圖;

圖7是功能邏輯的set故障檢測與恢復(fù)時序圖;

具體實施方式

本實施例結(jié)合一種sparcv8體系結(jié)構(gòu)的嵌入式微處理器leon2對本發(fā)明的具體實施方式進行說明。該sparcv8體系結(jié)構(gòu)的嵌入式微處理器leon2采用32位的risc架構(gòu),其流水線單元為經(jīng)典的五級流水線,流水線的各個流水級與指令緩存、數(shù)據(jù)緩存和寄存器堆進行數(shù)據(jù)交互。

leon2處理器的流水線單元包括取指(if)、譯碼(id)、執(zhí)行(ex)、訪存(me)、寫回(wr)五個組合邏輯單元,以及各流水級之間設(shè)置的五組級間寄存器if、if/id、id/ex、ex/me、me/wr,其結(jié)構(gòu)如圖1所示。單粒子轟擊流水線的組合邏輯部分導(dǎo)致set故障,有可能會被級間寄存器鎖存導(dǎo)致流水線錯誤。單粒子轟擊級間寄存器,使其寄存的內(nèi)容發(fā)生翻轉(zhuǎn),導(dǎo)致seu和mbu故障。組合邏輯產(chǎn)生的關(guān)鍵信息將通過級間寄存器在流水級之間傳遞,級間寄存器中的錯誤信息使得流水線單元執(zhí)行出錯誤結(jié)果,并在me或wr段更新到數(shù)據(jù)存儲器或寄存器堆,同時,可能造成指令流的執(zhí)行順序發(fā)生錯誤。

自修復(fù)雙冗余流水線(self-recoverydualpipeline),簡稱srdp,其結(jié)構(gòu)示意圖如圖2所示。srdp基于硬件冗余的思想,對傳統(tǒng)的流水線級雙模冗余結(jié)構(gòu)進行改進,在兩條流水線之間設(shè)置比較器對流水線單元進行故障檢測,利用自校驗?zāi)K對級間寄存器進行校驗定位出故障流水線,根據(jù)比較結(jié)果和自校驗錯誤信息對流水線進行恢復(fù),實現(xiàn)對set、seu、mbu故障導(dǎo)致的錯誤進行執(zhí)行,雖然srdp對單粒子故障有很好的容錯效果,但比較邏輯與功能邏輯的串行、自校驗的編碼邏輯以及復(fù)雜的流水線恢復(fù)操作導(dǎo)致處理器的主頻下降幅度很大。

針對于srdp容錯性能的缺陷,在保證容錯效果的基礎(chǔ)上,以容錯時間開銷為代價,避免復(fù)雜的容錯邏輯導(dǎo)致處理器性能大幅度降低,提出一種基于檢查點技術(shù)的雙冗余流水線,其結(jié)構(gòu)示意圖如圖3所示,以流水線級雙模冗余為基礎(chǔ),并行執(zhí)行相同的指令流,通過比較器對比兩條流水線的級間寄存器以檢測單粒子故障。以周期粒度對級間寄存器的內(nèi)容進行備份,當(dāng)檢測到單粒子故障時,使用2個周期對流水線進行恢復(fù)。為避免臟數(shù)據(jù)流出流水線,在數(shù)據(jù)緩存和寄存器堆的入口設(shè)置寫緩沖,通過延遲寫入保證信息可靠性。

本發(fā)明針對于如何利用備份寄存器以周期粒度備份流水線的級間寄存器內(nèi)容,一旦流水線單元受到單粒子轟擊而造成流水線出現(xiàn)故障,能夠?qū)浞菁拇嫫髦械男畔⒒謴?fù)到兩條流水線的級間寄存器中,在下一個周期重新執(zhí)行上一個周期的操作,消耗兩個周期對流水線單元進行恢復(fù)。

基于上述基本原理與設(shè)置,本發(fā)明的基于周期粒度的雙冗余流水線級間寄存器備份裝置及方法的一種具體實施方式如下:

在sparcv8體系結(jié)構(gòu)的嵌入式微處理器中,將流水線單元設(shè)置成如圖4所示的基于周期粒度的雙冗余流水線級間寄存器備份裝置,主要包括功能邏輯a、功能邏輯b、級間寄存器a、級間寄存器b、比較邏輯、備份寄存器、多路選擇a和多路選擇b。

功能邏輯a是流水級的功能邏輯執(zhí)行主體,根據(jù)級間寄存器a中的信息執(zhí)行流水級功能后,給出下一流水級需要寄存到級間寄存器的信息。

功能邏輯b是流水級的功能邏輯執(zhí)行主體,根據(jù)級間寄存器b中的信息執(zhí)行流水級功能后,給出下一流水級需要寄存到級間寄存器的信息。

級間寄存器a用于寄存前一個流水級功能邏輯給出的信息,并將寄存后的信息送入下一流水級的功能邏輯。

級間寄存器b用于寄存前一個流水級功能邏輯給出的信息,并將寄存后的信息送入下一流水級的功能邏輯。

比較邏輯設(shè)置在流水線a和流水線b之間,比較級間寄存器a和級間寄存器b的信息,用于檢測流水線單元的單粒子故障。

備份寄存器用于定期寄存流水線級間寄存器的信息,在比較邏輯檢測出錯誤后,將備份寄存器的值恢復(fù)到兩條流水線級間寄存器。

多路選擇a根據(jù)比較邏輯給出的錯誤信息,在功能邏輯a給出的值和備份寄存器的內(nèi)容之間選出級間寄存器a寄存的信息

多路選擇b根據(jù)比較邏輯給出的錯誤信息,在功能邏輯b給出的值和備份寄存器的內(nèi)容之間選出級間寄存器b寄存的信息。

所述基于周期粒度的雙冗余流水線級間寄存器備份裝置采用如下步驟和方法對單粒子導(dǎo)致的故障進行容錯:

(1)指令執(zhí)行時,流水線單元向指令緩存器輸出指令地址及控制信息,從指令緩存中取出指令,分發(fā)給兩條流水線并行執(zhí)行;每個周期內(nèi),兩條流水線五個流水級的功能邏輯根據(jù)上一流水級級間寄存器的信息進行操作,給出下一流水級功能邏輯需要的信息;此時,級間寄存器的選通信號無效,轉(zhuǎn)到步驟(2);

(2)在下一個周期上升沿到來時,將功能邏輯a給出的信息更新到級間寄存器a中,將功能邏輯b給出的信息更新到級間寄存器b中,當(dāng)前周期的級間寄存器a的信息更新到備份寄存器組;轉(zhuǎn)到步驟(3);

(3)在功能邏輯a和功能邏輯b根據(jù)級間寄存器a和級間寄存器b進行邏輯運算的同時,比較邏輯對比級間寄存器a和級間寄存器b的信息;如果比較結(jié)果均相同,則流水線正常運行,轉(zhuǎn)到步驟(1);如果比較結(jié)果出現(xiàn)不同,則說明流水線單元中的某一條流水線受到單粒子轟擊,標(biāo)識流水線故障信號有效,轉(zhuǎn)到步驟(4);

(4)流水線故障信號有效,表明當(dāng)前周期流水線單元出現(xiàn)故障;禁止流水線單元對數(shù)據(jù)緩存和寄存器堆的更新使能信號,同時,使能級間寄存器的選通信號,轉(zhuǎn)到步驟(5);

(5)在下一個周期上升沿到來時,將備份寄存器的內(nèi)容恢復(fù)到級間寄存器a和級間寄存器b中;功能邏輯a和功能邏輯b根據(jù)正確的級間寄存器a和級間寄存器b的內(nèi)容重新執(zhí)行,插入2個等待周期對流水線單元的單粒子故障容錯,轉(zhuǎn)到步驟(1)。

下面詳細說明基于周期粒度的雙冗余流水線級間寄存器備份裝置及方法對單粒子故障的容錯效果。其故障檢測和恢復(fù)機制如圖5所示,級間寄存器ij為流水線i(i=a,b)的第j(j=1,2,3,4,5)級級間寄存器,功能邏輯ij為流水線i的第j級的功能邏輯,備份寄存器j為流水線第j級的備份寄存器,比較器j為流水線第j級的比較器。以流水線第2級的檢錯與恢復(fù)操作為例,當(dāng)前周期,功能邏輯a1/b1的計算結(jié)果da2/db2。第二個周期,da2/db2被鎖存到級間寄存器a2/b2中,qa2/qb2為da2/db2的鎖存結(jié)果。第三個周期,備份寄存器2對級間寄存器a2的內(nèi)容進行備份,bp2為qa2的鎖存結(jié)果。error為比較器2給出的錯誤信號,用于控制將備份寄存器的內(nèi)容恢復(fù)到級間寄存器中。由上述分析可知:時鐘clk會按周期刷新級間寄存器ij,同時,備份寄存器j對流水線a中的級間寄存器進行備份,比較器通過比較兩條流水線級間寄存器的內(nèi)容檢測單粒子故障,比較結(jié)果相同,則流水線正常流動,一旦比較結(jié)果不同,將錯誤信息error置為有效,將備份寄存器j中的值在下個周期恢復(fù)到兩條流水線的級間寄存器中重新執(zhí)行。

由圖5中可知,流水線單元有三大主要部件:級間寄存器、備份寄存器和功能邏輯。級間寄存器和備份寄存器為時序邏輯電路,容易受單粒子影響而引發(fā)seu和mbu故障。功能邏輯則是組合邏輯電路,容易被單粒子轟擊導(dǎo)致信號發(fā)生瞬變,被級間寄存器鎖存后引發(fā)set故障。由于備份寄存器受到單粒子轟擊不會影響處理器的運行,因此,只討論級間寄存器和功能邏輯發(fā)生故障后的檢錯和恢復(fù)方法:

(1)級間寄存器發(fā)生seu/mbu故障后,將采用以下三步進行檢錯與恢復(fù),其時序如圖6所示:

第一步:流水線中指令正常執(zhí)行;

第二步:備份寄存器鎖存第一步中的指令,流水線的級間寄存器被單粒子轟擊導(dǎo)致seu/mbu,通過比較級間寄存器的內(nèi)容,檢測出單粒子故障,流水線被暫停;

第三步:將第二步中備份寄存器鎖存的內(nèi)容更新到流水線級間寄存器,重新執(zhí)行第一步流水線中的指令。

(2)功能邏輯發(fā)生set故障后,將采用以下三步進行檢錯與恢復(fù),其時序如圖7所示:

第一步:流水線的功能邏輯被單粒子轟擊導(dǎo)致set,流水線中指令非正常執(zhí)行;

第二步:備份寄存器鎖存第一步中的指令,set被級間寄存器鎖存,通過比較級間寄存器的內(nèi)容,檢測出單粒子故障,流水線被暫停;

第三步:將第二步中備份寄存器鎖存的內(nèi)容更新到流水線級間寄存器,重新執(zhí)行第一步流水線中的指令。

本發(fā)明實現(xiàn)的一種基于周期粒度的雙冗余流水線級間寄存器備份裝置及方法,將流水線的級間寄存器的內(nèi)容備份到檢查點寄存器中,通過比較邏輯檢測流水線單元中的單粒子故障,利用備份寄存器中的值對流水線進行恢復(fù),從而解決了嵌入式微處理器對于單粒子導(dǎo)致的set、seu和mbu故障的容錯問題,可以提高嵌入式微處理器在空間環(huán)境下工作的可靠性。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1