一种表驱动的签名错误检测算法制造技术

技术编号:16472432 阅读:47 留言:0更新日期:2017-10-29 00:10
本发明专利技术公开了一种表驱动的签名错误检测算法,该算法是基于有限状态自动机理论(FSM),在二维表(CFID表)中存储控制流图的信息,通过比较基本块中的签名和存储在CFID表中的签名检测出非法的指令跳转。对于CFCSS算法不能检测的共享分支扇入节点的非法指令跳转错误,本发明专利技术可成功检测出这类错误。实验结果显示,本发明专利技术平均错误检测覆盖率达到98.1%,并且本发明专利技术在每个基本块中插入的错误检测指令较CFCSS中的更少。

A table driven signature error detection algorithm

The invention discloses a table driven signature error detection algorithm, the algorithm is based on the theory of finite state automaton (FSM), in a two-dimensional table (table CFID) stored in the control flow graph information, by comparing the basic block of the signature and the signature is stored in the CFID table to detect non jump instruction method. For the illegal instruction jump error of shared Branch fan nodes that cannot be detected by the CFCSS algorithm, this error can be detected successfully. The experimental results show that the average error detection coverage of the invention is 98.1%, and the error detection instruction inserted in each basic block is less than that in CFCSS.

【技术实现步骤摘要】
一种表驱动的签名错误检测算法
本专利技术涉及纯软件错误检测
,具体的说是一种表驱动的签名错误检测算法(EDSS),应用于合法的分支、不合法的分支以及带有两个共享分支扇入节点的非法分支等的错误检测。
技术介绍
随着技术的发展,微处理器性能的改善将越来越依赖于体积更小、速度更快的晶体管,并同时实现低阈值电压和更加严格的噪声余量。然而,这种对改善性能、降低功耗的常规需求却常常导致很多可靠性问题的出现。不同于制造与设计性错误等频繁产生的错误,临时性错误(也常被称作软错误),源于诸如电磁干扰、电压毛刺或高能量粒子等的环境影响,常常会导致不可预测的行为。最典型的软错误是单粒子翻转(SEU),该错误指的是发生在顺序逻辑以及单粒子瞬变(SET)中的位翻转,容忍这些错误最首要和最重要的步骤就是检测出这些错误,目前已有相当多的错误检测技术。错误检测可以通过纯硬件方式、软硬件结合方式以及纯软件方式得以实现。一种常用的纯硬件检错方式运用了看门狗协处理器,该处理器通过监测外部总线和主处理器的行为,实现并发的系统级错误检测,但却导致了时间和面积开销的增大,并且随着具有内部高速缓存和现代流水线技术的微处理器本文档来自技高网...
一种表驱动的签名错误检测算法

【技术保护点】
一种表驱动的签名错误检测算法,其特征在于,该检测算法包括以下具体步骤:步骤1:确定所有基本块,即节点,建立程序P的控制流图,为每一个节点编号,即基本块标识号,在控制流图中以自然数开始,即vi, i=1, 2….N;步骤2:对每一个节点vi都赋予一个签名SSi,如果i≠j, 则SSi≠SSj,其中i,j=1,2,…N;每一个签名 SSi 与相应的基本块标识vi中的i相等;步骤3:对每一个vi,i=1,2,3…,进行如下操作:a)对每一个分支bri,j ,它的前驱节点为vi ,后继节点为vj;这些分支由一个二维表表示,该二维表称为CFID[i,j];在该表中,行i表示前驱节点,列j表示后继节点;b...

【技术特征摘要】
1.一种表驱动的签名错误检测算法,其特征在于,该检测算法包括以下具体步骤:步骤1:确定所有基本块,即节点,建立程序P的控制流图,为每一个节点编号,即基本块标识号,在控制流图中以自然数开始,即vi,i=1,2….N;步骤2:对每一个节点vi都赋予一个签名SSi,如果i≠j,则SSi≠SSj,其中i,j=1,2,…N;每一个签名SSi与相应的基本块标识vi中的i相等;步骤3:对每一个vi,i=1,2,3…,进行如下操作:a)对每一个分支bri,j,它的前驱节点为vi,后继节点为vj;这些分支由一个二维表表示,该二维表称为CFID[i,j];在该表中,行i表示前驱节点,列j表示后继节点;b)如果分支bri,j在控制流图中,将后继节点的签名SSj填入CFID[i,j]对应的位置;否则CFID[i,j]位置应填入0值;c)Reg寄存器中存储的全局变量在基本块每一次执行其检测指令时都更新一次,以跟踪程序执行过程中签名的变化;d)在基本块的初始位置插入一条判断指令,判断SSi与CFID[Reg,SSi]是否相...

【专利技术属性】
技术研发人员:沈潇军姚一杨戴波陈建孔晓昀龚小刚戚伟强王以良耿继朴陈可邢雅菲刘雄侯麟毛大鹏吴翔琚小明
申请(专利权)人:国网浙江省电力公司信息通信分公司华东师范大学
类型:发明
国别省市:浙江,33

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

1