论文部分内容阅读
航天和卫星技术的迅猛发展以及对超大规模集成电路的应用需求,使得对DSP等集成芯片的依赖性越来越强,并且微处理器设计向低功耗和高性能目标的转向,电路小规模趋势的设计和供电电压的降低,使得微处理器受单粒子翻转的影响显著增强,软错误的发生更为频繁,而对于运行的航天器来说,任何错误的存在都可能导致巨大的灾难,软错误率反映了芯片出现故障或损坏的可能性。因此,对软错误的评估已经成为设计中必须考虑的重要问题。针对DSP微处理器的单粒子翻转容易引起软错误的现象,为了降低软错误率以及减少对整体防护的开销,则需要对系统有针对性的进行防护。本文以C6000系列芯片为研究对象,研究了脆弱性评估的方法,并对研究中需要解决的关键问题进行了分析,最后对提出的评估方法进行了实验测试。主要的研究工作如下:(1)提出了一种适用于DSP C6000指令集的可靠性评估方法,以静态汇编指令为研究对象,从单粒子翻转效应是否会对应用程序的输出结果产生影响方面对软错误率进行评估。通过对评估指标的分析,将对软错误率的评估转变为对脆弱性的评估,并指出评估中需要解决的关键问题。(2)对当前的研究现状进行分析,并指出了当前评估方法的优点和缺点。基于软错误率与应用程序的紧密关系,以及当前研究方法中对应用程序可靠性评估的研究的缺乏性,根据对体系结构脆弱性指标的研究,提出了针对应用程序的脆弱性评估方法,并分析了其计算模型。(3)在评估过程中,根据指令对输出结果的影响对指令进行分类,遍历汇编程序,对每种类型指令进行识别,通过建立指令链表和操作数的消费者-产生者链来完成对动态死指令的识别,并且依据每类指令的指令字二进制格式完成对Un-ACE位和ACE位的采集,结合计算模型完成对可靠性的评估,避免了传统评估方法中重复的注错和大量的仿真所带来的复杂度和巨大的开销。(4)在对DSP的评估方法中,不同于以往的故障注入法,该方法不需要对微处理器的结构完全的了解,而是对DSP C6000指令集进行分析,对应用程序根据一定的划分规则进行模块划分,以模块为单位进行分析的,对于错误率高的模块便于有针对地进行防护,以降低模块的错误率以及防护过程中带来的资源开销。通过对多组程序进行实验评估,验证了该评估方法的可行性,由于本文所提出的评估方法是针对指令集的,而不是局限于具体的体系结构,并且在实验过程中,操作简单,实验周期短,大大提高了评估的效率,因此具有良好的应用前景。