[发明专利]一种基于汇编指令的动态同步单粒子软错误防护方法在审
| 申请号: | 201510310153.0 | 申请日: | 2015-06-08 |
| 公开(公告)号: | CN104932950A | 公开(公告)日: | 2015-09-23 |
| 发明(设计)人: | 高翔;赖晓玲;王健;龚科;袁雅婧 | 申请(专利权)人: | 西安空间无线电技术研究所 |
| 主分类号: | G06F11/08 | 分类号: | G06F11/08 |
| 代理公司: | 中国航天科技专利中心 11009 | 代理人: | 陈鹏 |
| 地址: | 710100 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 汇编 指令 动态 同步 粒子 错误 防护 方法 | ||
技术领域
本发明涉及系统抗单粒子软错误容错技术领域,特别是一种基于汇编指令的动态同步单粒子软错误防护方法。
背景技术
在空间应用中,数字信号处理器系统在高速数传、信号通信、导航处理等数据信息处理领域得到广泛应用,然而由于空间单粒子辐射效应的存在,将会引起系统程序的“跑飞”、“异常”、“紊乱”或者“死机”等故障,降低了星上数字信号处理设备的可靠性。因此,从数字信号处理器的硬件架构出发,利用数据同步并行处理能力实现汇编指令在空间维度上的冗余设计,从而将程序在不改变按时间执行计算流程前提下,增加空间同步冗余防护设计,从而提升系统程序的防护执行效率,达到数字信号处理器系统的高可靠性设计目的。
当前的防护技术多侧重于硬件的并行架构和专用编译环境相互配合完成空间的多模冗余设计,而对程序本身发生的单粒子软错误则缺乏有效判读和针对性防护优化设计分析。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种将汇编指令冗余和软件标识位检纠错方法结合以提升系统程序防护可靠性的基于汇编指令的动态同步单粒子软错误防护方法。
本发明的技术解决方案是:一种基于汇编指令的动态同步单粒子软错误防护方法,包括如下步骤:
(1)按照系统软件的用户需求书将系统软件划分为N个功能模块,记为v1,v2,v3…vN,然后对各个功能模块进行汇编指令级编程,得到每个功能模块对应的汇编指令的指令序列,根据系统软件各个功能模块的执行流程建立有向图V={v1,v2,v3…vi…vN},任意确定功能模块vi的静态标识位Si,其中,N为正整数且N≥2,N个静态标识位Si各不相同,i=1,2,3…N;
(2)复制功能模块vi对应的汇编指令的指令序列中的中间变量,将复制得到的中间变量记为第二中间变量,然后使用中间变量执行功能模块vi对应的汇编指令的指令序列得到结果数据data1,使用第二中间变量执行功能模块vi对应的汇编指令的指令序列得到结果数据data2;所述的中间变量为在指令序列执行过程中用于生成其它变量的变量的值,其中,i的初值为1;
(3)比较结果数据data1、结果数据data2,如果两者结果相同,则将数据data1作为功能模块vi的运算结果并存储,转入步骤(5),如果两者结果不相同,则转入步骤(4);
(4)复制功能模块vi对应的汇编指令的指令序列中的中间变量,记为第三中间变量,并使用第三中间变量执行功能模块vi对应的汇编指令的指令序列,得到结果数据data3,将data3分别与步骤(2)得到的结果数据data1和结果数据data2比较,如果结果数据data3与结果数据data1或者结果数据data2中一个相同,则将结果数据dada3作为功能模块vi的运算结果并存储,然后转入步骤(5),否则重复复制功能模块vi对应的汇编指令的指令序列中的中间变量,并执行功能模块vi对应的汇编指令的指令序列过程,直至出现两个相同的结果数据,并将该结果数据作为功能模块vi的运算结果并存储转入步骤(5);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安空间无线电技术研究所,未经西安空间无线电技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510310153.0/2.html,转载请声明来源钻瓜专利网。





