CN111221670B - 一种缓解检测冲突的单粒子软错误防护设计方法 - Google Patents

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

Info

Publication number
CN111221670B
CN111221670B CN201911001645.6A CN201911001645A CN111221670B CN 111221670 B CN111221670 B CN 111221670B CN 201911001645 A CN201911001645 A CN 201911001645A CN 111221670 B CN111221670 B CN 111221670B
Authority
CN
China
Prior art keywords
node
module
jump
state
peer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911001645.6A
Other languages
English (en)
Other versions
CN111221670A (zh
Inventor
高翔
赖晓玲
周国昌
朱启
巨艇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Institute of Space Radio Technology
Original Assignee
Xian Institute of Space Radio Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Institute of Space Radio Technology filed Critical Xian Institute of Space Radio Technology
Priority to CN201911001645.6A priority Critical patent/CN111221670B/zh
Publication of CN111221670A publication Critical patent/CN111221670A/zh
Application granted granted Critical
Publication of CN111221670B publication Critical patent/CN111221670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

一种缓解检测冲突的单粒子软错误防护设计方法
技术领域
本发明属于系统抗单粒子软错误容错技术。
背景技术
在空间应用中,数字信号处理器系统在高速数传、信号通信、导航处理等 数据信息处理领域得到广泛应用,然而由于空间单粒子辐射效应的存在,单粒 子软错误对处理器运行状态的影响,其故障形式表现为以下两类:(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)+2,CEILIN 函数表示返回大于或等于所给数字表达式中最小整数。
优选的,所述的比较检测错误指令为:
R=*(*(p+2)+i)
Si=*(*(p+1)+i)
br G≠Si,error
其中,i指代当前模块节点。
本发明与现有技术相比的有益效果是:
本发明提出了一种缓解检测冲突的单粒子软错误防护设计方法,基于程序 指令模块的跳转状态构建程序执行流图,插入检测冲突缓解模块,重构跳转状 态防冲突缓解无向图,设置按结构划分的对等位标签,实现按结构划分的故障 检测机制,从而达到优化检测指令、提升检测效率目的。
本发明提出了一种缓解检测冲突的单粒子软错误防护设计方法,通过构建 状态跳转无向连通图,识别检测冲突模块,通过插入缓解检测冲突模块和基于 结构划分设置的对等标签,实现了优化检测指令,提高故障检测效率的目的。
本发明所具备的优点如下:
1、针对数字信号处理系统应用,提出一种插入防冲突缓解模块重构程序状 态跳转结构,和基于结构划分设置对等标签,以提升故障检测效率的单粒子软 错误防护设计方法。
2、缓解检测冲突的故障检测设计方法,可实现多扇入、多扇出的混合控制 流状态的软错误检测,并且基于结构划分设置的对等标签,具备了较强的模块 表达能力,降低了故障漏检或者虚检风险,相较于其它算法计算复杂度低。
3、该防护方法通过软件层面实现程序运行、状态检测和恢复的防护设计, 可应用于汇编指令和C指令程序单粒子防护设计,具备一定通用性。
4、该防护方法兼顾了模块节点间和模块节点内部状态跳转错误的检测,算 法适用范围广,具备通用性。
附图说明
图1基于缓解指令模块状态跳转冲突的检测方法设计流图;
图2状态跳转执行流图;
图3状态跳转无向连通图;
图4扇出数为2的前驱节点对等标签分配表
图5调整后的状态跳转节点拓扑关系图
图6插入检测指令后的模块节点
图7内部状态跳转模块节点插入检测指令示意图
图8为工程应用实例示意图。
具体实施方式
下面结合实施例对本发明作进一步阐述。
本方法首先基于程序指令模块的跳转状态构建程序执行流图,其次依据图 论定义确定无向图跳转状中的“圈”,再结合检测冲突的定义,判断“圈”是否 存在检测冲突,并插入检测冲突缓解模块完成无向图跳转状态流图重建,最后 给出故障检测算法应用,进行故障检测评估。以下为防护设计方法的整体架构 设计图:
整个方法的设计流如图1所示,主要分为三个阶段,分别为:
(1)阶段一:设计分析
根据程序指令模块的定义划分模块节点,并构建基于模块节点的状态跳转 执行流图;随后,按照前驱、后继节点划分状态跳转等级关系,并确定状态跳 转无向连通图。以下为具体步骤实现过程:
步骤1:程序指令模块定义,程序中能够顺序执行的指令序列集合,其中 只有一个入口指令,最后一条为出口指令,包括直接跳转、条件跳转和过程调 用等指令。
步骤2:根据程序指令模块划分系统程序,用模块节点vi表示,i=1…n。
步骤3:根据模块节点状态跳转变化关系,构建状态跳转执行流图,如下 图所示。
步骤3-1:用V={v1,v2…vn}表示模块节点的集合,以图2为例,n=9,并为 每一个模块节点分配数值唯一的静态标签,并且各节点以静态标签命名以区别 其它模块节点;
步骤3-2:用E={brij|brij代表节点vi到节点vj的状态跳转},表示模块节点状态跳转的边集合,以图2为例,E={br51,br52,br62,br63,br73,br74,br81,br84,br92,br94};
步骤3-3:用P={V,E}表示程序的状态跳转执行流图,并且图中边集E中 存在节点vi到节点vj的边,则称vi为vj的前驱节点,用vi=pre(vj)表示;如果存 在节点vj到节点vk的边,则称vk为vj的后继节点,用vk=suc(vj)表示;
步骤3-4:定义e-(vi)为节点vi的输入边集合,表示节点的扇入数;e+(vi)为 节点vi的输出边,表示节点的扇出数,以图2为例,节点v5的e+(v5)={br51,br52}, 扇出数为2,节点v2的e-(v2)={br52,br62,br92},扇入数为3;
步骤3-5:根据步骤1程序指令模块定义,模块结尾指令为直接跳转,则 节点扇出数为1,结尾指令为条件跳转或过程调用(针对中间指令出现的状态 跳转检测在步骤9-6中做说明),则节点扇出数为2,因此按照模块结尾指令判 断节点最多只有两个输出,如图2示例的前驱节点扇出数均为2。
步骤4:将拥有共同前驱节点的后继节点定义为同一等级,并相互连构成 了状态跳转的无向连通图;同时,无向连通图中的连线表示节点命名的冲突关 系(即后继节点均来自于同一个前驱节点的状态跳转,均享有同等前驱节点对 其命名的所有权),依据图2所形成的无向连通图如图3所示。
(2)阶段二:设计架构
在前驱节点中定义高低对等标签分配表,解决状态跳转后的后继节点命名 冲突竞争问题;同时依据图论定义,识别无向连通图中的“圈”,通过插入检测 冲突缓解模块,解决“圈”中存在的互斥机制,提出完整的算法设计架构,并 解决存在的检测冲突问题。以下为具体步骤实现过程:
步骤5:假设程序系统的运行环境为32位,设置前驱节点的对等标签存储 位,设置规则如下:
步骤5-1:当前驱节点e+(vi)为2时,定义前驱节点对等标签分配表T,以 对等位的高16位Tag(h)和低16位Tag(l)分别存储状态跳转后继节点的静态标 签,一个后继节点静态标签存储在高位,则另一个后继节点静态标签存储于低 位,从而利用对等标签区分后继节点存在的状态跳转命名冲突;其中,对等标 签分配表中的高m位作为其保留位(2≤m<16),m取值大小由模块节点总数 以及节点中插入的检测指令数目相关;同时,定义m最高位为0,Tag(h)中的 m位信息Tm(h)由低到高以二进制数表示为0x┅x1,Tag(l)中的m位信息Tm(l) 由低到高以二进制数表示为0x┅x0,对等标签分配表如图4所示;
步骤5-2:当前驱节点e+(vi)为1时,只用低16位存储后继节点,其它高位 为0。
步骤6:依据图论,在n阶图P中(n为节点数),存在节点v和边e的交 错序列vi,ei,vj,ej,...vk,ek,vi,(vi≠vj…≠vk),其中边ei={vi,vj}表示“长”,则以节点和 边构成的子图P'定义为“圈”。以图3为例,虚线框中表示的P1'和P2'为两个圈, 分别由节点{v2,v3,v4}、长为3和节点{v1,v2,v3,v4}、长为4的圈组成。
步骤7:当“圈”中的节点数目为奇数时,首尾节点将产生对等标签分配 互斥情况,任选一个节点,在其与前驱节点之间插入与功能无关的检测冲突缓 解模块,形成“迹”(依据图论定义,“迹”表示为各边互不相同的一条通道); 当“圈”中的节点数目为偶数时,不构成对等标签分配互斥,不做处理。根据 图3,圈P1'将产生对等标签分配互斥情况,圈P2'则不存在。
步骤8:针对圈P1',在节点v9与节点v2之间插入检测冲突缓解模块节点 vmitigation(该模块节点只存放状态跳转传递关系的指令,与程序执行的功能无 关),形成检测冲突缓解后的状态跳转无向连通图,并用Tag(h)和Tag(l)标注后 继节点所归属的高低位静态标签,完成基于缓解冲突模块的执行流图重构过程, 如下图所示。
步骤9:以下将阐述检测算法设计架构和算法指令的实现。
步骤9-1:根据步骤5的规则定义和步骤8的分析结果,为调整后的程序 状态跳转执行流图分配静态标签S;
步骤9-2:分配两个寄存器G和R,分别用来动态存储当前跳转执行状态 下的节点静态标签和节点的对等标签分配表;
步骤9-3:以图5(a)为例,假设pre{v5,v6,v7,v8,v9}=φ,suc{v1,v2,v3,v4}=φ(对等标签分配表默认为0h),保留位m为2,则各节点相关数据信息如下表所示;
表1各模块节点分配的数据信息表
Figure BDA0002241515310000091
步骤9-4:设定大小为2×i的二维数组(i=1…n),用于存储节点的成对静 态标签(位于数组第一行)和对等分配标签表信息(位于数组第二行),用指针 变量p指向数组元素,用于取对应模块节点的静态标签和对等标签分配表。
步骤9-5:检测指令设置:以模块节点头作为入口,插入指令G=R>>16(或 G=(R<<16)>>16),完成对当前对等标签分配表拆解,从而获取高低静态标签信息; 当模块节点末尾指令是条件跳转或过程调用时(用jump或者call表示),在跳转 指令前插入比较检测错误指令,如下所示:
R=*(*(p+2)+i)
Si=*(*(p+1)+i)
br G≠Si,error
当模块节点末尾指令是直接跳转时,在模块节点末尾后插入比较检测错误 指令;如果比较检测错误指令中的静态标签与当前节点的静态标签不一致,进 入状态跳转故障恢复程序(该部分内容可以采用现有做法进行处理,此处不进行 过多说明),否则正确执行下一个状态跳转,设置的模块节点检测指令如下,虚 线框中指令表示可能存在的情形;
由于软错误可以发生在模块节点内部,造成错误状态跳转,为了提高系统 可靠性设计,可以在步骤9-5之前,当前模块节点内部设置多级状态跳转检测 指令,设置内部状态跳转错误检测指令如下:
步骤9-5’:模块节点内部存在多级状态跳转或者过程调用指令设置:
步骤9-5’-1:根据节点内部存在的状态跳转次数t大小,设置m保留位, 设置原则为m=CEILIN(t/2)+2,CEILIN函数表示返回大于或等于所给数字表达 式中最小整数,如t=4,m=4;
步骤9-5’-2:以t=4,m=4为例,在内部跳转节点起始处,将对等标签分配 表中对应后继节点Tag(h)对应的m位设置为0101和Tag(l)对应的m位设置为 0000,而内部状态跳转结束后,后继节点对应的静态标签位分别设置为0001 和0100,此时剩余位信息与m=2时的对等标签分配表和静态标签位的对应位 信息一致;
步骤9-5’-3:若当前模块节点被标注为Tag(h)时,在模块节点内部共插入 t次内部跳转状态指令,每次内部跳转状态指令在上次内部跳转指令基础上减 1b,首次内部跳转状态指令为m位减1b;
若当前模块节点被标注为Tag(l)时,在模块节点内部共插入t次内部跳转状 态指令,每次内部跳转状态指令在上次内部跳转指令基础上加1b,首次内部跳 转状态指令为m位加1b;
步骤9-5’-4:而该节点外部错误状态检测过程指令设置与步骤9-5一致, 外部错误状态检测过程中的静态标签为和对等标签分配表采用步骤9-5’-2的设 置,检测指令在模块节点中设置如示意图7所示。
(3)阶段三:设计应用
根据阶段二算法指令的设计架构,并以图5(a)为例,阐述算法在故障检测 设计中的具体应用,并评估设计效果。
步骤10:基于图5(a),构建节点集合{v2,v5,v6,v9,vmitigation}的状态跳转算法实 现过程,如图8所示,图中#1~#9为基于算法插入的检测指令,并且假设节点 v2内部有四级状态跳转,实线为正常节点状态跳转,虚线假设为程序指令模块 受到单粒子效应影响,产生了错误的状态跳转,以下基于图8简述算法对错误 故障的检测。
步骤11:当节点v9发生错误状态跳转到节点v2,根据指令#1,G=0004h, 当执行到指令#9时,G=4004h,最终结果G≠Si,指令#5报错;
步骤12:当节点v2发生内部错误状态跳转,指令#6跳转到指令#8时,此 时执行到指令#9,G=3002h,最终结果G≠Si,指令#5报错。
本发明未详细说明部分属于本领域技术人员的公知常识。

Claims (10)

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)中将拥有共同前驱节点的后继节点定义为同一等级,并相互连构成了状态跳转的无向连通图;同时,无向连通图中的连线表示节点命名的冲突关系即后继节点均来自于同一个前驱节点的状态跳转,均享有同等前驱节点对其命名的所有权。
7.根据权利要求1所述的方法,其特征在于:所述步骤(6)通过下述方式实现:
(6.1)根据步骤(2)中预先设置的规则,对步骤(5)中重构的状态跳转执行流图分配静态标签S;
(6.2)分配两个寄存器G和R,分别用来动态存储当前跳转执行状态下的节点静态标签和节点的对等标签分配表;
(6.3)根据(6.2)中信息,建立各模块节点数据信息表;建立二维数组,用于存储所述节点数据信息表中的节点静态标签和对等标签分配表,用指针变量p指向数组元素,用于取对应模块节点的静态标签和对等标签分配表;针对每个模块节点执行如下处理:
(6.4)以模块节点头作为入口,对其对等标签分配表进行拆解,拆解后将当前模块节点的静态标签赋值给寄存器G,当模块节点的末尾指令是直接跳转时,在模块节点末尾后插入比较检测错误指令;当模块节点末尾指令是条件跳转或过程调用时,在跳转指令或过程调用指令前插入比较检测错误指令;判断依据比较检测错误指令获取的静态标签是否与寄存器G中的静态标签一致,若不一致,则证明出现状态跳转故障,进行故障恢复;若一致,则证明当前模块节点未出现状态跳转故障。
8.根据权利要求7所述的方法,其特征在于:在步骤(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)。
9.根据权利要求8所述的方法,其特征在于:步骤(6.3.1)中m的设置原则为:m=CEILIN(t/2)+2,CEILIN函数表示返回大于或等于所给数字表达式中最小整数。
10.根据权利要求7所述的方法,其特征在于:所述的比较检测错误指令为:
R=*(*(p+2)+i)
Si=*(*(p+1)+i)
br G≠Si,error
其中,i指代当前模块节点。
CN201911001645.6A 2019-10-21 2019-10-21 一种缓解检测冲突的单粒子软错误防护设计方法 Active CN111221670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911001645.6A CN111221670B (zh) 2019-10-21 2019-10-21 一种缓解检测冲突的单粒子软错误防护设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911001645.6A CN111221670B (zh) 2019-10-21 2019-10-21 一种缓解检测冲突的单粒子软错误防护设计方法

Publications (2)

Publication Number Publication Date
CN111221670A CN111221670A (zh) 2020-06-02
CN111221670B true CN111221670B (zh) 2023-03-28

Family

ID=70810942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911001645.6A Active CN111221670B (zh) 2019-10-21 2019-10-21 一种缓解检测冲突的单粒子软错误防护设计方法

Country Status (1)

Country Link
CN (1) CN111221670B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112838857B (zh) * 2021-01-27 2022-07-22 复旦大学 一种应用于组合逻辑电路的软错误加固方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571363B1 (en) * 1998-12-30 2003-05-27 Texas Instruments Incorporated Single event upset tolerant microprocessor architecture
CN104932950A (zh) * 2015-06-08 2015-09-23 西安空间无线电技术研究所 一种基于汇编指令的动态同步单粒子软错误防护方法
CN106021040A (zh) * 2016-05-04 2016-10-12 中国人民解放军国防科学技术大学 一种基于线形汇编指令差异性变换的dsp软错误检测方法
CN106326553A (zh) * 2016-08-23 2017-01-11 西安空间无线电技术研究所 一种用于单粒子软错误故障传播分析的分布式信号拓扑关系构建方法
CN107301123A (zh) * 2017-05-23 2017-10-27 国网浙江省电力公司信息通信分公司 一种表驱动的签名错误检测算法
CN107368600A (zh) * 2017-07-26 2017-11-21 兰州交通大学 随机图的邻点和可区别边染色算法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0225143D0 (en) * 2002-10-29 2002-12-11 British Telecomm Conflict detection in rule sets
US7451387B2 (en) * 2005-07-11 2008-11-11 Alcatel Lucent Autonomous method and apparatus for mitigating soft-errors in integrated circuit memory storage devices at run-time
US7506217B2 (en) * 2005-12-30 2009-03-17 Intel Corporation Apparatus and method for software-based control flow checking for soft error detection to improve microprocessor reliability

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571363B1 (en) * 1998-12-30 2003-05-27 Texas Instruments Incorporated Single event upset tolerant microprocessor architecture
CN104932950A (zh) * 2015-06-08 2015-09-23 西安空间无线电技术研究所 一种基于汇编指令的动态同步单粒子软错误防护方法
CN106021040A (zh) * 2016-05-04 2016-10-12 中国人民解放军国防科学技术大学 一种基于线形汇编指令差异性变换的dsp软错误检测方法
CN106326553A (zh) * 2016-08-23 2017-01-11 西安空间无线电技术研究所 一种用于单粒子软错误故障传播分析的分布式信号拓扑关系构建方法
CN107301123A (zh) * 2017-05-23 2017-10-27 国网浙江省电力公司信息通信分公司 一种表驱动的签名错误检测算法
CN107368600A (zh) * 2017-07-26 2017-11-21 兰州交通大学 随机图的邻点和可区别边染色算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种软件实现的程序控制流错误检测方法;李爱国等;《宇航学报》(第06期);全文 *
基于表驱动的纯软件签名错误检测算法;陈建等;《计算机工程》(第04期);全文 *

Also Published As

Publication number Publication date
CN111221670A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
CN111522800B (zh) 蜜獾拜占庭容错共识机制的区块链共识方法、节点及系统
US10332008B2 (en) Parallel decision tree processor architecture
US7280481B2 (en) Shortest path search method “Midway”
CN108564470B (zh) 一种区块链中并行建块的交易分发方法
CN110190987B (zh) 基于备份收益与重映射的虚拟网络功能可靠性部署方法
US10013240B2 (en) Fingerprinting of redundant threads using compiler-inserted transformation code
US20150262062A1 (en) Decision tree threshold coding
US20100312988A1 (en) Data processing apparatus and method for handling vector instructions
Alistarh et al. The complexity of renaming
US10733520B2 (en) Making a prediction regarding development of a software product
TW201732592A (zh) 用於多位元錯誤偵測和校正之裝置和方法
US11372929B2 (en) Sorting an array consisting of a large number of elements
US20150262063A1 (en) Decision tree processors
US7478374B2 (en) Debug system having assembler correcting register allocation errors
CN111221670B (zh) 一种缓解检测冲突的单粒子软错误防护设计方法
US20070028058A1 (en) System for determining the position of an element in memory
US11934835B2 (en) Computer system and method for validation of parallelized computer programs
CN104166539A (zh) 并行原子递增
US20220113971A1 (en) Synchronization instruction insertion method and apparatus
CN112463218B (zh) 指令发射控制方法及电路、数据处理方法及电路
CN116257338A (zh) Blender渲染在神威超算中的并行优化方法及系统
CN114528248A (zh) 阵列重构方法、装置、设备及存储介质
CN107368287B (zh) 一种数据流结构循环依赖的加速系统、加速装置及其加速方法
Arya Fastbit-radix sort: Optimized version of radix sort
CN113190497B (zh) 一种可重构处理器的任务处理方法及可重构处理器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant