[发明专利]用于容错系统的处理器瞬时故障检测方法无效
| 申请号: | 201210591859.5 | 申请日: | 2012-12-31 |
| 公开(公告)号: | CN103092714A | 公开(公告)日: | 2013-05-08 |
| 发明(设计)人: | 王超;傅忠传;崔刚;王彦;李东;董立民;杨清香 | 申请(专利权)人: | 哈尔滨工业大学 |
| 主分类号: | G06F11/07 | 分类号: | G06F11/07 |
| 代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 牟永林 |
| 地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 容错 系统 处理器 瞬时 故障 检测 方法 | ||
技术领域
本发明涉及一种容错系统中处理器故障的检测方法。
背景技术
瞬时故障,常被称为软故障(Soft error)。该类故障具有随机性,受环境因素影响较大。
EDDI(Error Detection by Duplicated Instructions)技术,针对瞬时故障引发的数据流错误,采用软件手段实现硬件故障容错。该机制在编译支持下采用纯软件的手段实现容错,但它在设计过程中并没有考虑到例如ECC或奇偶校验(parity)等传统硬件保护机制的纠检错能力。更重要的是,不同体系结构下EDDI移植工作量巨大,该问题亟待解决。例如SPARC体系结构下,窗口寄存器使得EDDI的实现与ARM、MIPS等平面寄存器体系结构面临着完全不同的问题与挑战。同时,编译链传参规则的修改、系统库的重新编译等问题,严重影响了该机制的通用性。
发明内容
本发明的目的是提供一种用于容错系统的处理器瞬时故障检测方法,以解决现有的EDDI技术移植工作量巨大造成所占内存或寄存器大和通用性差的问题。本发明包括下述步骤:一、对进入处理器算术逻单元的C类计算指令进行复制;所述C类计算指令是指解码类计算指令;二、对步骤一复制得到的C类计算指令进行选择,并复制选定的计算指令,选定的计算指令叫做影子指令,选择之前的计算指令叫做主指令;所述选择原则为:同步指令不选择,同步指令包括访存指令(M类指令)和跳转指令(B类指令);三、按照严格锁步的方式执行影子指令与主指令,即在影子指令与主指令之间不执行其它指令;四、在顺序执行完影子指令和主指令后立即比较执行结果;五、对出现影子指令与主指令运算结果不同的情况,认定为出现了处理器瞬时故障;运算结果相同,认为没有出现故障。
本发明只对C类计算指令进行复制,而且执行完影子指令和主指令后立即比较执行结果,需要执行的指令少,用于寄存影子指令和主指令的内存或寄存器数量少,解决了现有的EDDI技术移植工作量巨大造成所占内存或寄存器大和通用性差的问题。
附图说明
图1是SPARC V9指令编码结构示意图,图2算数逻辑单元的逻辑图,图3故障注入结果的示意图,图4锁步EDDI与全复制EDDI性能对比示意图。
具体实施方式
具体实施方式一:本实施方式包括下述步骤:一、对进入处理器算术逻单元的C类计算指令进行复制;所述C类计算指令是指解码类计算指令;二、对步骤一复制得到的C类计算指令进行选择,并复制选定的计算指令,选定的计算指令叫做影子指令,选择之前的计算指令叫做主指令;所述选择原则为:同步指令不选择,同步指令包括访存指令(M类指令)和跳转指令(B类指令);三、按照严格锁步的方式执行影子指令与主指令,即在影子指令与主指令之间不执行其它指令;四、在顺序执行完影子指令和主指令后立即比较执行结果;五、对出现影子指令与主指令运算结果不同的情况,认定为出现了处理器瞬时故障;运算结果相同,认为没有出现故障。步骤四中比较执行结果的操作过程为:先将影子指令和主指令运行结束后的结果分别存入两个寄存器中,然后将两个寄存器值相减,如果相减结果为0,认定结果相同;如果相减结果非0,认定结果不同。
(一)故障分类
首先将指令集分为计算指令、访存指令、跳转指令和其他类指令。其中,计算指令包括所有算术、逻辑、关系和赋值运算指令。访存指令包括:取数、存数和内存栅栏指令。跳转指令包括:无条件跳转、有条件跳转和函数调用指令。其他类指令则为除了计算指令、访存指令、跳转指令以外的指令集合;此外,为涵盖故障引发的正常指令转为非法指令的情况,此处将非法指令纳入到其他指令类中。
每种指令发生的故障仅包括两种情况:操作码故障和操作数故障。据此,将故障类型细分为14个子类,基于SPARC V9指令集的指令分类与故障类型的详细描述参见表2-1。
表中各故障类型发生的概率由故障源所在的部件和指令集编码方式决定,例如:解码部件故障涵盖全部类型;但同类型转化(C→C、M→M、B→B和OT→OT)概率明显高于类型间的转化,这一点由图1给出的指令集编码可知。如果故障源自算逻部件,只可能触发C→C一类,发生概率为100%。由此可知,同类型故障能否良好覆盖,对系统纠检错能力的影响至关重要,这在表2-1中重点标示。
表错误!文档中没有指定样式的文字。-1指令分类及故障子类型
(二)故障模型
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210591859.5/2.html,转载请声明来源钻瓜专利网。





