基于QEMU仿真器的指令优化技术的研究与实现

被引量 : 7次 | 上传用户:fengying
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,在计算机业的发展中经常出现软硬件发展不协调的情况,研究者们提出了代码移植技术来解决这一冲突。二进制翻译就是这其中应用较为广泛的技术之一。通过二进制翻译技术可以实现软件的跨平台性,使得不同体系结构的二进制可执行程序轻松移植,从而扩大了软件硬件的适用范围。同时二进制翻译技术也是嵌入式仿真软件的核心模块,可以帮助协调嵌入式开发中的软硬件开发进度。所以得到了越来越多的关注,在理论和技术上都有了很大的提高。本文首先介绍了二进制翻译技术分类,发展情况及研究热点。由于二进制翻译系统可以认为是源码特殊的编译系统,所以,文章同时介绍了编译器中的寄存器分配这一核心技术,以及多种寄存器分配算法。通过对目前较为流行的动态二进制翻译系统QEMU(Quick EMUlator)的研究,详述了其中的翻译流程,翻译策略,以及寄存器分配方法。并以该动态二进制翻译系统的用户级模式作为本文的实验平台,通过对QEMU的翻译引擎TCG(TinyCode Generator)的研究,我们发现在翻译的前端,生成的中间码过多的依赖临时变量,使中间码冗余繁杂,不利于翻译器后端的优化。在研究分析QEMU的寄存器分配方法之后,发现该方法的很多不足,太过简单的分配策略使寄存器的利用率太低,产生不必要的寄存器间移动指令和太多的对内存的存取操作。基于以上两点分析,本文实现部分的主要工作有:1.通过修改前端代码,使全局变量不再映射到临时变量进行运算,这样极大的减少了中间码的数量,关键是精简的中间码可以更好的进行优化分析,方便后端优化算法的实现。2.考虑到QEMU翻译粒度是基本块,所以本文选择在该翻译系统后端实现线性扫描寄存器分配算法,该算法时间和空间复杂度都很低,编译速度快,易于实现,且能生成高质量的代码,能很好的满足分配效果和分配效率的权衡关系。与传统的线性扫描算法不同,在处理分配冲突时,本文并不是将整个生命期全部溢出,而是采用了分割生命期的方法,并且根据生命期的溢出权重选择溢出生命期,并尝试了两种不同的权重计算方法。根据实验结果分析,寄存器分配算法的实现虽然会增加翻译时间开销,但可以生成更高质量的宿主机代码,尤其是可以减少大量的内存存取操作,减少系统的总体运行时间,具有现实的可行性。
其他文献
查阅、分析近年来中医药化浊降脂法治疗非酒精性脂肪肝的文献,从单味药、复方汤剂和中成药3个方面对其进行综述,并给予总结和评述。
本文对西方新闻传播学在社交网络中的隐私侵权问题领域的文献进行了分析,认为这些研究主要集中在以下三大方面:一、媒介新技术对隐私的威胁以及社交网络中的隐私悖论问题;二
模糊综合评价过程中,针对评语集B的处理通常采用最大隶属度原则,引入最大隶属度原则有效度指标,判断评价结果的有效性。实验结果表明,最大隶属度原则并不是普遍适用,存在失效
乌兰布和沙漠在内蒙古自治区磴口县境内 ,面积有近 33万hm2 (5 0 0万亩 ) ,它和紧相毗邻的巴丹吉林、腾格里、库布齐、毛乌素等几大沙漠形成的风沙暴直接威胁着我国东部生态环
武术散打历史悠久,具有深厚的文化底蕴,是中国传统体育项目。散打运动历经了三十来年的实践磨练,已经发展成为一项比较成熟的竞技体育运动。由国家武术管理运动中心,在2002年正式
本文针对各级电力公司安全培训考试的特点,通过详细的需求分析,依照传统安全培训考试的生命周期开发出一套在线的安全培训系统。在开发过程中作者运用面向对象的设计思想,把程序
矿区开发是一项较为复杂、且对周边环境影响较大的生产活动,矿产资源在开发过程中不可避免地要破坏周边环境,造成大气、水体、土壤污染,破坏矿区周边生态平衡,同时进一步影响
随着全球经济一体化的迅速发展,世界各国人民更加渴望彼此的交流与沟通,口译媒介因扮演着传递文化思想、推动文化交往的重要角色而广受关注。由于各国之间语言和文化的不同,口译
冰酒,是一种甜葡萄酒。它是在气温较低时,利用葡萄树上自然冰冻的葡萄酿制而成的葡萄酒,由于其生产工艺复杂,对产地的要求极为苛刻,使全世界冰酒的产量很少。目前在我国,只有
薪酬公平对薪酬满意度具有极为重要的影响,从而影响着员工的行为,最终作用于组织绩效。公平的薪酬政策将会激励员工的积极行为,创造和谐上进的工作氛围。将立足于公平理论,分