状态信息控制方法及装置制造方法及图纸

技术编号:15541085 阅读:88 留言:0更新日期:2017-06-05 10:39
本发明专利技术提供一种状态信息控制方法及装置,该方法应用于虚拟平台中的宿主机,所述宿主机中包括虚拟化状态全局控制寄存器、多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器,该方法包括:宿主机在第一虚拟机的处理器状态信息更新时创建第一虚拟机更新状态操作指令;宿主机读取虚拟化状态全局控制寄存器中保存的第一虚拟机对应的第一分组寄存器组的标识;宿主机根据该标识,对第一分组寄存器组执行第一虚拟机更新状态操作指令。使用该方法,当宿主机模拟虚拟机的处理器状态信息时,只需要使用传统指令,将这些传统指令发往虚拟化状态全局控制寄存器中的分组寄存器组中即可,从而节省了系统开销,提升了虚拟化效率。

State information control method and device

The present invention provides a method and apparatus for controlling the state information, this method is applied to the virtual platform in the host, including a virtual state of the global control register, a plurality of packets registers the host, each packet register group includes at least one packet registers, the method includes: processor state information update in the host the first virtual machine to create the first virtual machine status update operation instruction; the host reads the first global virtual state corresponding virtual machine register control registers the first packet identifier; the host machine according to the identification of the first packet registers to perform the first virtual machine status update operation instruction. Using this method, when the processor state information of the host virtual machine, only need to use the traditional instruction, the traditional instruction is sent to the virtual state of the global control registers in the register can be grouped, so as to save system cost, enhance the efficiency of virtualization.

【技术实现步骤摘要】
状态信息控制方法及装置
本专利技术涉及虚拟化技术,尤其涉及一种状态信息控制方法及装置。
技术介绍
在虚拟化平台中,宿主机在执行虚拟化应用的过程中,需要模拟虚拟机的处理器状态,当虚拟机的处理器状态改变时,宿主机上的所模拟的虚拟机的处理器状态也需要进行相应改变,以保证宿主机所执行的虚拟化应用能够正确执行。现有技术中,宿主机将需要模拟的虚拟机的处理器状态信息保存在宿主机的内存中,当虚拟机的处理器状态信息改变时,宿主机通过执行大量的访存指令来相应地更新宿主机内存中所保存的虚拟机的处理器状态信息。但是,现有技术使用宿主机内存来保存虚拟机的处理器状态信息,需要使用大量的访存指令来更新内存中的虚拟机的处理器状态信息,而大量访存指令的执行会引起系统开销过大,进而导致虚拟化的效率低下。
技术实现思路
本专利技术提供一种状态信息控制方法及装置,用于解决现有技术中执行虚拟化执行系统开销过大,导致虚拟化效率低下的问题。本专利技术第一方面提供一种状态信息控制方法,所述方法应用于虚拟平台中的宿主机,所述宿主机中包括:虚拟化状态全局控制寄存器、多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应,其中,所述分组寄存器组用于保存对应虚拟机的处理器状态信息,所述方法包括:所述宿主机在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令,所述第一虚拟机为所述宿主机当前运行的虚拟机;所述宿主机读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。结合第一方面,在第一方面的第一种可能的实施方式中,所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令之前,还包括:所述宿主机获取所述多个虚拟机的数量N,以及N个虚拟机的标识;所述宿主机创建N组所述分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述宿主机中还包括:虚拟化状态临时控制寄存器;所述方法还包括:所述宿主机创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定所述第二虚拟机更新状态操作指令对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;所述宿主机将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述方法还包括:所述宿主机根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述宿主机根据所述更新后的第二虚拟机更新状态操作指令中的所述前缀,对相应的所述至少一个第二分组寄存器组分别执行所述更新后的第二虚拟机更新状态操作指令之后,还包括:所述宿主机将所述虚拟化状态临时控制寄存器中的值清零。本专利技术第二方面提供一种状态信息控制装置,所述状态信息控制装置集成于虚拟平台的宿主机中;所述状态信息控制装置,包括:处理单元、虚拟化状态全局控制寄存器和多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器;其中,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应;所述虚拟化状态全局控制寄存器,用于存储宿主机当前所运行的虚拟机的所对应的分组寄存器组的标识;每个所述分组寄存器组,用于存储对应虚拟机的处理器状态信息;所述处理单元,用于在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令;读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。结合第二方面,在第二方面的第一种可能的实施方式中,所述处理单元还用于:获取所述多个虚拟机的数量N,以及N个虚拟机的标识;创建N组所述分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述装置还包括:虚拟化状态临时控制寄存器;相应地,所述处理单元还用于:创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定所述第二虚拟机更新状态操作指令对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。结合第二方面的第二种可能的实施方式中,在第二方面的第三种可能的实施方式中,所述处理单元还用于在将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中之后,根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。结合第二方面的第三种可能的实施方式中,在第二方面的第四种可能的实施方式中,所述处理单元还用于:将所述虚拟化状态临时控制寄存器中的值清零。本专利技术所提供的状态信息控制方法及装置中,虚拟机的处理器状态信息被保存在了宿主机中与该虚拟机一一对应的分组寄存器组中,同时,宿主机中设置了虚拟化状态全局控制寄存器用于保存当前运行的虚拟机对应的分组寄存器组的标识,当虚拟机的处理器状态信息更新时,只需要创建普通的虚拟机操作指令,并将虚拟机操作指令发往对应的分组寄存器组中即可,而不再需要通过访存指令操作内存来模拟虚拟机的处理器状态信息,从而节省了系统开销,提升了虚拟化效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的状态信息控制方法实施例一的流程示意图;图2为本专利技术实施例提供的虚拟化状态全局控制寄存器设置方法示意图;图3为本专利技术实施例提供的根据虚拟化状态全局控制寄存器执行指令示意图;本文档来自技高网...
状态信息控制方法及装置

【技术保护点】
一种状态信息控制方法,其特征在于,所述方法应用于虚拟平台中的宿主机,所述宿主机中包括:虚拟化状态全局控制寄存器、多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应,其中,所述分组寄存器组用于保存对应虚拟机的处理器状态信息,所述方法包括:所述宿主机在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令,所述第一虚拟机为所述宿主机当前运行的虚拟机;所述宿主机读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。

【技术特征摘要】
1.一种状态信息控制方法,其特征在于,所述方法应用于虚拟平台中的宿主机,所述宿主机中包括:虚拟化状态全局控制寄存器、多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应,其中,所述分组寄存器组用于保存对应虚拟机的处理器状态信息,所述方法包括:所述宿主机在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令,所述第一虚拟机为所述宿主机当前运行的虚拟机;所述宿主机读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。2.根据权利要求1所述的方法,其特征在于,所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令之前,还包括:所述宿主机获取所述多个虚拟机的数量N,以及N个虚拟机的标识;所述宿主机创建N组所述分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。3.根据权利要求1或2所述的方法,其特征在于,所述宿主机中还包括:虚拟化状态临时控制寄存器;所述方法还包括:所述宿主机创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;所述宿主机将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。4.根据权利要求3所述的方法,其特征在于,所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中之后,还包括:所述宿主机根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。5.根据权利要求4所述的方法,其特征在于,所述宿主机根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作...

【专利技术属性】
技术研发人员:靳国杰高翔
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1