改进QEMU的多模式指令解码研究

被引量 : 0次 | 上传用户:blue1234sky
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
二进制翻译是一种代码移植技术,它可以有效地解决软硬件冲突问题。QEMU是一款非常受欢迎的动态二进制翻译工具,它支持多源到多目标的翻译。但QEMU在翻译过程中只采用一种解码策略,即:将源代码翻译成中间代码,再根据这些中间代码拷贝已经编译好的二进制目标代码。这种单模式的解码对于指令循环较少的应用程序来说效率低下。在解码过程中,QEMU引入中间变量来减少微操作的数量,进而简化翻译过程,但中间变量的使用会引入一些冗余的内存加载操作。QEMU使用C语言编写微操作代码,这种做法虽然简化了系统实现,但由于微操作代码使用频率很高,使用C语言编写微操作使系统性能不高。针对QEMU单模式解码的问题,多模式解码方式能针对不同的指令块采用不同的模式进行翻译,从而达到加快翻译速度的目的。多模式解码采用两种模式:对于程序里执行次数比较少的指令块,对其进行解释执行,不生成基本块;对于执行次数更高的程序块,采用更费时但优化效果更好的解码方式,生成执行效率比较高的目标代码。多模式解码更加灵活,翻译速度也更快。虚拟寄存器冗余加载去除算法记录中间变量当前储存的是哪个虚拟寄存器的值,并识别下一条指令要加载的是哪个虚拟寄存器。如果下一条指令要加载的虚拟寄存器值已经加载到中间变量,那么定义下一条加载操作为冗余操作,并将其去除。冗余加载去除算法去除了程序里的冗余加载指令,提高了二进制翻译的速度。微操作在二进制翻译中被执行的频率相当高,因此微操作的执行效率非常重要。对微操作使用汇编语言重新实现,提高了微操作的代码执行效率,从而加快了整个二进制翻译过程。通过SPEC2000测试,多模式解码平均运行时间比QEMU原系统降低了30.5%。
其他文献
一般认为,典型报道为前苏联特别是中国新闻传播事业的“独特景观”。作为共产党新闻事业所特有的报道形式,它追求社会效益与宣传价值,利用各种媒体舆论工具,对某一典型(人物
骨质疏松已经成为严重影响老年人健康和生活质量的常见疾病。本文不仅简要介绍了钙磷代谢、维生素D、雌激素等大家熟知的骨质疏松的影响因素,还重点探讨了镁元素等其他矿物质
从2011年1月28日,重庆和上海两大城市正式开始试点征收房产税,但两市对个人住房房产税征收方法不同。本文通过对两市房产税进行比较,分析房产税全面征收的必要性以及探讨房产
固相微萃取(SPME)是当今色谱分析中使用极为广泛的样品前处理方法,这一技术将萃取、浓缩、解吸、进样等功能集于一体,灵敏度高且操作简便。该文简要介绍了近年来SPME涂层、装
随着国家住建部推出"绿色建筑"相关文件,建筑工业化已势在必行。装配式建筑正是建筑工业化的代表,其在施工周期、能源消耗、产品质量、环境污染等方面的优势,是普通建筑所无
能源伴随着人类历史的每一次演进,是人类生产和生活所必不可少的物质资源。能源不仅本身是经济增长的一个重要因素,而且可以通过与投资、科技、资源配置等经济增长的重要因素
一部分觉醒了的女性,拿起手中的笔,用以作为挑战男权社会的武器。女性文学,就此诞生。作为中国女性文学的第三阶段作家群中的领军人物,林白和陈染的作品代表了九十年代女性文
我国毒品滥用人数逐年增加,复吸率居高不下,因此,在严厉打击毒品犯罪的同时,如何更有效的利用社区资源,最大限度教育挽救吸毒人员,使他们的生理、心理和社会生活能力得到恢复
结合毛里求斯当地法律法规,介绍了城市道路封闭方法,对每一种封闭方法的道路导行方案进行相关设计介绍,也对交通导流牌设计标准和方法进行说明,对道路导行方案的实施过程进行
利率期限结构是金融学与经济学研究的热点问题,是资产定价、金融产品设计、风险管理的基准,也是中央银行调控短期利率以影响中长期利率的重要依据。由于我国银行间同业拆借市