基于龙芯平台的并行化动态二进制翻译中无锁队列的研究

被引量 : 0次 | 上传用户:hz_gyf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,主流的桌面和服务器软件均基于x86平台开发,但是龙芯是基于MIPS指令集的处理器,因此,如何让现有x86平台的软件兼容MIPS架构,成为了国产芯片发展的重要问题。二进制翻译是实现x86软件与龙芯cpu兼容的一种重要方法,目前龙芯平台上主要使用QEMU作为全系统模拟器,它已能通过二进制翻译技术将windows XP操作系统运行在龙芯平台上,但其性能有待提高。在处理器频率发展步入2GHz以后,凭借提升处理器效率而带来的性能提升愈加有限,为了保证摩尔定律继续有效,多核处理器已经成为潮流。但是现有的全系统模拟是串行模拟,只使用了主机处理器单个核心的资源,因此全系统模拟的并行化迫在眉睫。真正实现并行的系统级模拟,会大大提升机器的速度和性能,最终实现国产芯片的商业产业化。如何让龙芯平台在模拟x86时能发挥其核心数量优势,渐渐成为研究的重点。目前基于QEMU的并行化全系统模拟在业内已经有人开始研究,比如PQEMU, HQEMU, COREMU都在不同角度对QEMU进行并行化研究,但是这些并行的全系统模拟器都没用使用龙芯平台作为宿主机器。本文主要分析了QEMU的运行原理,QEMU对SMP机器的模拟原理以及现有的并行化QEMU的实现手段。本文选择将QEMU对SMP机器的模拟由串行改为并行,把QEMU对SMP机器不同核的模拟逻辑封装到不同的线程里,由操作系统对这些线程进行调度,使这些线程并发地执行在龙芯的多个核上,从而达到多核龙芯模拟多核X86机器的目的。这种并行化方法需要解决两个关键问题:原子指令翻译问题和SMP机器的中断模拟问题。本人所在课题组曾提出过一种基于gcc内置原子操作函数的原子指令翻译方案,但是经本人研究发现这种翻译方案存在问题,一是对简单指令翻译的膨胀都超过复杂指令,二是在解决非对齐原子指令时,不能完备地应对所有可能出现的情况。本文提出了一种新的直接使用MIPS的11/sc指令对的原子指令翻译方案,该方案不存在冗余操作,并且能完备地解决非对齐原子指令翻译问题。本文使用了linux实时信号与FIFO队列来实现对SMP机器中断的模拟。为保证中断模拟效率,有必要使用无锁技术实现FIFO队列。本文根据MIPS的11/sc指令对的特点,以及中断模拟中无锁队列的特性,提出了一种能够避免ABA问题的无锁队列的算法,大大提高了中断模拟效率。最终QEMU能并行地运行在龙芯3A平台下,达到了充分利用龙芯主机平台核心数量优势的目的。
其他文献
对英语学习者来说,阅读是需要掌握的最基本、最重要的技能。高职英语课程标准明确要求,高职英语课应教给学生基本的阅读技能,培养学生阅读策略的运用。从学生的学习兴趣,认知
教职工工资管理是高校财务管理工作的基础性工作之一,是涉及到所有教职工切身利益的一项重要工作,关系到高等院校教职员工队伍的稳定和发展。随着信息技术的飞速发展和高校信息
以GIS技术和SPSS软件为工具,根据巴马瑶族自治县人口统计数据,分析了该县各乡镇平均人口密度与地形指数、土地利用、主要道路和河流水系等因素的相关关系。通过分析各影响因
对大数据在各行业的应用进行分析,结合通信运营的业务特点,对大数据给运营商带来的机遇和挑战进行论述。由于数据量巨大,且数据类型极为复杂,传统技术手段无法满足要求,因此
目的:应用四维超声心动图技术评价扩张型心肌病(DCM)患者的右心室收缩功能,并探讨DCM患者右室心肌各个节段局部运动对于右心室整体收缩功能的影响,分析右心室收缩功能变化及局部心
【正】古代清官离任时,每每触景生情,思绪万千;常常洗刷心灵,顿生良知。或自省、自责、自愧,或亲民、爱民、颂民……百感交集,一吐心迹,皆成诗文。白居易——追悔己过唐代大
考察西藏社会历史的发展过程,有一个十分突出的特点,就是西藏在长达800多年的封建农奴制社会的发展过程中,商品经济的萌芽和发展困难重重,始终未能形成足以摧毁封建经济的强
"仿生学"是产生于上个世纪中期的用于研究生物学的一门新的学科。如今,它正朝着多学科相互交叉的方向发展,并对相关学科和文化的发展起到了促进作用。本文对舞蹈中的仿生学进
根据交通规划中交通流量、道路状况、人口分布等相关因素和最佳站距公式确定的站距,通过GIS的缓冲区分析、叠加分析及克里金插值等空间分析方法,以形象、易于理解、可视化方
在完成基于COMSOL软件水平井阵列感应测井响应三维数值计算技术研究基础上,以三层地层为例,详细计算分析水平井和斜井中井位置、目的层厚、目的层电导率、围岩电导率以及目的