| 摘要 | 第5-7页 |
| ABSTRACT | 第7-8页 |
| 第一章 绪论 | 第11-18页 |
| 1.1 研究背景 | 第11-14页 |
| 1.1.1 二进制翻译技术概述 | 第11-12页 |
| 1.1.2 CrossBit 二进制翻译基础平台概述 | 第12-13页 |
| 1.1.3 浮点运算概述 | 第13-14页 |
| 1.2 研究意义 | 第14-15页 |
| 1.3 相关研究 | 第15-16页 |
| 1.4 论文的主要工作 | 第16-17页 |
| 1.5 本文的组织结构 | 第17-18页 |
| 第二章 动态二进制翻译器中的浮点运算单元 | 第18-28页 |
| 2.1 设计目标 | 第18-19页 |
| 2.1.1 可运行性 | 第18-19页 |
| 2.1.2 平台无关性 | 第19页 |
| 2.2 虚拟中间指令集 | 第19-22页 |
| 2.2.1 GCC 的中间语言RTL | 第20-21页 |
| 2.2.2 VCODE 的指令集 | 第21-22页 |
| 2.2.3 LLVA 虚拟机指令集 | 第22页 |
| 2.3 浮点运算单元的基本框架 | 第22-27页 |
| 2.3.1 SimpleScalar 的浮点数处理 | 第22-24页 |
| 2.3.2 UQBT 的浮点数处理 | 第24-25页 |
| 2.3.3 CrossBit 的浮点运算单元框架 | 第25-27页 |
| 2.4 本章小结 | 第27-28页 |
| 第三章 CROSSBIT 中浮点运算单元的实现 | 第28-56页 |
| 3.1 状态部件-源机器端浮点寄存器的实现 | 第28-30页 |
| 3.2 浮点数中间指令的实现 | 第30-36页 |
| 3.2.1 状态映射类指令 | 第33页 |
| 3.2.2 访存类指令 | 第33-34页 |
| 3.2.3 运算类指令 | 第34-36页 |
| 3.2.4 数据移动类指令 | 第36页 |
| 3.3 SIMPLESCALAR 到浮点数中间指令的翻译 | 第36-44页 |
| 3.3.1 SimpleScalar 前端介绍 | 第36-39页 |
| 3.3.2 SimpleScalar 到中间指令的翻译 | 第39-44页 |
| 3.4 浮点数中间指令到X87 的翻译 | 第44-54页 |
| 3.4.1 X87 的物理寄存器 | 第45-46页 |
| 3.4.2 X87 的寄存器组织 | 第46-49页 |
| 3.4.3 X87 的浮点数据类型 | 第49-50页 |
| 3.4.4 中间指令到X87 的翻译 | 第50-54页 |
| 3.5 本章小结 | 第54-56页 |
| 第四章 CROSSBIT 中浮点运算单元的运行与分析 | 第56-59页 |
| 4.1 SPEC CPU 基准测试 | 第56-57页 |
| 4.2 与SIMPLESCALAR 的对比 | 第57页 |
| 4.3 分析与总结 | 第57-59页 |
| 第五章 全文总结 | 第59-61页 |
| 5.1 主要结论及工作总结 | 第59-60页 |
| 5.2 研究展望 | 第60-61页 |
| 参考文献 | 第61-65页 |
| 致谢 | 第65-66页 |
| 攻读硕士学位期间已发表的学术论文 | 第66页 |