学位论文 > 优秀研究生学位论文题录展示
动态二进制翻译中基于中间代码的优化研究
作 者: 姜玲燕
导 师: 步丰林
学 校: 上海交通大学
专 业: 计算机应用技术
关键词: 二进制翻译 中间代码 冗余删除 链接 寄存器分配
分类号: TP391.2
类 型: 硕士论文
年 份: 2008年
下 载: 62次
引 用: 3次
阅 读: 论文下载
内容摘要
如何提高动态二进制翻译系统的性能,是每个动态二进制翻译系统亟需解决的问题之一。基于中间代码层实现多源多目标的动态二进制翻译器,其中间代码层的性能至关重要。一是中间代码自身的效率。中间代码作为动态二进制翻译器中一层,一般以简单为设计的首要原则,每条指令只实现单一功能,导致中间代码膨胀严重,且带来一定程度的冗余信息。二是中间代码的优化机会。由于中间语言的平台无关性,对它进行的优化方法也是独立于平台的,所以可以构筑平台无关的、可重用的优化框架。为了改进中间代码的质量,提高二进制翻译器的性能,本文对二进制翻译中和中间语言相关的优化技术进行了研究。论文的主要工作包括:一、对基本块内的常用优化策略进行研究,针对CrossBit中间语言的组成和特性,提出了适合CrossBit中间语言的SSA形式化算法和冗余指令删除算法,大大减少了代码的膨胀率,使CrossBit系统的性能提升约10%~30%。二、借鉴现有链接技术,在CrossBit上实现了路径线性化算法,减少了系统的上下文切换,使CrossBit系统的性能提升约10%~30%。三、对动态优化技术进行研究,运用Profile实现热块的识别,并结合运用二级TCache以及VCache,为进一步进行动态优化奠定了基础。四、通过对后端寄存器分配算法的研究和比较,如全局寄存器分配、特殊寄存器分配、图染色法等,提出了适合CrossBit X86后端的基于next-use信息的寄存器分配策略。
|
全文目录
摘要 3-4 ABSTRACT 4-11 第一章 绪论 11-23 1.1 研究背景 11-21 1.1.1 虚拟机技术 12-14 1.1.2 二进制翻译技术 14-15 1.1.3 二进制翻译技术研究现状 15-18 1.1.4 中间语言研究现状 18-21 1.2 研究目标 21-22 1.3 全文结构 22-23 第二章 CROSSBIT 及其中间语言 23-31 2.1 CROSSBIT 系统概述 23-25 2.2 CROSSBIT 的中间语言 25-27 2.2.1 设计思想 25 2.2.2 虚拟寄存器 25-26 2.2.3 寻址模式 26 2.2.4 访存策略 26 2.2.5 颗粒度 26 2.2.6 中间指令集 26-27 2.3 CROSSBIT 中间语言应用举例 27-28 2.4 CROSSBIT 性能评测 28-30 2.5 本章小结 30-31 第三章 基于CROSSBIT 中间代码的静态优化 31-41 3.1 SSA 形式化 31-34 3.2 冗余指令删除 34-38 3.2.1 算法描述 34-36 3.2.2 实验数据 36-38 3.3 死代码删除 38-40 3.3.1 算法描述 38-39 3.3.2 实验数据 39-40 3.4 本章小结 40-41 第四章 基于CROSSBIT 中间代码的全局优化 41-51 4.1 直接跳转(DIRECT BRANCHES) 41-43 4.1.1 翻译块链接(Translation Linking) 41-43 4.1.2 路径线性化(Trace Linearization) 43 4.2 条件跳转(CONDITIONAL BRANCHES) 43-45 4.2.1 回填技术(Back Patching) 44-45 4.3 间接跳转(INDIRECT BRANCHES) 45-47 4.3.1 分支预测(Software indirect jump prediction) 45-46 4.3.2 Pin 的改进 46 4.3.3 HDTrans 的改进 46-47 4.4 RETURN 语句 47-48 4.4.1 Return 缓存(Caching) 47 4.4.2 克隆(Cloning) 47-48 4.5 CROSSBIT 实现 48-50 4.6 本章小结 50-51 第五章 基于CROSSBIT 中间代码的动态优化 51-59 5.1 PROFILE 技术简介 51-52 5.2 热块识别 52-53 5.3 循环识别 53-54 5.4 热路径识别 54 5.5 “二级”TCACHE 的应用 54-55 5.6 VCACHE 的应用 55-58 5.6.1 VCache 工作原理 55-56 5.6.2 Profile 统计表 56-57 5.6.3 内存分配和组织方式 57 5.6.4 实验数据 57-58 5.7 本章小结 58-59 第六章 从中间到后端的寄存器分配 59-74 6.1 常用寄存器分配算法 59-62 6.1.1 特定寄存器分配 59-60 6.1.2 全局寄存器分配 60 6.1.3 图染色法 60-62 6.1.4 基于存活期的寄存器分配 62 6.2 CROSSBIT 中的寄存器分配实现 62-72 6.2.1 最简单的寄存器分配 63-64 6.2.2 一对一的寄存器分配 64-65 6.2.3 全局寄存器分配 65-66 6.2.4 基于next-use 信息的寄存器分配 66-68 6.2.5 图染色法 68-72 6.3 CROSSBIT 中各分配算法比较 72-73 6.4 本章小结 73-74 第七章 结论 74-75 参考文献 75-78 致谢 78-80 参与课题及已发表论文 80-82
|
相似论文
- 搜索链接服务商著作权侵权问题研究,D923.41
- 面纸箱设计软件中Delphi动态链接库(DLL)的实现,TP311.52
- 深层链接引发的著作权侵权研究,D923.41
- 基于VB及MATLAB混合编程的数字实时全息再现系统,O438.1
- 搜索引擎侵权行为研究,D923
- 基于HLA的地面作战信息系统的视景仿真技术研究,TP391.9
- 网络影视作品定时播放侵权案例研究,D923.41
- 多源空间数据集成方法研究,P208
- 电子政务地理信息服务应用模型管理研究,P208
- 量子点偶联体对肿瘤细胞的诊断与治疗,R730.5
- 中西医链接治疗小儿肾病综合征临床疗效及生活质量评价,R726.9
- 链接异质时空的中性形态研究,J50-02
- 搜索链接服务引发的信息网络传播权侵权问题研究,D923.41
- 深度链接引发的著作权侵权行为研究,D923.41
- 基于视觉的行车道检测系统研究,TP274
- HWME中“广义专家”群体网络研讨过程的链接结构及其分析算法研究,TP393.09
- 基于链接结构分析的Web页面排序算法,TP393.092
- 银行LED屏远程信息发布系统的设计与实现,TP311.52
- 多源二进制代码一体化翻译关键技术研究,TP391.2
- 软硬协同动态二进制翻译系统设计与实现,TP391.2
- CPU/GPU异构多核虚拟执行环境框架的设计与实现,TP332
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 信息处理(信息加工) > 翻译机
© 2012 www.xueweilunwen.com
|