声明
致谢
摘要
1 绪论
1.1 课题研究背景
1.2 国内外研究现状
1.2.1 基于工艺的防护技术
1.2.2 基于硬件的检错技术
1.2.3 基于软件的检错技术
1.3 本文研究内容
1.4 论文组织结构
1.5 本章小结
2 传统软件容错技术概述
2.1 控制流图说明
2.2 软错误对系统的影响及模型构建
2.2.1 软错误对系统的影响
2.2.2 控制流错误模型介绍
2.3 软件容错技术
2.3.1 软件错误检测技术介绍
2.3.2 软件错误恢复技术介绍
2.4 本章小结
3 硬件结合的容错方案设计
3.1 控制流错误检测方案设计
3.1.1 CPU体系结构相关扩展
3.1.2 控制流错误检测流程
3.1.3 基本块独立链划分技术
3.1.4 非签名/签名区跳转的错误覆盖
3.1.5 编译器静态计算签名流程
3.2 颗粒度模式错误检测方案
3.2.1 基本块间的签名关联性改进
3.2.2 颗粒度模式检错方案
3.3 控制流错误恢复方案设计
3.3.1 现场保护策略
3.3.2 错误恢复策略
3.4 本章小结
4 工具链实现
4.1 GNU工具链简介
4.2 GCC编译器部分实现
4.3 GAS汇编器部分实现
4.4 LD链接器部分实现
4.5 本章小结
5 实验结果及分析
5.1 检错方案实验结果及分析
5.1.1 硬件及代码开销实验
5.1.2 检错率实验
5.2 错误恢复方案实验结果与分析
5.2.1 硬件及代码开销实验
5.2.2 错误恢复率实验
5.3 本章小结
6 总结与展望
参考文献
攻读硕士学位期间主要研究成果