QEMU仿真器的代码缓存管理策略研究与实现

来源 :电子科技大学 | 被引量 : 2次 | 上传用户:c1s2d3n456
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,二进制翻译技术已成为一种用软件方法实现代码移植的重要手段。由于二进制翻译及其相关优化技术的研究在代码移植、虚拟机、网络应用、计算机安全和硬件开发等方面都具有重要意义,已经成为现代计算机研究的热点之一。二进制翻译技术通常分为解释执行、动态二进制翻译和静态二进制翻译三种。解释执行一次翻译一条指令并立即执行,并不保存翻译结果;静态二进制翻译则先对二进制指令进行静态翻译、分析,最后生成经过优化处理的本地代码;动态二进制翻译则采用边翻译边执行的策略,在执行过程中收集动态信息以便对翻译后代码块进行优化,同时保存翻译后的代码块,当代码块再次被执行时就可以直接使用缓存中的代码块,从而大大提升翻译器性能。动态二进制翻译系统中,用来缓存代码块的子系统被称为代码缓存(Translated Code Cache)。本文首先介绍了二进制翻译技术的研究现状和基本原理,然后简要介绍了QEMU平台。针对动态二进制翻译系统QEMU,研究如何为其代码缓存子系统设计一个高效的管理策略,来存放和管理已经翻译好的目标代码块。研究内容包括代码缓存空间的性能影响因素即命中时间、缺失率、缺失代价,和它的申请、分配以及组织和替换策略。文章通过针对目前动态二进制翻译系统中已有的代码缓存的替换算法的分析和对比,结合QEMU平台自身的一些特点,设计了相应的代码缓存管理策略。两种策略分别将全清空策略和FIFO策略,以及全清空策略与LRU策略相结合起来,结合了它们的优点。而且在全系统模拟的情况下,进行了实验验证,同时通过SPEC CPU2006基准测试程序进行了性能验证。实验数据表明,一种合适的代码缓存管理策略,能够使QEMU平台性能有很大提升。同时,本文提出的算法,对其他的二进制翻译器也具有重要的参考价值。
其他文献
  本文提出了一个结构化对等网络模型MCAN,实验结果表明,MCAN系统可以进一步提高路由效率;将MCAN系统应用到电子商务资源管理中,实现电子商务资源的分布式管理、发布和查询;结构
本文介绍了四种基于用户知识的主观兴趣度度量,即规则确定性、条件意外性、结果意外性和二者意外性,并对它们的算法进行了改进。最后提出了一个交互的模型来帮助用户发现有
软件工程与项目管理是成熟而博大精深的学科。在关系到软件项目成功与否的众多因素中,软件度量、工作量估计、项目规划、进展控制、需求变化和风险管理等都是与软件工程管理
本文对当前WEB应用程序开发平台中面对企业集成化出现的问题进行深入的研究,并结合XML技术,利用其规范性、自描述性、数据表达的灵活性等特点提出了针对此问题的解决方案—基
随着人机通信研究的不断深入,语音合成技术越来越受到各国学者们的关注。语音合成系统要想提高其合成的语音的自然度,关键的第一步就是汉语自动分词问题。汉语自动分词是中文信
  本文研究了CORBA规范和ORB的体系结构;提出了一个基于CORBA技术的具有良好可扩展性的分布式软件框架,定义了各模块的主要接口和模块间的交互关系,由此构建出一个满足集成管
随着科技的发展,出现了越来越多的具有计算能力的设备,而且这些设备都朝着小型化和嵌入化的方向发展,传统的以计算机为中心的计算模式和桌面模式无法克服一人多机所带来的困扰,因
  本文设计了一种树型结构的演化决策树算法。基于分类准确度、演化决策树的高度和演化代数等,提出了一种适应度函数。针对树型结构的特点,改进了遗传算法的遗传算子,并设计了
随着网络技术的发展和Internet在全球的推广,网络在给人类社会带来便利的同时,网络安全问题也困扰着网络技术的发展和应用,信息安全问题也成为社会关注的热点。在信息技术发展过
随着现代通信技术和网络的高速发展,传统网络机制已经不能够满足新型网络应用的需求。传统网络的交换设备只能进行简单的报头处理和被动的数据转发,路由协议及交换方式相对固定