二进制程序的动态优化机制研究
| 摘要 | 第1-12页 |
| ABSTRACT | 第12-13页 |
| 第一章 绪论 | 第13-18页 |
| ·研究背景 | 第13-14页 |
| ·本文主要工作与创新点 | 第14-16页 |
| ·高效的热点分析机制 | 第14-15页 |
| ·自适应的动态缓存管理技术 | 第15-16页 |
| ·间接跳转指令的链接方法 | 第16页 |
| ·论文的组织结构 | 第16-18页 |
| 第二章 典型的动态优化机制 | 第18-36页 |
| ·DynamoRIO 开发指令级并行 | 第18-22页 |
| ·DynamoRIO 的工作原理 | 第18-19页 |
| ·DynamoRIO 控制流 | 第19-20页 |
| ·路径选择器 | 第20-21页 |
| ·代码缓存管理 | 第21-22页 |
| ·动态二进制插桩工具 Pin | 第22-24页 |
| ·Pin 组成及工作原理 | 第22-23页 |
| ·Pin 的注入 | 第23页 |
| ·JIT 编译器 | 第23-24页 |
| ·面向嵌入式系统的 Pin | 第24-26页 |
| ·透明性 | 第24-25页 |
| ·跳转链接 | 第25页 |
| ·路径选择 | 第25-26页 |
| ·采样插桩工具 | 第26-27页 |
| ·实验平台 MODBO | 第27-34页 |
| ·工作流程 | 第28-30页 |
| ·虚拟机 | 第30-33页 |
| ·多线程技术 | 第33-34页 |
| ·本章小结 | 第34-36页 |
| 第三章 高效的热点分析机制的实现 | 第36-54页 |
| ·高效热点分析机制的必要性 | 第36-37页 |
| ·应用程序中基本块的执行频度分析 | 第37-39页 |
| ·高效热点分析机制的实现 | 第39-47页 |
| ·插桩计数法 | 第39-40页 |
| ·改进的插桩计数法 | 第40-41页 |
| ·插桩计数指令的开销 | 第41-42页 |
| ·部分插桩计数法 | 第42-47页 |
| ·性能评测 | 第47-53页 |
| ·两种插桩计数法的比较 | 第47-48页 |
| ·全插桩计数法的性能优势 | 第48-49页 |
| ·热点识别的高效性 | 第49-52页 |
| ·热点识别对门限值的不敏感性 | 第52-53页 |
| ·本章小结 | 第53-54页 |
| 第四章 自适应动态缓存管理 | 第54-66页 |
| ·自适应动态缓存管理的必要性 | 第54-56页 |
| ·基于请求-分配模型的自适应动态缓存管理 | 第56-57页 |
| ·基于工作集变迁的自适应动态缓存调整 | 第57-61页 |
| ·基于工作集变迁的自适应缓存管理的提出 | 第59页 |
| ·基于工作集变迁法的性能评测 | 第59-60页 |
| ·引起性能波动的原因分析 | 第60-61页 |
| ·基于混合法的自适应动态缓存调整 | 第61-65页 |
| ·混合法的提出 | 第61-62页 |
| ·混合法的性能评测 | 第62-64页 |
| ·三种自适应动态缓存管理方法的对比 | 第64-65页 |
| ·本章小结 | 第65-66页 |
| 第五章 间接跳转的链接优化 | 第66-77页 |
| ·间接跳转链接的必要性 | 第66-68页 |
| ·间接跳转的链接 | 第68-70页 |
| ·间接跳转的内联比较方法 | 第68-69页 |
| ·间接跳转的 hash 跳转表法 | 第69-70页 |
| ·间接跳转的硬件支持 | 第70-73页 |
| ·跳转表的硬件设计 | 第70-71页 |
| ·指令集扩展 | 第71-72页 |
| ·硬件支持的链接命中率 | 第72-73页 |
| ·相关研究 | 第73-76页 |
| ·Pin 中间接跳转指令的链接 | 第73-74页 |
| ·Pin 中返回指令的链接 | 第74-76页 |
| ·本章小结 | 第76-77页 |
| 第六章 结论与展望 | 第77-79页 |
| ·全文总结 | 第77-78页 |
| ·研究展望 | 第78-79页 |
| 致谢 | 第79-80页 |
| 参考文献 | 第80-84页 |
| 作者在学期间取得的学术成果 | 第84页 |