一种适用于处理器系统单粒子软错误脆弱点识别方法

文档序号:6521957阅读:267来源:国知局
一种适用于处理器系统单粒子软错误脆弱点识别方法
【专利摘要】一种适用于处理器系统单粒子软错误脆弱点识别方法,基于单粒子软错误的防护设计对系统性能和资源的影响,建立脆弱点识别模型分析防护的重要性功能模块。通过编译指令的工作原理,从设计的代码级划分元电路节点(完成预编译代码或者指令序列的特定功能/子功能模块),由编译映射关系从指令级提取元电路节点脆弱性因素,进行等级论域划分,最终利用灰度系统理论对元电路节点的脆弱因素等级划分的不确定区间(灰度区间)进行可信度评估,并按照等级可信度排序得到计算结果。本发明可为处理器系统提供简便的脆弱性分析方法,实现可靠性的前提下减少系统代价和性能损失、提高系统防护效果的目的。
【专利说明】 一种适用于处理器系统单粒子软错误脆弱点识别方法
【技术领域】
[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日
【发明者】高翔, 周国昌, 赖晓玲, 朱启, 巨艇, 贾亮, 杨玉辰 申请人:西安空间无线电技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1