一种缓解检测冲突的单粒子软错误防护设计方法技术

技术编号:24352735 阅读:44 留言:0更新日期:2020-06-03 01:55
本发明专利技术涉及一种缓解检测冲突的单粒子软错误防护设计方法:(1)将待处理程序系统划分成模块节点,确定状态跳转无向连通图;(2)设置前驱节点的对等标签存储位,根据预先设置的规则,利用对等标签区分后继节点存在的状态跳转命名冲突;(3)确定状态跳转无向连通图中的长、圈以及对应的模块节点;(4)根据圈中模块节点数目的奇偶性结合图论定义,确定产生对等标签分配互斥情况的圈,并在该圈内,任选一个节点在其与前驱模块节点之间插入与功能无关的模块节点,形成迹并得到新的状态跳转无向连通图;(5)重构状态跳转执行流图;(6)通过插入比较检测错误指令的方式进行状态跳转错误检测,对发生状态跳转故障的模块节点进行故障恢复。

A single particle soft error protection design method to alleviate detection conflicts

【技术实现步骤摘要】
一种缓解检测冲突的单粒子软错误防护设计方法
本专利技术属于系统抗单粒子软错误容错技术。
技术介绍
在空间应用中,数字信号处理器系统在高速数传、信号通信、导航处理等数据信息处理领域得到广泛应用,然而由于空间单粒子辐射效应的存在,单粒子软错误对处理器运行状态的影响,其故障形式表现为以下两类:(1)系统运行状态异常或者跑飞、死循环,此类故障称为症状型故障,当观测到故障发生时,系统已经奔溃;(2)系统结果出错,此类由于状态出错造成结果故障,称为状态错误故障,此时整个程序状态表面正常运行,但输出结果错误,进而可引起系统连锁错误指示。上述状态错误引发的系统故障由于具备随机性、隐蔽性特点,难以及时观测和恢复,但又是易发性故障,需要采用有效的故障检测方法减少故障发生的几率;同时,由于处理器程序指令模块存在多扇入和多扇出的跳转执行状态,易形成模块层次架构互斥,从而引发故障检测机制冲突,发生故障虚检和漏检情况。当前的技术多采用调整签名值方法区分多扇入情形节点容易出现检测混淆情,然而算法实现过程中,存在插入检测指令及解析签名值计算复杂性,以及检测设置的不完备性,如无法针对模块内部状态跳转检测;调整签名值格式定义的缺陷造成检测范围、检测效率降低等。因此,在当前技术在检测设计的复杂性、检测效率等方面依然有改善提升空间。
技术实现思路
本专利技术解决的技术问题是:克服现有技术的不足,提出一种提高橡胶与纤维织物粘接强度的方法。本专利技术解决技术的方案是:一种缓解检测冲突的单粒子软错误防护设计方法,通过下述方式实现:(1)将待处理程序系统划分成模块节点,构建基于模块节点的状态跳转执行流图;随后,按照模块节点中的前驱节点、后继节点划分状态跳转等级关系,并确定状态跳转无向连通图;(2)设置前驱节点的对等标签存储位,根据预先设置的规则,利用对等标签区分后继节点存在的状态跳转命名冲突;(3)根据图论定义,对步骤(1)中的状态跳转无向连通图进行分析,确定其中的长、圈以及对应的模块节点;(4)根据圈中模块节点数目的奇偶性结合图论定义,确定产生对等标签分配互斥情况的圈,并在该圈内,任选一个节点在其与前驱模块节点之间插入与功能无关的模块节点,形成迹并得到新的状态跳转无向连通图;(5)利用步骤(2)设置的前驱节点的对等标签存储位,对步骤(4)中新的状态跳转无向连通图中的后继模块节点所归属的高低位静态标签进行标注,并重构状态跳转执行流图;(6)对步骤(5)中重构的状态跳转执行流图分配静态标签,针对每个模块节点,通过插入比较检测错误指令的方式进行状态跳转错误检测,对发生状态跳转故障的模块节点进行故障恢复。优选的,所述的步骤(1)具体通过下述方式实现:(1.1)将程序中能够顺序执行的指令序列集合定义为程序指令模块,每个程序指令模块只有一个入口指令,最后一条为出口指令;根据程序指令模块的定义将待处理软件系统划分成模块节点;(1.2)根据模块节点状态跳转变化关系,构建状态跳转执行流图,定义状态跳转执行流图中的前驱节点、后继节点;(1.3)将拥有共同前驱节点的后继节点定义为同一等级,并相互连构成了状态跳转的无向连通图。优选的,步骤(1.2)中假设状态跳转执行流图的边集中存在节点vi到节点vj的边,则称vi为vj的前驱节点;如果存在节点vj到节点vk的边,则称vk为vj的后继节点。优选的,所述步骤(2)中预先设置的规则为:当前驱节点的扇出数为2时,定义前驱节点对等标签分配表T,以对等位的高N/2位Tag(h)和低N/2位Tag(l)分别标注状态跳转后继节点的静态标签,一个后继节点静态标签存储在高位,则另一个后继节点静态标签存储于低位;其中,对等标签分配表T中的高m位作为其保留位,2≤m<N/2;同时,定义m最高位为0,Tag(h)中的m位信息Tm(h)由低到高以二进制数表示为0x┅x1,Tag(l)中的m位信息Tm(l)由低到高以二进制数表示为0x┅x0;当前驱节点的扇出数为1时,只用低N/2位存储后继节点,其它高位为0;上述扇出数为状态跳转执行流图中节点的输出边数量,待处理程序系统的运行环境为N位。优选的,所述步骤(4)中插入的模块节点为检测冲突缓解模块节点,该节点只存放状态跳转传递关系的指令,与程序执行的功能无关。优选的,步骤(4)中将拥有共同前驱节点的后继节点定义为同一等级,并相互连构成了状态跳转的无向连通图;同时,无向连通图中的连线表示节点命名的冲突关系即后继节点均来自于同一个前驱节点的状态跳转,均享有同等前驱节点对其命名的所有权。优选的,所述步骤(6)通过下述方式实现:(6.1)根据步骤(2)中预先设置的规则,对步骤(5)中重构的状态跳转执行流图分配静态标签S;(6.2)分配两个寄存器G和R,分别用来动态存储当前跳转执行状态下的节点静态标签和节点的对等标签分配表;(6.3)根据(6.2)中信息,建立各模块节点数据信息表;建立二维数组,用于存储所述节点数据信息表中的节点静态标签和对等标签分配表,用指针变量p指向数组元素,用于取对应模块节点的静态标签和对等标签分配表;针对每个模块节点执行如下处理:(6.4)以模块节点头作为入口,对其对等标签分配表进行拆解,拆解后将当前模块节点的静态标签赋值给寄存器G,当模块节点的末尾指令是直接跳转时,在模块节点末尾后插入比较检测错误指令;当模块节点末尾指令是条件跳转或过程调用时,在跳转指令或过程调用指令前插入比较检测错误指令;判断依据比较检测错误指令获取的静态标签是否与寄存器G中的静态标签一致,若不一致,则证明出现状态跳转故障,进行故障恢复;若一致,则证明当前模块节点未出现状态跳转故障。优选的,在步骤(6.4)之前,首先判断当前模块节点内部是否存在多级状态跳转,若存在,则执行后续步骤;否则直接执行步骤(6.4);(6.3.1)根据模块节点内部存在的状态跳转次数t大小重新设置m保留位;(6.3.2)在内部跳转节点起始处,将对等标签分配表中对应后继节点Tag(h)对应的m位设置为(0┅01+b(t))和Tag(l)对应的m位设置为0┅0,而内部状态跳转结束后,后继节点静态标签位中m保留位分别设置为0┅01和(0┅0+b(t)),此时剩余位信息与m=2时的对等标签分配表和静态标签位的对应位信息一致,其中b(t)表示跳转次数t的二进制数;(6.3.3)若当前模块节点被标注为Tag(h)时,在模块节点内部共插入t次内部跳转状态指令,每次内部跳转状态指令在上次内部跳转指令基础上减1b,首次内部跳转状态指令为m位减1b;若当前模块节点被标注为Tag(l)时,在模块节点内部共插入t次内部跳转状态指令,每次内部跳转状态指令在上次内部跳转指令基础上加1b,首次内部跳转状态指令为m位加1b;处理完成之后,按照(6.3.2)中设置的静态标签为和对等标签分配表执行步骤(6.4)。优选的,步骤(6.3.1)中m的设置原则为:m=CEILIN(t/2本文档来自技高网...

【技术保护点】
1.一种缓解检测冲突的单粒子软错误防护设计方法,其特征在于通过下述方式实现:/n(1)将待处理程序系统划分成模块节点,构建基于模块节点的状态跳转执行流图;随后,按照模块节点中的前驱节点、后继节点划分状态跳转等级关系,并确定状态跳转无向连通图;/n(2)设置前驱节点的对等标签存储位,根据预先设置的规则,利用对等标签区分后继节点存在的状态跳转命名冲突;/n(3)根据图论定义,对步骤(1)中的状态跳转无向连通图进行分析,确定其中的长、圈以及对应的模块节点;/n(4)根据圈中模块节点数目的奇偶性结合图论定义,确定产生对等标签分配互斥情况的圈,并在该圈内,任选一个节点在其与前驱模块节点之间插入与功能无关的模块节点,形成迹并得到新的状态跳转无向连通图;/n(5)利用步骤(2)设置的前驱节点的对等标签存储位,对步骤(4)中新的状态跳转无向连通图中的后继模块节点所归属的高低位静态标签进行标注,并重构状态跳转执行流图;/n(6)对步骤(5)中重构的状态跳转执行流图分配静态标签,针对每个模块节点,通过插入比较检测错误指令的方式进行状态跳转错误检测,对发生状态跳转故障的模块节点进行故障恢复。/n

【技术特征摘要】
1.一种缓解检测冲突的单粒子软错误防护设计方法,其特征在于通过下述方式实现:
(1)将待处理程序系统划分成模块节点,构建基于模块节点的状态跳转执行流图;随后,按照模块节点中的前驱节点、后继节点划分状态跳转等级关系,并确定状态跳转无向连通图;
(2)设置前驱节点的对等标签存储位,根据预先设置的规则,利用对等标签区分后继节点存在的状态跳转命名冲突;
(3)根据图论定义,对步骤(1)中的状态跳转无向连通图进行分析,确定其中的长、圈以及对应的模块节点;
(4)根据圈中模块节点数目的奇偶性结合图论定义,确定产生对等标签分配互斥情况的圈,并在该圈内,任选一个节点在其与前驱模块节点之间插入与功能无关的模块节点,形成迹并得到新的状态跳转无向连通图;
(5)利用步骤(2)设置的前驱节点的对等标签存储位,对步骤(4)中新的状态跳转无向连通图中的后继模块节点所归属的高低位静态标签进行标注,并重构状态跳转执行流图;
(6)对步骤(5)中重构的状态跳转执行流图分配静态标签,针对每个模块节点,通过插入比较检测错误指令的方式进行状态跳转错误检测,对发生状态跳转故障的模块节点进行故障恢复。


2.根据权利要求1所述的方法,其特征在于:所述的步骤(1)具体通过下述方式实现:
(1.1)将程序中能够顺序执行的指令序列集合定义为程序指令模块,每个程序指令模块只有一个入口指令,最后一条为出口指令;根据程序指令模块的定义将待处理软件系统划分成模块节点;
(1.2)根据模块节点状态跳转变化关系,构建状态跳转执行流图,定义状态跳转执行流图中的前驱节点、后继节点;
(1.3)将拥有共同前驱节点的后继节点定义为同一等级,并相互连构成了状态跳转的无向连通图。


3.根据权利要求1所述的方法,其特征在于:步骤(1.2)中假设状态跳转执行流图的边集中存在节点vi到节点vj的边,则称vi为vj的前驱节点;如果存在节点vj到节点vk的边,则称vk为vj的后继节点。


4.根据权利要求1所述的方法,其特征在于:所述步骤(2)中预先设置的规则为:
当前驱节点的扇出数为2时,定义前驱节点对等标签分配表T,以对等位的高N/2位Tag(h)和低N/2位Tag(l)分别标注状态跳转后继节点的静态标签,一个后继节点静态标签存储在高位,则另一个后继节点静态标签存储于低位;其中,对等标签分配表T中的高m位作为其保留位,2≤m<N/2;同时,定义m最高位为0,Tag(h)中的m位信息Tm(h)由低到高以二进制数表示为0x┅x1,Tag(l)中的m位信息Tm(l)由低到高以二进制数表示为0x┅x0;
当前驱节点的扇出数为1时,只用低N/2位存储后继节点,其它高位为0;
上述扇出数为状态跳转执行流图中节点的输出边数量,待处理程序系统的运行环境为N位。


5.根据权利要求1所述的方法,其特征在于:所述步骤(4)中插入的模块节点为检测冲突缓解模块节点,该节点只存放状态跳转传递关系的指令,与程序执行的功能无关。


6.根据权利要求1所述的方法,其特征在于:步骤(4)中将拥有...

【专利技术属性】
技术研发人员:高翔赖晓玲周国昌朱启巨艇
申请(专利权)人:西安空间无线电技术研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1