论文部分内容阅读
随着我国航空航天领域的飞速发展,航天器在宇宙空间中所承担的工作和任务也日益复杂化。因此,软件系统的可靠运行成为航天器稳定工作的关键保障之一。然而,由于太空环境中各种宇宙射线的存在,导致航天器上大量使用的DSP、FPGA等硬件处理器在运行时会受到高能粒子的轰击,引发单粒子翻转效应,直接后果便是程序跑飞、数据出错甚至执行停止,这些都会对航天器的正常运行产生恶劣影响。因此,如何提高处理器芯片中软件系统的运行可靠性已成为该领域发展过程中的一个研究热点和难点。近年来国内外学者已经提出了一系列针对处理器芯片上单粒子翻转效应的软硬件防护方法,其中数冗余防护方法最为应用广泛,且实施难度较低、防护效果显著。然而冗余防护所带来的代价是一个不可忽视的问题。本文以冗余思想为出发点,结合多级冗余相关理论,在综合考虑程序模块可靠性和冗余代价的基础上,对程序模块的最优冗余配置问题进行了研究,并对相关智能优化算法进行了改进。同时,对冗余模块的输出表决方法进行了研究和改进,加强了表决器对单粒子翻转效应的容错能力,使防护更加完善和有效。本文的主要工作如下:(1)结合DSP工程代码特点提出一套用于DSP工程模块多级划分的规则。通过对代码中主函数对子函数的调用分析和逐层细分,以循环结构、分支结构作为模块划分节点进行代码切分,将一套DSP工程代码划分为多级模块结构,完成代码结构由原始单层串行结构向多级混合结构的转化,为后续模块的冗余防护和冗余度配置作准备。(2)完成对多级结构的解的编码,建立了针对代码多级结构的可靠性模型和冗余代价评估模型。通过对冗余后多级结构的可靠性分析和代价评估,将提高冗余结构可靠性的问题转化为以整体可靠性为目标函数、冗余代价为约束的单目标多约束优化问题,通过对各模块冗余度的最优配置实现代码整体可靠度的最大化。(3)针对模因演算法(MA)进行算法改进,提出一种改进的模因演算法(OMA)。通过对传统智能演化算法MA的缺陷分析和总结,有针对性地对其交叉算子和局部搜索算子进行改进,使其在交叉个体筛选和局部搜索中更加高效合理,这是本文创新点之一。最终进行了实例实验对算法进行了性能分析,通过对同领域不同算法的对比分析,验证了本文所提算法的优越性。(4)针对离散量冗余表决方法进行研究,提出一种新的s*k表决器。由于本文利用冗余防护方法对模块进行可靠性防护,因此对于冗余输出的表决是关键性一环。通过对整体表决方法和逐位表决方法的表决思路分析及性能验证,将二者优势进行融合,以表决位宽为切入点提出了s*k表决器,实现了表决出错率和正确率的均衡,为冗余表决提供了更灵活的表决手段和更广阔的选择空间,这是本文又一创新之处。由实验结果可知,本文所提出的基于改进模因演算法(OMA)的多级冗余优化配置方法和s*k表决器可以对代码进行有效的可靠性防护,使其整体可靠性显著提高。本文所提方法可为工程技术开发人员在设计阶段提供有效的参考和指导,实现DSP工程中单粒子翻转故障的有效容错。