| 摘要 | 第3-5页 |
| ABSTRACT | 第5-6页 |
| 第一章 绪论 | 第13-18页 |
| 1.1 研究背景 | 第13-14页 |
| 1.2 研究目标 | 第14-15页 |
| 1.3 本文的主要工作 | 第15-16页 |
| 1.4 本文结构 | 第16-18页 |
| 第二章 二进制翻译技术介绍 | 第18-36页 |
| 2.1 二进制翻译系统的组成 | 第18-19页 |
| 2.2 二进制翻译技术的分类 | 第19-23页 |
| 2.2.1 代码解释执行 | 第20-21页 |
| 2.2.2 静态二进制翻译 | 第21页 |
| 2.2.3 动态二进制翻译 | 第21-23页 |
| 2.2.4 三种翻译技术比较 | 第23页 |
| 2.3 常见二进制翻译系统介绍 | 第23-26页 |
| 2.4 Crossbit简介 | 第26-34页 |
| 2.4.1 Crossbit的系统框架 | 第27-28页 |
| 2.4.2 Crossbit的内存布局 | 第28-29页 |
| 2.4.3 Crossbit的中间指令 | 第29-30页 |
| 2.4.4 Crossbit的工作流程 | 第30-32页 |
| 2.4.5 Crossbit的性能评测 | 第32-34页 |
| 2.5 二进制翻译技术面临的挑战 | 第34-35页 |
| 2.6 本章小结 | 第35-36页 |
| 第三章 动态二进制翻译中的优化技术 | 第36-49页 |
| 3.1 动态二进制翻译中的Profiling | 第37-39页 |
| 3.2 热路径识别策略 | 第39-42页 |
| 3.2.1 基于基本块Profile信息的热路径识别 | 第39-40页 |
| 3.2.2 基于跳转边Profile信息的热路径识别 | 第40页 |
| 3.2.3 基于路径Profile信息的热路径识别 | 第40页 |
| 3.2.4 NET动态热路径预测策略 | 第40-42页 |
| 3.3 超级块的生成策略 | 第42-44页 |
| 3.4 基于硬件采样的动态优化 | 第44页 |
| 3.5 中间语言优化 | 第44-47页 |
| 3.5.1 基本块内优化 | 第45-46页 |
| 3.5.2 基本块间优化 | 第46-47页 |
| 3.6 动态优化技术的不足 | 第47-48页 |
| 3.7 本章小结 | 第48-49页 |
| 第四章 动态二进制翻译的静态优化架构实现 | 第49-71页 |
| 4.1 编译技术中的动静结合 | 第50-52页 |
| 4.2 二进制翻译中的动静结合 | 第52-56页 |
| 4.2.1 DigitalBridge系统简介 | 第52-53页 |
| 4.2.2 FX!32 系统介绍 | 第53-56页 |
| 4.3 静态优化架构设计与实现 | 第56-64页 |
| 4.3.1 信息收集阶段 | 第57-63页 |
| 4.3.2 静态分析阶段 | 第63页 |
| 4.3.3 代码加载阶段 | 第63-64页 |
| 4.4 动静结合的优化方法设计与实现 | 第64-70页 |
| 4.4.1 热路径的识别 | 第64-65页 |
| 4.4.2 目标代码调整 | 第65-69页 |
| 4.4.3 静态实现链接 | 第69-70页 |
| 4.4.4 相对地址回填 | 第70页 |
| 4.5 本章小结 | 第70-71页 |
| 第五章 动态二进制翻译的静态优化架构性能评测 | 第71-79页 |
| 5.1 评测范畴 | 第71页 |
| 5.2 性能测试 | 第71-73页 |
| 5.3 量化分析 | 第73-78页 |
| 5.4 本章小结 | 第78-79页 |
| 第六章 总结与展望 | 第79-81页 |
| 6.1 全文总结 | 第79页 |
| 6.2 未来展望 | 第79-81页 |
| 参考文献 | 第81-87页 |
| 致谢 | 第87-88页 |
| 攻读学位期间发表的学术论文目录 | 第88-90页 |