一種適用于處理器系統單粒子軟錯誤脆弱點識別方法
【專利摘要】一種適用于處理器系統單粒子軟錯誤脆弱點識別方法,基于單粒子軟錯誤的防護設計對系統性能和資源的影響,建立脆弱點識別模型分析防護的重要性功能模塊。通過編譯指令的工作原理,從設計的代碼級劃分元電路節點(完成預編譯代碼或者指令序列的特定功能/子功能模塊),由編譯映射關系從指令級提取元電路節點脆弱性因素,進行等級論域劃分,最終利用灰度系統理論對元電路節點的脆弱因素等級劃分的不確定區間(灰度區間)進行可信度評估,并按照等級可信度排序得到計算結果。本發明可為處理器系統提供簡便的脆弱性分析方法,實現可靠性的前提下減少系統代價和性能損失、提高系統防護效果的目的。
【專利說明】 一種適用于處理器系統單粒子軟錯誤脆弱點識別方法
【技術領域】
[0001]本發明涉及一種適用于處理器系統單粒子軟錯誤脆弱點識別方法,屬于系統抗單粒子效應容錯【技術領域】。
【背景技術】
[0002]在空間應用中,處理器系統在高速數傳、信號通信、導航處理等數據信息處理領域得到廣泛應用,然而采用單粒子防護措施的系統設計將犧牲系統性能和資源,抑制系統性能的有效發揮。因此,在資源開銷和性能需求相背離的前提下,脆弱點識別建模方法將為處理器系統建立有效地單粒子軟錯誤防護的方案設計提供指導,實現處理器系統的高可靠性設計。
[0003]當前的相關技術主要側重于基于軟件系統架構的故障測試程序設計與
[0004]測試算法的建模設計的研究。第一種故障測試程序設計是利用故障注入模擬完成脆弱點識別分析,因此該類技術對系統的功能結構特點的把握和故障測試的覆蓋性要求高。當面臨結構復雜的系統設計時,該類技術應用難度較大、實現復雜度較高。第二種測試算法的建模設計是分析程序設計中存在的漏洞,在程序中間的代碼區采用加載動態測試程序方法完成軟件脆弱點分析,因此該類技術需要研究不同的設計代碼風格并進行單獨調試,技術實施難度較大。當面臨復雜結構設計時,存在應用范圍和通用性較弱的缺點。
【發明內容】
[0005]本發明的技術解決問題是:克服現有技術的不足,提供一種適用于處理器系統單粒子軟錯誤脆弱點識別方法,本方法可為處理器系統提供簡便的脆弱性分析方法,實現可靠性的前提下減少系統代價和性能損失、提高系統防護效果的目的。
[0006]本發明的技術解決方案是:
[0007]—種適用于處理器系統單粒子軟錯誤脆弱點識別方法包括如下三個階段:
[0008]階段1:元電路節點劃分:根據系統的功能設計架構,分析代碼的結構,借助預編譯代碼的函數段與通過編譯器完成的指令序列集合映射關系,完成元電路節點的劃分;所述的元電路是完成預編譯代碼或者指令序列的特定功能或子功能模塊;
[0009]階段2:信號傳播網絡圖的構建;利用階段I劃分的元電路節點構建以元電路節點為單元模塊的系統信號傳播網絡圖,包括系統函數名列表建立和利用元電路節點層級劃分關系搜索函數名列表進而構建信號傳播網絡圖;
[0010]階段3:基于灰度系統理論進行脆弱點識別;根據階段2所述的信號傳播網絡圖,制定脆弱性評估等級賦值劃分原則,并從匯編指令集中確定元電路節點脆弱性因素,建立灰度評估模型實現元電路節點的脆弱性因素等級賦值綜合評定,從而識別脆弱點;
[0011]所述的三個階段的具體步驟如下:
[0012](I)由編譯器導入預編譯的系統源代碼,并由編譯器生成匯編指令集,完成系統代碼段與匯編指令集的相互映射;[0013](2)確定以系統代碼中函數為元電路節點的劃分方法,所述的元電路節點劃分方法如下:
[0014](a)確定系統主函數,定義為系統的頂層元電路節點;
[0015](b)確定主函數中調用的非嵌套子函數和主函數的第一級嵌套子函數,定義為第二層元電路節點;
[0016](c)確定主函數中的第二級嵌套子函數以及第二層元電路節點函數的嵌套子函數,并將第二級嵌套子函數和第二層元電路節點函數的嵌套子函數定義為第三層元電路節占.
[0017](d)依次在同一層的各元電路節點中搜尋嵌套子函數,確定為屬于同層級的下一層級元電路節點;
[0018](3)利用步驟(2)制定的元電路節點的劃分方法,完成系統中所有元電路節點的層級劃分;
[0019](4)根據系統代碼各層函數的定義和元電路節點層級劃分,將各層函數名定義為各層級元電路節點名,進而構成元電路節點名列表;
[0020](5)利用步驟(4)中建立的元電路節點名列表,完成元電路節點與上層元電路節點的歸屬對應關系;
[0021](6)構建信號傳播網絡圖,所述信號傳播網絡圖的構建方法如下:
[0022](a)確定元電路節點的輸入和輸出信號變量名和端口數量;
[0023](b)根據步驟(5)的元電路節點與上層元電路節點的歸屬對應關系,在同層級中由輸入輸出端口名確定各元電路節點的信號傳遞關系,建立元電路節點的信號傳播網絡圖;
[0024](7)制定元電路節點脆弱性劃分等級規則,將脆弱性劃分為m個等級,其中m=3,等級定義為:L={低、中、高} = {L1,L2,L3};
[0025](8)確定元電路節點脆弱性因素Ri的等級初評賦值,其中i=l,2,3 ;
[0026](9)建立灰度評估模型,所述的灰度評估模型構建方法如下:
[0027](a)利用步驟(8)中的元電路節點脆弱性因素Ri的等級初評賦值,建立元電路節點的脆弱性因素Ri的η個樣本等級區間初評矩陣為:
[0028]
【權利要求】
1.一種適用于處理器系統單粒子軟錯誤脆弱點識別方法,其特征在于包括如下三個階段: 階段1:元電路節點劃分:根據系統的功能設計架構,分析代碼的結構,借助預編譯代碼的函數段與通過編譯器完成的指令序列集合映射關系,完成元電路節點的劃分;所述的元電路是完成預編譯代碼或者指令序列的特定功能或子功能模塊; 階段2:信號傳播網絡圖的構建;利用階段I劃分的元電路節點構建以元電路節點為單元模塊的系統信號傳播網絡圖,包括系統函數名列表建立和利用元電路節點層級劃分關系搜索函數名列表進而構建信號傳播網絡圖; 階段3:基于灰度系統理論進行脆弱點識別;根據階段2所述的信號傳播網絡圖,制定脆弱性評估等級賦值劃分原則,并從匯編指令集中確定元電路節點脆弱性因素,建立灰度評估模型實現元電路節點的脆弱性因素等級賦值綜合評定,從而識別脆弱點; 所述的三個階段的具體步驟如下: (O由編譯器導入預編譯的系統源代碼,并由編譯器生成匯編指令集,完成系統代碼段與匯編指令集的相互映射; (2)確定以系統代碼中函數為元電路節點的劃分方法,所述的元電路節點劃分方法如下: (a)確定系統主函數,定義為系統的頂層元電路節點; (b)確定主函數中調用的非嵌套子函數和主函數的第一級嵌套子函數,定義為第二層元電路節點;` (C)確定主函數中的第二級嵌套子函數以及第二層元電路節點函數的嵌套子函數,并將第二級嵌套子函數和第二層元電路節點函數的嵌套子函數定義為第三層元電路節點; (d)依次在同一層的各元電路節點中搜尋嵌套子函數,確定為屬于同層級的下一層級元電路節點; (3)利用步驟(2)制定的元電路節點的劃分方法,完成系統中所有元電路節點的層級劃分; (4)根據系統代碼各層函數的定義和元電路節點層級劃分,將各層函數名定義為各層級元電路節點名,進而構成元電路節點名列表; (5 )利用步驟(4 )中建立的元電路節點名列表,完成元電路節點與上層元電路節點的歸屬對應關系; (6)構建信號傳播網絡圖,所述信號傳播網絡圖的構建方法如下: Ca)確定元電路節點的輸入和輸出信號變量名和端口數量; (b)根據步驟(5)的元電路節點與上層元電路節點的歸屬對應關系,在同層級中由輸入輸出端口名確定各元電路節點的信號傳遞關系,建立元電路節點的信號傳播網絡圖; (7)制定元電路節點脆弱性劃分等級規則,將脆弱性劃分為m個等級,其中m=3,等級定義為:L={低、中、高} = {L1,L2,L3}; (8)確定元電路節點脆弱性因素Ri的等級初評賦值,其中i=l,2,3; (9)建立灰度評估模型,所述的灰度評估模型構建方法如下: (a)利用步驟(8)中的元電路節點脆弱性因素Ri的等級初評賦值,建立元電路節點的脆弱性因素Ri的η個樣本等級區間初評矩陣為:
2.根據權利要求1所述的一種適用于處理器系統單粒子軟錯誤脆弱點識別方法,其特征在于:所述步驟(8)中的元電路節點脆弱性因素Ri的等級初評賦值為: (a)定義脆弱性因素R1(j)為元電路節點j指令集在同屬等級的元電路節點指令集中的比例,其中j表示第j個元電路節點,j=l,2…N,N為系統元電路節點數,根據步驟(7)中的等級劃分規則將R1 (j)等級賦值為:
3.根據權利要求1所述的一種適用于處理器系統單粒子軟錯誤脆弱點識別方法,其特征在于:所述步驟(9)中的采樣概率服從隨機正態分布
【文檔編號】G06F11/36GK103678123SQ201310637395
【公開日】2014年3月26日 申請日期:2013年11月29日 優先權日:2013年11月29日
【發明者】高翔, 周國昌, 賴曉玲, 朱啟, 巨艇, 賈亮, 楊玉辰 申請人:西安空間無線電技術研究所