一种软硬件结合的控制流错误检测和恢复技术研究
本文关键词:一种软硬件结合的控制流错误检测和恢复技术研究,由笔耕文化传播整理发布。
【摘要】:随着半导体制造工艺的不断发展和进步,集成电路的特征尺寸也不断减小,这使得芯片的集成度和性能都得到了大幅度的提升,但由此带来的一项重要影响是芯片对电磁干扰和粒子辐射等环境越来越敏感,计算机系统的可靠性问题也因为硬件的瞬时故障而日趋严重,尤其是在比较恶劣的工业和太空辐射环境中工作的各种嵌入式计算机系统。硬件瞬时故障会对程序的正确运行产生影响,造成的程序运行时错误被称为软错误,而软错误中大部分是控制流错误,即指令码或数据的改变导致程序的运行轨迹和原来的逻辑产生了偏差,最终使得系统崩溃或运行结果出错。因此如何有效、及时地对控制流错误进行检测和恢复成为了嵌入式安全领域一个重要的研究方向。当前已经有许多基于硬件或软件的容错技术,但基于硬件的技术往往带来设计复杂度过高、制造成本大幅提升等问题,而基于软件的技术一般会带来代码空间膨胀、系统性能下降、错误覆盖率偏低等问题。因此,本文提出了一种软硬件结合的控制流错误检测和恢复技术:软件方面,通过改造编译工具链,使其在编译程序时对程序静态分析进行签名;硬件方面,在不改变其他模块的前提下,通过对CPU模块进行简单的扩展使其支持动态的签名校验和错误恢复。除了提出具体的软硬件容错方案,本文也针对方案中的难点详细介绍了软件方面的编译工具链的设计实现。最后,本文在国产嵌入式CPU CSKY-CPU平台上进行相应的实验,对硬件仿真数据、编译后的代码密度、运行时性能开销以及错误覆盖率等实验数据进行了评估和分析。实验数据证明,本文提出的方案具有软硬件开销小、错误覆盖率高的优势。
【关键词】:瞬时错误 控制流错误 错误检测 错误恢复 工具链 CSKY-CPU
【学位授予单位】:浙江大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TN405
【目录】:
- 致谢4-5
- 摘要5-6
- Abstract6-11
- 1 绪论11-16
- 1.1 课题研究背景11-12
- 1.2 国内外研究现状12-13
- 1.2.1 基于工艺的防护技术12
- 1.2.2 基于硬件的检错技术12-13
- 1.2.3 基于软件的检错技术13
- 1.3 本文研究内容13-15
- 1.4 论文组织结构15
- 1.5 本章小结15-16
- 2 传统软件容错技术概述16-33
- 2.1 控制流图说明16-18
- 2.2 软错误对系统的影响及模型构建18-26
- 2.2.1 软错误对系统的影响19-24
- 2.2.2 控制流错误模型介绍24-26
- 2.3 软件容错技术26-31
- 2.3.1 软件错误检测技术介绍26-30
- 2.3.2 软件错误恢复技术介绍30-31
- 2.4 本章小结31-33
- 3 软硬件结合的容错方案设计33-54
- 3.1 控制流错误检测方案设计33-46
- 3.1.1 CPU体系结构相关扩展34-38
- 3.1.2 控制流错误检测流程38-39
- 3.1.3 基本块独立链划分技术39-44
- 3.1.4 非签名/签名区跳转的错误覆盖44-45
- 3.1.5 编译器静态计算签名流程45-46
- 3.2 颗粒度模式错误检测方案46-49
- 3.2.1 基本块间的签名关联性改进46-48
- 3.2.2 颗粒度模式检错方案48-49
- 3.3 控制流错误恢复方案设计49-53
- 3.3.1 现场保护策略49-51
- 3.3.2 错误恢复策略51-53
- 3.4 本章小结53-54
- 4 工具链实现54-60
- 4.1 GNU工具链简介54-55
- 4.2 GCC编译器部分实现55-57
- 4.3 GAS汇编器部分实现57-58
- 4.4 LD链接器部分实现58-59
- 4.5 本章小结59-60
- 5 实验结果及分析60-65
- 5.1 检错方案实验结果及分析60-62
- 5.1.1 硬件及代码开销实验60-61
- 5.1.2 检错率实验61-62
- 5.2 错误恢复方案实验结果与分析62-64
- 5.2.1 硬件及代码开销实验62-63
- 5.2.2 错误恢复率实验63-64
- 5.3 本章小结64-65
- 6 总结与展望65-66
- 参考文献66-69
- 攻读硕士学位期间主要研究成果69
【相似文献】
中国期刊全文数据库 前10条
1 石宣化;金海;羌卫中;齐力;;自适应网格错误检测框架研究[J];小型微型计算机系统;2006年08期
2 刘小汇;伍微;欧钢;;软件错误检测与纠正技术可靠性研究[J];信号处理;2011年08期
3 邓锡东;浅谈编译器的错误检测与处理[J];电脑开发与应用;1999年05期
4 李飞,张志敏,王岩飞;错误检测与纠正电路的设计与实现[J];单片机与嵌入式系统应用;2003年02期
5 孔范增;季仲梅;崔维嘉;王建辉;;基于先验约束的空时联合视频错误检测算法[J];中国图象图形学报;2011年05期
6 王有翦;Foxbase中硬件错误检测处理问题的解决[J];计算机时代;1996年04期
7 祁鑫;梁鸿;高元涛;;基于网格的自适应错误检测算法[J];微计算机应用;2008年12期
8 贺强;张树生;白晓亮;;STL文件错误的快速修复[J];计算机应用研究;2009年05期
9 吴仲佑;MBI5027+用于错误检测的直流工作点[J];现代显示;2004年02期
10 姚奕;黄松;稽孟雨;;面向整数错误检测的蜕变测试方法研究[J];计算机工程与科学;2012年04期
中国重要会议论文全文数据库 前1条
1 富弘毅;宋伟;杨学军;;利用冗余进程实现MPI程序错误检测[A];2009年全国开放式分布与并行计算机学术会议论文集(下册)[C];2009年
中国重要报纸全文数据库 前1条
1 万平国;知情才能可控[N];中国计算机报;2004年
中国博士学位论文全文数据库 前2条
1 吴艳霞;基于汇编语言的控制流错误检测算法研究[D];哈尔滨工程大学;2008年
2 许振波;C程序静态分析与错误检测[D];中国科学技术大学;2015年
中国硕士学位论文全文数据库 前10条
1 奚旺;基于模式学习的一致性错误冒险抑制技术研究[D];南京大学;2015年
2 杨孔进;基于H.264的视频错误检测和掩藏技术[D];上海交通大学;2013年
3 陆正毅;一种软硬件结合的控制流错误检测和恢复技术研究[D];浙江大学;2016年
4 金玉洁;[D];浙江大学;2006年
5 童丽琛;快速选择反应中错误监控方式对错误检测行为的影响[D];浙江大学;2012年
6 张力立;ATP安全错误检测码与运算方法的研究与设计[D];西南交通大学;2012年
7 张琰彬;连续汉语普通话声调错误检测[D];北京交通大学;2007年
8 曹国荣;航天器在轨自主健康管理技术的研究和应用[D];国防科学技术大学;2008年
9 刘业;支持内存错误检测的改进gdb调试器的设计与实现[D];南京大学;2012年
10 王笛;一种对象粒度和上下文敏感的Java程序并发错误检测框架(Jacob)[D];复旦大学;2012年
本文关键词:一种软硬件结合的控制流错误检测和恢复技术研究,由笔耕文化传播整理发布。
,本文编号:414585
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/414585.html