摘要 | 第5-8页 |
ABSTRACT | 第8-10页 |
第一章 绪论 | 第18-36页 |
1.1 课题研究背景 | 第19-24页 |
1.1.1 虚拟机概述 | 第19-20页 |
1.1.2 软硬件协同设计技术 | 第20-23页 |
1.1.3 线程级并行实现 | 第23-24页 |
1.2 相关研究现状 | 第24-33页 |
1.2.1 二进制翻译与硬件支持 | 第25-31页 |
1.2.2 软硬件协同虚拟机的并行性研究 | 第31-33页 |
1.3 研究目标 | 第33-34页 |
1.3.1 研究内容 | 第33页 |
1.3.2 技术路线 | 第33-34页 |
1.4 本文的主要工作 | 第34页 |
1.5 论文结构 | 第34-36页 |
第二章 软硬件协同虚拟机设计 | 第36-59页 |
2.1 CROSSBIT 及性能模型 | 第36-49页 |
2.1.1 软件解释与二进制翻译 | 第36-39页 |
2.1.2 CrossBit 系统与性能评测 | 第39-49页 |
2.2 软硬件协同设计虚拟机CO‐DESIGN?CROSSBIT | 第49-58页 |
2.2.1 加载器 | 第50-54页 |
2.2.2 二进制翻译软件及驱动程序 | 第54-55页 |
2.2.3 硬件加速单元 | 第55-58页 |
2.3 本章小结 | 第58-59页 |
第三章 动态二进制翻译与优化的硬件支持 | 第59-69页 |
3.1 基本的翻译硬件加速 | 第60-65页 |
3.1.1 源‐目标体系结构指令入口地址映射 | 第60-61页 |
3.1.2 源‐目标执行现场映射与恢复 | 第61-62页 |
3.1.3 可回滚写缓冲 | 第62-63页 |
3.1.4 翻译后目标代码缓存维护 | 第63-64页 |
3.1.5 自修改代码检测 | 第64-65页 |
3.2 性能优化的硬件支持 | 第65-67页 |
3.2.1 MicroCode 实现 | 第65-66页 |
3.2.2 硬件Profile | 第66-67页 |
3.2.3 为优化添加特殊的支持指令 | 第67页 |
3.3 本章小结 | 第67-69页 |
第四章 动态二进制翻译中的线程级并行性 | 第69-79页 |
4.1 并行动态二进制翻译模型 | 第69-74页 |
4.1.1 DBT 线程级划分 | 第69-71页 |
4.1.2 软硬件协同平台的并行翻译优化模型 | 第71-73页 |
4.1.3 并行线程间依赖问题 | 第73-74页 |
4.2 并行协同机制 | 第74-77页 |
4.2.1 并行翻译机制 | 第74-75页 |
4.2.2 协同Profile 机制 | 第75-77页 |
4.3 性能分析与验证 | 第77-78页 |
4.4 本章小结 | 第78-79页 |
第五章 性能评测 | 第79-85页 |
5.1 评测范畴 | 第79-80页 |
5.2 评测结果 | 第80-84页 |
5.2.1 Lookup 时间、翻译时间和软件版本的对比 | 第80-81页 |
5.2.2 TCache 命中和TCache?Miss 情况下的基本块执行时间 | 第81-82页 |
5.2.3 Native?Execution? 时间对比 | 第82页 |
5.2.4 TCache 缺失率对软硬件协同设计的架构影响 | 第82-84页 |
5.3 性能分析 | 第84-85页 |
第六章 总结与展望 | 第85-87页 |
6.1 全文的工作总结 | 第85-86页 |
6.2 未来的研究方向 | 第86-87页 |
参考文献 | 第87-91页 |
附录 名词对照表 | 第91-92页 |
致谢 | 第92-94页 |
攻读硕士学位期间学术论文发表情况 | 第94-95页 |
上海交通大学学位论文答辩决议书 | 第95页 |