[发明专利]用于星载处理器的程序执行流程跳转错误检测方法有效
申请号: | 200910043424.5 | 申请日: | 2009-05-15 |
公开(公告)号: | CN101551775A | 公开(公告)日: | 2009-10-07 |
发明(设计)人: | 张传胜;杨建伟;王跃科;邢克飞;杨俊;周永彬;陈建云;明德祥;钟小鹏;胡助理 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 湖南兆弘专利事务所 | 代理人: | 赵 洪 |
地址: | 410073湖南省长沙市砚瓦池正街47*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理器 程序 执行 流程 跳转 错误 检测 方法 | ||
1.一种用于星载处理器的程序执行流程跳转错误的检测方法,其特征在于,其步骤为:
1.1处理器程序运行时,初始化跳转状态矩阵,进行步骤1.2;所述跳转状态矩阵为一个用于标记程序当前跳转状态的N阶全局二维矩阵F,当基本模块bi即将跳往基本模块bj时,对应Fij=1;对于单线程程序,每个时刻只能发生一次跳转,因此F有且只有一个元素为1,其余为0;
1.2根据程序基本模块之间的跳转关系,构建基本模块跳转矩阵,进行步骤1.3;所述基本模块跳转矩阵为一个N阶全局二维矩阵J,其描述了基本模块bi、bj之间的跳转关系Jij:如果bi可以跳转到bj,那么Jij=1,否则Jij=0;
1.3顺次执行各个基本模块的跳转状态检测流程,执行跳转检验矩阵;所述跳转检验矩阵为一个用于检测程序最近一次跳转是否有效的N阶局部二维矩阵C,矩阵中元素为“1”的位置表示最近发生的模块跳转行为;对于单线程处理器软件程序,同时只能存在一次模块跳转,因此C中有且只有一个元素为1;如果C的元素为全0,或者包含多个1,则表示最近一次跳转为非法跳转;
1.4通过统计跳转检验矩阵中元素“1”的数量是否为1,如果为1则上次跳转正常,进行步骤1.3,否则上次跳转异常,进行步骤1.5;
1.5结束所有状态,进行程序故障处理。
2.根据权利要求1所述的用于星载处理器的程序执行流程跳转错误的检测方法,其特征在于,对程序跳转错误检测的具体流程为:
2.1处理器程序运行时,初始化跳转状态矩阵F=0,以及F00=1,进行步骤2.2;
2.2根据程序基本模块之间的跳转关系,构建基本模块跳转矩阵J,进行步骤2.3;
2.3顺次执行各个基本模块的跳转状态检测流程;
2.4检测判别基本模块跳转状态是否异常,如果出现异常,进行步骤2.5,否则进行步骤2.3;
2.5结束所有状态,进行程序故障处理。
3.根据权利要求1或2所述的用于星载处理器的程序执行流程跳转错误的检测方法,其特征在于,所述基本模块的跳转状态检测流程为:
3.1计算跳转检验矩阵C=J*F,进行步骤3.2;
3.2统计跳转检验矩阵C中有元素“1”的数量C_Flag1_Sum,进行步骤3.3;
3.3判别上次跳转是否正常,如果C_Flag1_Sum=1,则上次跳转正常,进行步骤3.4,否则,上次跳转异常,返回上次跳转异常到程序跳转错误检测流程;
3.4执行基本模块的功能代码,进行步骤3.5;
3.5计算跳转状态矩阵F,如果程序基本模块的跳转方向为bi→bj,那么就令F的元素Fij=1,返回上次跳转正常到程序跳转错误检测流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910043424.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:改进型前叉勾爪铣沟修正机
- 下一篇:一种器件老化筛选加热温度控制方法