基于龙芯2F的二进制翻译器QEMU的Tcache管理策略

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:a1a1b1b1ccddee
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
龙芯2F处理器是一款实现64位的MIPSⅢ指令集的高性能通用处理器芯片,采用了先进的乱序执行技术和激进的存储系统设计,充分挖掘指令级并行性,已经达到世界先进通用处理器的要求。龙芯2F是基于MIPS架构的,不过在市场应用方面,X86处理器仍处于主导地位,同时MIPS架构下的应用程序功能有限,种类较少。龙芯为了走向市场,面向更多的用户,需要实现与X86架构的兼容,在它上面运行X86程序,甚至运行windows操作系统。这就需要通过动态二进制翻译的方法将X86架构下的应用程序代码翻译成MIPS指令,从而在龙芯机器上运行X86架构下的应用程序。   QEMU是众多动态二进制翻译器中的一种,它是由FabriceBellard编写的一套开源通用cpu模拟器,在进行模拟的时候,提供了系统模拟和进程模拟让用户根据自己的需要选择。同时QEMU实现了多种异构平台之间的映射,具有平台多样性、翻效率高、易移植的特点,因此在龙芯2F上我们选取了QEMU作为二进制翻译的媒介,实现龙芯2F的全系统虚拟,使得X86架构下的应用程序或者操系统可以运行在龙芯2F的机器上。QEMU在翻译的过程中会分配一块内存空间(Tcache)来存放已翻译好的目标代码,当再次执行到这些代码块的时候,可以直接转入到Tcache中执行,从而省去了重复翻译的过程,提高了运行速度。   由于二进制翻译的过程是纯软件操作的,主要问题就体现在程序的运行速度上。本文主要针对QEMU,研究如何为它的翻译缓存子系统Tcache设计一个高效的管理策略来存放已经翻译好的代码,研究内容包括Tcache的申请、分配、组织和替换策略。本文通过分析目前二进制翻译系统中已有的Tcache的替换算法并且比较它们之间的性能,最后结合QEMU的一些特点,提出了适合QEMU的Tcache管理方法,并且在全系统模拟的情况下,进行了实验验证,同时根据nbench基准测试进行了性能验证。实验数据表明,如果采用了一个合适的Tcache管理的策略,对整体的性能有着很大的提升。
其他文献
伴随着数字媒体技术的迅猛发展,加之各类社交平台的盛行,数字图像的种类和数量呈爆炸式增长。基于内容的图像检索(Content-Based Image Retrieval,CBIR)作为一种能够从海量图
TCP稳定状态的性能会受到网络拥塞的影响,如何为可获得的网络容量(瓶颈链路)选择合适的数据是一个开放性问题。网络拥塞主要是由于发送大量的数据流(如FTP数据)而导致的。本文
随着社区化搜索技术的不断发展,博客以极快的速度融入社会生活中,成为当前互联网上较重要的一种社会媒体,并随之带来博客文章数量的指数级增长,如何在数量众多的文章中准确找到与
多核时代片上所集成的核数越来越多,龙芯芯片在继4核的龙芯3A之后也推出了8核的龙芯3B芯片。然而,程序所获得的性能提升并未随着芯片能力的提升而呈现线性增长,系统资源未被充分
互联网已经成为人们生活中不可缺少的信息获取方式。而为了更好的服务于人们,各式各样的互联网应用随之出现。其中,网络视频服务可以说扮演了非常重要的角色。而由于这种服务
随着计算机图形学的飞速发展,计算机图形在越来越多的领域发挥重要作用,比如数据可视化、虚拟现实、计算机动画和游戏制作等等。为了提高图形质量人们不断提出新的光照模型、
图的谱确定性理论是图论中的一个新兴领域,主要涉及图的邻接谱、Laplacian谱和SignlessLaplacian(拟Laplacian)谱。   “哪些图可由它的谱确定?”,这个问题半个世纪前起源于
随着互联网的发展,信息安全已备受人们的关注。信息安全的实质就是要采取必要措施保护信息系统资源免受各种类型的威胁、攻击、干扰和破坏,即保证信息的安全性。信息的安全性主
随着面向服务技术的普及,服务的整合技术也日趋成熟,但山于用户难以直接执行Web服务和进行服务组合,目前的服务组合定制性并不高,通常还会使用户陷入信息过载的困境。为了解
基于文本检索的成熟技术来解决图像检索的问题已经取得了很大成功,像Google和Baidu等商业搜索引擎都已推出了自己的基于文本的图像检索服务。但是遗憾的是,互联网上大规模的