基于龙芯3A的并行化动态二进制翻译中原子指令研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:xingzhe1689
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于IT行业的持续发展和人们对各种程序的性能的要求持续提高,处理器的研究也在持续发展,处理器的运算速度也随之持续上升。单核时期,Mooreslaw反应了处理器的发展规律,采用增加处理器频率的办法而改善处理器的运算速度是单核条件下的主要解决途径。但是随着性能的提升,功耗也急速提升,从而主频的上升空间已经越来越小。现在处理器的主要发展趋向,已经从单核走向了多核。通过多核并行计算处理操作系统和应用程序的命令与任务,从而提升处理器的处理能力,已经成为主流的方法。   龙芯处理器是我国自主研发的基于MIPS指令集的处理器,目前已经研究开发出了龙芯的多核处理器型号——龙芯3A处理器。但是目前的处理器体系结构中,X86体系结构仍然占据主导地位,并且许多应用软件与操作系统都是基于X86体系结构开发的,因此,为了使龙芯可以有更好的通用性和更多的用户,如何处理MIPS和X86之间的兼容性就尤为重要。动态二进制翻译则为处理这类难题的最佳途径之一,通过模拟器,将X86的指令动态地翻译为MIPS的指令并且在龙芯主机上执行,可以使兼容的难题得到解决。QEMU是目前开源软件中的一款对龙芯支持比较好的二进制翻译软件,拥有用户统模拟和系统级模拟。   本文在研究了QEMU如何虚拟多个核的方法之后,主要分析了QEMU并行化的基本方法,最终采用了将QEMU虚拟出的CPU,每个CPU都分别进行线程化,再针对翻译块、内存以及I/O等方面进行相关的修改,从而改善和完成针对龙芯体系结构的QEMU的并行化,使其可以在x86平台下稳定的运行。随后将多核多线程并行化的QEMU移植到龙芯3A平台上,解决移植过程中遇到的一些关键问题。而在移植过程中,最主要的一项难题便是X86与MIPS体系结构下的原子指令问题,本文针对了32位、16位、8位对齐情况下的原子指令,64位情况下的原子指令以及非对齐情况下的原子指令三种情况,分别给出了详细的原子指令问题的解决方案,使得并行化的QEMU代码,可以移植到龙芯3A平台下稳定地运行,经过了相关的实验和测试,从而合理的利用龙芯3A的多核优势运行X86的操作系统和应用软件。
其他文献
互联网发展初期,人们利用互联网主要是为了解决科研等工作中的沟通问题。但随着互联网的发展,以多媒体业务、P2P、VoIP、高速上网为代表的新业务不断涌现,尤其是P2P,经常是导致网
无线自组织网络(Wireless Ad hoc Network)是由多个无线终端所组成的多跳无线网络。由于它的临时自组织以及无基础设施的特性,使得传统有中心网络的MAC(Medium Access Control
随着3G无线通讯技术的发展,智能移动设备将成为未来动态信息接收的良好终端,将随时随地的获取信息,接入互联网,成为移动互联网。尤其,Android智能平台的异军突起和不断普及,
序列图像中运动目标跟踪技术研究是指对视频中的运动目标进行检测、识别和跟踪,该技术在视频监控、机器人技术、图像检索、图像压缩等研究领域有着重要应用。其中,运动目标检测
在高速发展的市场经济时代,供应链管理是企业提高竞争力非常重要的环节之一。现阶段,产品的供应链管理已经足够成熟,但是服务备件作为售后市场的主体,它在企业供应链中占据着越来越重要的地位,尤其是现阶段产品利润并不高,产品售后服务已成为制造商增加效益的关键。网络优化是供应链管理中重要的一部分,通过对库存、物流、建设费用等因素的综合考虑,合理地分配服务备件供应链网络,能够使整个服务备件供应链网络的经营总成本
三维可视化是科学计算可视化的一部分,它的目标是将科学计算、工程学、医学等领域的数据以三维图像的形式呈现给用户,相比二维图像,它能够提供更加直观、准确和丰富的信息。三维
介词短语是汉语中一种重要的短语类型,在汉语中占有较大的比例。介词短语的正确识别可以简化句子结构;缩小中心动词的选择范围;降低句法分析的难度。基于介词短语识别的重要性,
随着虚拟化技术的高速发展,虚拟机实时迁移技术已经广泛应用于系统维护,负载均衡,数据备份,容错,节能等领域。目前,虚拟机实时迁移主要使用内存的预拷贝算法。在虚拟机中内存写速率
人脸识别作为一种重要的生物特征识别技术,在身份认证中扮演着重要角色。在人脸识别过程中,图像预处理和特征提取占有重要的地位。光照处理和人脸几何矫正是图像预处理的主要内
尽管soft update、日志、事务、错误校验码、数据备份等机制的使用,让文件系统的可靠性得到了很大的提高,但是文件系统错误仍然时有发生。传统上,我们依赖于如fsck这样的检查工