| 摘要 | 第1-16页 |
| Abstract | 第16-18页 |
| 第一章 绪论 | 第18-30页 |
| §1.1 研究背景及目标 | 第18-25页 |
| ·微处理器体系结构研究的机遇和挑战 | 第18-23页 |
| ·二进制翻译解决方案 | 第23-25页 |
| §1.2 我国微处理器产业发展面临的问题 | 第25-27页 |
| ·我国处理器应用中的特有问题 | 第26页 |
| ·本国自主知识产权的必要性 | 第26页 |
| ·与先进国家的差距 | 第26-27页 |
| ·产业发展的问题 | 第27页 |
| ·动态二进制翻译的优势 | 第27页 |
| §1.3 我们的研究目标 | 第27-28页 |
| ·研究内容 | 第27-28页 |
| ·技术路线 | 第28页 |
| §1.4 本文的工作 | 第28-29页 |
| §1.5 本文的结构 | 第29-30页 |
| 第二章 相关研究现状 | 第30-46页 |
| §2.1 引言 | 第30-31页 |
| §2.2 早期二进制翻译研究 | 第31-34页 |
| ·EMMY/360 | 第31-33页 |
| ·FX!32静态翻译器 | 第33-34页 |
| §2.3 二进制翻译与处理器设计 | 第34-39页 |
| ·Transmeta Crusoe处理器 | 第34-36页 |
| ·IBM BOA项目 | 第36-38页 |
| ·Intel IA32-EL技术 | 第38-39页 |
| §2.4 动态优化 | 第39-43页 |
| ·动态软件优化Dynamo | 第39-41页 |
| ·rePLay优化框架 | 第41-43页 |
| §2.5 虚拟机技术 | 第43-44页 |
| ·Java虚拟机和JIT技术 | 第43-44页 |
| ·其它虚拟机 | 第44页 |
| §2.6 小结 | 第44-46页 |
| 第三章 基于动态二进制翻译的可扩展体系结构 | 第46-62页 |
| §3.1 动态二进制翻译与处理器体系结构迁移 | 第46-49页 |
| ·目前系统中存在的问题 | 第48-49页 |
| §3.2 Transtar-VISA体系结构模型 | 第49-55页 |
| ·Transtar-VISA结构概述 | 第49-51页 |
| ·Transtar-VISA的关键部件 | 第51-52页 |
| ·硬件执行核心Transtar-Core | 第52-55页 |
| §3.3 Transtar-VISA的应用 | 第55-60页 |
| ·Transtar-VISA扩展现有体系结构 | 第55-58页 |
| ·Transtar-VISA的虚拟机加速结构 | 第58-59页 |
| ·Transtar-VISA的虚拟阵列结构 | 第59-60页 |
| §3.4 小结 | 第60-62页 |
| 第四章 识别热点代码的硬件Profiler | 第62-82页 |
| §4.1 Profile技术 | 第62-66页 |
| ·Profile简介 | 第62-64页 |
| ·静态和动态Profile | 第64-65页 |
| ·软硬件Profiler | 第65-66页 |
| §4.2 CSP的结构 | 第66-74页 |
| ·基于优化需求的CSP路径检测 | 第68-71页 |
| ·CSP的路径表示与存储 | 第71-73页 |
| ·CSP在翻译优化系统中的应用 | 第73-74页 |
| §4.3 CSP的性能 | 第74-80页 |
| ·测试方法 | 第75-76页 |
| ·CSP的性能测试数据 | 第76-79页 |
| ·CSP运行开销 | 第79-80页 |
| §4.4 小结 | 第80-82页 |
| 第五章 二进制翻译中的动态优化方法 | 第82-102页 |
| §5.1 引言 | 第82-84页 |
| ·动态优化必要性 | 第82-83页 |
| ·动态优化与静态优化的区别 | 第83-84页 |
| §5.2 动态优化算法 | 第84-90页 |
| ·动态优化的使用环境 | 第84-85页 |
| ·动态优化的调度单位 | 第85-86页 |
| ·多平台特性的动态优化方法设计 | 第86页 |
| ·动态二进制翻译中的优化机会 | 第86-87页 |
| ·可移植使用的静态方法 | 第87-88页 |
| ·依靠profiling的动态方法 | 第88-90页 |
| §5.3 动态优化算法举例RIMP | 第90-101页 |
| ·Predication的原理 | 第90-91页 |
| ·已有的Predication使用方式 | 第91页 |
| ·RIMP与底层处理器模型 | 第91-92页 |
| ·RIMP的指令调度和依赖性检查 | 第92-94页 |
| ·RIMP Region的管理 | 第94-95页 |
| ·RIMP的性能和模拟测试 | 第95-101页 |
| §5.4 小结 | 第101-102页 |
| 第六章 可变阈值驱动的多级动态优化框架 | 第102-118页 |
| §6.1 前言 | 第102页 |
| §6.2 动态优化的性能和开销分析 | 第102-110页 |
| ·分级优化的必要性 | 第102-104页 |
| ·多级热点的识别机制 | 第104-105页 |
| ·基于优化开销和潜在性能的优化分级 | 第105-107页 |
| ·开销估计 | 第107-108页 |
| ·Region的增长与降级 | 第108-110页 |
| §6.3 多级优化的性能模拟 | 第110-116页 |
| §6.4 小结 | 第116-118页 |
| 第七章 动态翻译和优化的硬件支持 | 第118-134页 |
| §7.1 软件翻译优化与硬件支持 | 第118-119页 |
| ·对正确性的影响 | 第118页 |
| ·对性能的影响 | 第118-119页 |
| §7.2 基本的翻译硬件支持 | 第119-127页 |
| ·处理器模式:解释执行和翻译执行 | 第119-120页 |
| ·源-目标体系结构指令入口地址映射 | 第120-121页 |
| ·源-目标执行现场映射与恢复 | 第121-122页 |
| ·连续提交地址检测缓冲 | 第122-123页 |
| ·可撤销写缓冲 | 第123-124页 |
| ·翻译后目标代码缓存维护 | 第124-125页 |
| ·自修改代码检测 | 第125-127页 |
| §7.3 性能优化的硬件支持 | 第127-129页 |
| ·解释执行的microcode实现 | 第127-128页 |
| ·硬件profiler | 第128页 |
| ·特殊源结构部件的直接实现 | 第128-129页 |
| ·为优化添加特别的支持指令 | 第129页 |
| §7.4 并行翻译优化模型 | 第129-132页 |
| ·动态二进制翻译优化中的并行线程 | 第129页 |
| ·Transtar-Para并行翻译优化模型 | 第129-131页 |
| ·性能分析与模拟验证 | 第131-132页 |
| §7.5 小节 | 第132-134页 |
| 第八章 模拟环境与原型系统的设计实现 | 第134-146页 |
| §8.1 硬件Profiler模拟验证环境sim-profile | 第134-136页 |
| §8.2 动态优化算法模拟验证环境sim-do | 第136-137页 |
| §8.3 用户级代码翻译系统 | 第137-141页 |
| ·总体结构 | 第137-138页 |
| ·与OS的接口 | 第138-139页 |
| ·代码翻译过程 | 第139-140页 |
| ·目标结构模拟器设计 | 第140-141页 |
| §8.4 整系统并行翻译系统 | 第141-144页 |
| ·总体结构 | 第141页 |
| ·系统级问题 | 第141-144页 |
| §8.5 小结 | 第144-146页 |
| 第九章 结束语 | 第146-150页 |
| §9.1 所作的工作与创新 | 第146-147页 |
| §9.2 未来的研究方向 | 第147-150页 |
| 致谢 | 第150-152页 |
| 论文发表情况 | 第152-154页 |
| 参考文献 | 第154-164页 |
| 附录A 名词对照表 | 第164-165页 |