[发明专利]并行多核虚拟机的原子指令模拟方法及虚拟机装置有效
申请号: | 201210127348.8 | 申请日: | 2012-04-26 |
公开(公告)号: | CN102662730A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 靳国杰;高翔 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/38 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 多核 虚拟机 原子 指令 模拟 方法 装置 | ||
1.一种并行多核虚拟机的原子指令模拟方法,所述虚拟机根据目标CPU的内核个数,创建与所述CPU内核个数相等的多个CPU线程,其特征在于,所述方法包括以下步骤:
所述多个CPU线程中的第一CPU线程向其他CPU线程发送请求等待信号;
接收到所述请求等待信号的其它CPU线程在原执行地址暂停,并返回确认信号;
所述第一CPU线程接收到所有其他CPU线程的确认信号后执行原子访存指令;
向处于原执行地址暂停的CPU线程发送撤消等待信号;
接收到所述撤消等待信号的CPU线程由原执行地址继续执行。
2.根据权利要求1所述的一种并行多核虚拟机的原子指令模拟方法,其特征在于,所述虚拟机提供在CPU线程间发送消息的通讯机制。
3.根据权利要求2所述的一种并行多核虚拟机的原子指令模拟方法,其特征在于,所述在CPU线程间发送消息的通讯机制是消息队列机制、共享内存机制、windows的消息机制和socket通讯机制中的一种。
4.根据权利要求1所述的一种并行多核虚拟机的原子指令模拟方法,其特征在于,所述接收到请求等待信号的CPU线程以忙等待方式或者以阻塞等待方式在原执行地址暂停。
5.根据权利要求1所述的一种并行多核虚拟机中基于线程同步的原子指令模拟方法,其特征在于,所述CPU线程在执行原子访存指令时,其它CPU线程处于暂停状态。
6.一种虚拟机装置,其特征在于,包括:
线程创建模块,用于根据目标CPU的内核个数,创建与所述CPU内核个数相等的多个CPU线程,所述多个CPU线程包括第一CPU线程和其他CPU线程;
线程调度模块,用于调度所述多个CPU线程,其中,所述第一CPU线程向其他CPU线程发送请求等待信号,接收到所述请求等待信号的其它CPU线程在原执行地址暂停,并返回确认信号,所述第一CPU线程在执行原子访存指令后,向处于原执行地址暂停的CPU线程发送撤消等待信号;
执行模块,用于当所述第一CPU线程接收到所有其他CPU线程的确认信号后执行原子访存指令。
7.根据权利要求6所述的一种虚拟机装置,其特征在于,所述线程调度模块采用的通讯机制是消息队列机制、共享内存机制、windows的消息机制和socket通讯机制中的一种。
8.根据权利要求6所述的一种虚拟机装置,其特征在于,所述线程调度模块采用忙等待方式或者阻塞等待方式使接收到所述请求等待信号的CPU线程在原执行地址暂停。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210127348.8/1.html,转载请声明来源钻瓜专利网。