节点文献

基于汇编语言的控制流错误检测算法研究

Research on Control Flow Error Checking Algorithm Based on Assembly Language

【作者】 吴艳霞

【导师】 顾国昌;

【作者基本信息】 哈尔滨工程大学 , 计算机应用技术, 2008, 博士

【摘要】 随着集成电路的特征尺寸、供电电压和阈值电压的减少,处理器对串扰、电磁干扰以及粒子辐射等各种噪声干扰变得更加敏感,硬件瞬时故障导致的计算机系统可靠性问题日显突出。尤其在辐射环境下,因粒子辐射产生的硬件瞬时故障成为影响计算机系统可靠性的重要因素。采用抗辐照器件可以防止辐射环境中的硬件瞬时故障,但由于其性能低、价格高、功耗高的特点不适合应用于高性能计算领域。因此,开始尝试在辐射环境中采用高性能、低价格、低功耗的COTS器件,在其上通过软件、硬件技术容忍硬件瞬时故障,提高系统可靠性。在硬件瞬时故障中,危害最大的是控制流错误跳转造成的故障,为了降低此类故障对计算机系统可靠性的影响,本文对检测控制流错误跳转的算法及其评估方法进行了研究。控制流错误检测算法的研究对象主要分为高级语言和汇编语言,由于基于汇编语言的控制流错误检测算法实现简单,比基于高级语言的控制流错误检测算法具有更低的系统性能负载和未检测出的错误率,本文主要研究基于汇编语言的控制流错误检测算法。此类算法主要采用签名检测技术,主要解决四个方面的问题:检测的粒度、签名信息的表示方法、检测指令的插入位置及签名检测方法。本文围绕着这些问题开展研究,提出改进的基于汇编语言的控制流错误检测算法。为了从理论上更准确的分析控制流错误检测算法的检测能力,本文进一步完善原有的控制流错误检测能力验证模型。同时,大部分控制流错误检测算法不具备故障恢复能力,如何结合微处理器体系结构的特点完成容控制流错误的功能也是一个值得研究的问题。针对上述问题,本文主要研究以下内容:(1)由于传统的验证控制流错误检测算法检测能力的模型很少考虑新增的检测指令对算法检测能力的影响,为了从理论上更准确的分析算法的检测能力,本文开展了对控制流错误检测算法检测能力的验证模型的研究;(2)由于基于汇编语言的CFCSS算法实用性较强,本文对其中存在的检测混淆和检测错误的问题展开研究;同时,为了降低系统功耗,减少检测点,本文尝试修改检测粒度,在不影响控制流错误检测能力的基础上,提出低功耗的控制流错误检测算法;为了提高控制流错误检测能力,消除基本块间冗余的依赖关系,本文对签名表示方法和签名检测方法进行研究,提出基于汇编语言的DPNCFC算法;(3)基于签名的控制流错误检测算法在编译时就确定检测位置,导致延迟发现故障,降低了系统的可靠性;同时,这类算法是以基本块作为检测的基本单位,在不增加冗余检测指令时无法检测基本块内的控制流错误跳转。为了解决这两个问题,本文从软硬结合的角度对控制流错误检测算法展开研究;(4)由于大部分控制流检测算法不具备容错能力,为了使控制流错误检测算法和故障恢复技术结合的更紧密,本文基于R80515体系结构,采用软硬结合的方法,对容控制流错误的方法展开研究。

【Abstract】 As the reducing of feature size of Integrate Circuit,power supply voltage andthreshold voltage,processors became more sensitive to noise disturbances such ascrosstalk,EMI radiation and particle radiation.The computer reliability problemscaused by hardware transient fault are more and more important.Especially inradiation environments,hardware transient fault produced by particle radiation isthe one of the most important elements which influences the computer systemreliability.Using radiation-hardened components in radiation environments canprevent hardware transient fault.But because of the high price,low capability andhuge power consumption,they are not adaptable for today’s high-performancecomputing.With the high-performance,low price and low power consumptioncharacters,software and hardware technology on COTS compoents can toleratehardware transient fault and improve system reliability.Thus COTS could be usedin radiation enviroments.Among the hardware Transient Faults,the mostdamaging fault is attributed to control flow jump error.In order to reduce theinfluence made by this kind of fault,the dissertation mainly discusses control flowerror checking algorithm and its evaluation method.The research object of control flow error checking algorithm mainly includesthe high-level language and assembly language.Assembly language-based controlflow error checking algorithms are easier to implement,of which the systemperformance and undetected error ratio are both less than those of high-levellanguage-based algorithms.So the dissertation will focus on assemblylanguage-based control flow error checking algorithms.This kind of algorithmsmainly uses signature technology,solves four aspects of problems:particle size ofchecking,the express of signature information,the location of checkinginstructions and the signature checking method.This dissertation researches theabove questions,and presents an improved algorithm.In order to get atheoretically more accurate analysis of the checking capabilities of control flowchecking algorithm,this dissertation further improves the existing model onverifying control flow error checking ability.At the same time,most of the control flow error checking algorithms do not have the ability of recovery,how tocombine the characteristics of microprocessor architecture to complete the controlflow error recovery is a problem worth studying.In response to these problems,the main contents are as follows:(1) For the traditional model seldom considers the influence on the checkingability of the algorithm,caused by the added checking instructions,in order toanalyze the checking capabilities of control flow checking algorithm moreaccurately,this dissertion researches the verifying model on control flow errorchecking ability.(2) Since the assembly language-based CFCSS algorithm is more practical,this dissertation researches the checking confusion and checking error problem ofit.At the same time,in order to reduce system power consumption and checkingpoints,this dissertation presents LPICFCSS algorithm without influencing thecontrol flow error checking ability by modifying the particle size;In order toimprove control flow error checking ability and eliminate the redundantdependence among basic blocks,this dissertation researchs the signatureexpression and checking method,and presents the assembly language-basedDPNCFC algorithm.(3) Signature-based control flow error checking algorithm ensures thechecking location when it is compiled,that leads to the delay discovery of fault,and the reduce of system reliability.At the same time,since this kind of algorithmstreats the basic block as the basic test unit,the control flow jump error inside basicblock can not be checked out without the redundant checking instructions.For theabove two points,this dissertation researches the control flow error checkingalgorithm from the soft-hard view.(4) Since most control flow checking algorithms do not have fault tolerancecapability,in order to combine the control flow error checking algorithm andbreakpoint recovery technology closer,the dissertation uses hard-soft method toresearch control flow error tolerant method on the R80515 architecture.

节点文献中: