CN106775919A - 状态信息控制方法及装置 - Google Patents

状态信息控制方法及装置 Download PDF

Info

Publication number
CN106775919A
CN106775919A CN201510823943.9A CN201510823943A CN106775919A CN 106775919 A CN106775919 A CN 106775919A CN 201510823943 A CN201510823943 A CN 201510823943A CN 106775919 A CN106775919 A CN 106775919A
Authority
CN
China
Prior art keywords
virtual machine
packet
register group
state
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510823943.9A
Other languages
English (en)
Other versions
CN106775919B (zh
Inventor
靳国杰
高翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201510823943.9A priority Critical patent/CN106775919B/zh
Publication of CN106775919A publication Critical patent/CN106775919A/zh
Application granted granted Critical
Publication of CN106775919B publication Critical patent/CN106775919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems

Abstract

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

Description

状态信息控制方法及装置
技术领域
本发明涉及虚拟化技术,尤其涉及一种状态信息控制方法及装置。
背景技术
在虚拟化平台中,宿主机在执行虚拟化应用的过程中,需要模拟虚拟机的处理器状态,当虚拟机的处理器状态改变时,宿主机上的所模拟的虚拟机的处理器状态也需要进行相应改变,以保证宿主机所执行的虚拟化应用能够正确执行。
现有技术中,宿主机将需要模拟的虚拟机的处理器状态信息保存在宿主机的内存中,当虚拟机的处理器状态信息改变时,宿主机通过执行大量的访存指令来相应地更新宿主机内存中所保存的虚拟机的处理器状态信息。
但是,现有技术使用宿主机内存来保存虚拟机的处理器状态信息,需要使用大量的访存指令来更新内存中的虚拟机的处理器状态信息,而大量访存指令的执行会引起系统开销过大,进而导致虚拟化的效率低下。
发明内容
本发明提供一种状态信息控制方法及装置,用于解决现有技术中执行虚拟化执行系统开销过大,导致虚拟化效率低下的问题。
本发明第一方面提供一种状态信息控制方法,所述方法应用于虚拟平台中的宿主机,所述宿主机中包括:虚拟化状态全局控制寄存器、多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应,其中,所述分组寄存器组用于保存对应虚拟机的处理器状态信息,所述方法包括:
所述宿主机在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令,所述第一虚拟机为所述宿主机当前运行的虚拟机;
所述宿主机读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;
所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。
结合第一方面,在第一方面的第一种可能的实施方式中,所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令之前,还包括:
所述宿主机获取所述多个虚拟机的数量N,以及N个虚拟机的标识;
所述宿主机创建N组所述分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述宿主机中还包括:虚拟化状态临时控制寄存器;
所述方法还包括:
所述宿主机创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定所述第二虚拟机更新状态操作指令对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;
所述宿主机将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;
所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述方法还包括:
所述宿主机根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述宿主机根据所述更新后的第二虚拟机更新状态操作指令中的所述前缀,对相应的所述至少一个第二分组寄存器组分别执行所述更新后的第二虚拟机更新状态操作指令之后,还包括:
所述宿主机将所述虚拟化状态临时控制寄存器中的值清零。
本发明第二方面提供一种状态信息控制装置,所述状态信息控制装置集成于虚拟平台的宿主机中;所述状态信息控制装置,包括:处理单元、虚拟化状态全局控制寄存器和多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器;其中,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应;
所述虚拟化状态全局控制寄存器,用于存储宿主机当前所运行的虚拟机的所对应的分组寄存器组的标识;每个所述分组寄存器组,用于存储对应虚拟机的处理器状态信息;
所述处理单元,用于在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令;读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。
结合第二方面,在第二方面的第一种可能的实施方式中,所述处理单元还用于:获取所述多个虚拟机的数量N,以及N个虚拟机的标识;创建N组所述分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。
结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述装置还包括:虚拟化状态临时控制寄存器;相应地,
所述处理单元还用于:创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定所述第二虚拟机更新状态操作指令对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。
结合第二方面的第二种可能的实施方式中,在第二方面的第三种可能的实施方式中,所述处理单元还用于在将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中之后,根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。
结合第二方面的第三种可能的实施方式中,在第二方面的第四种可能的实施方式中,所述处理单元还用于:将所述虚拟化状态临时控制寄存器中的值清零。
本发明所提供的状态信息控制方法及装置中,虚拟机的处理器状态信息被保存在了宿主机中与该虚拟机一一对应的分组寄存器组中,同时,宿主机中设置了虚拟化状态全局控制寄存器用于保存当前运行的虚拟机对应的分组寄存器组的标识,当虚拟机的处理器状态信息更新时,只需要创建普通的虚拟机操作指令,并将虚拟机操作指令发往对应的分组寄存器组中即可,而不再需要通过访存指令操作内存来模拟虚拟机的处理器状态信息,从而节省了系统开销,提升了虚拟化效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的状态信息控制方法实施例一的流程示意图;
图2为本发明实施例提供的虚拟化状态全局控制寄存器设置方法示意图;
图3为本发明实施例提供的根据虚拟化状态全局控制寄存器执行指令示意图;
图4为本发明实施例提供的状态信息控制方法实施例二的流程示意图;
图5为本发明实施例提供的状态信息控制方法实施例三的流程示意图;
图6为本发明实施例提供的虚拟化状态临时控制寄存器设置方法示意图;
图7为本发明实施例提供的根据虚拟化状态临时控制寄存器执行指令示意图;
图8为本发明实施例提供的状态信息控制装置实施例一的结构示意图;
图9为本发明实施例提供的状态信息控制装置实施例一的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的状态信息控制方法实施例一的流程示意图,该方法应用于虚拟平台中的宿主机,该宿主机中包括:虚拟化状态全局控制寄存器、多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器,多个分组寄存器组与虚拟平台的多个虚拟机一一对应,其中,分组寄存器组用于保存对应虚拟机的处理器状态信息。如图1所示,该方法包括:
S101、宿主机在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令。
第一虚拟机更新状态操作指令可以为通用指令,也可以为跨多个分组寄存器组的特定指令。
其中,虚拟机的处理器状态信息表示虚拟机的处理器当前的运行状态,包括虚拟机的处理器中软件(比如进程)或硬件(比如寄存器)的当前状态。
S102、宿主机读取虚拟化状态全局控制寄存器中保存的第一虚拟机对应的第一分组寄存器组的标识。
虚拟化状态全局控制寄存器用于存储宿主机当前所运行的虚拟机所对应的分组寄存器组的标识,当宿主机当前所运行的虚拟机发生变化时,虚拟化状态全局控制寄存器中的分组寄存器组的标识会相应进行更新。
需要说明的是,当宿主机当前所运行的虚拟机发生变化时,宿主机会使用一个全局控制寄存器设置指令来将虚拟化状态全局控制寄存器中的分组寄存器组的标识更新为当前运行的虚拟机对应的分组寄存器组的标识,进而,第一虚拟机更新状态操作指令会针对该分组寄存器组来执行。具体地,图2为本发明实施例提供的虚拟化状态全局控制寄存器设置方法示意图,图3为本发明实施例提供的根据虚拟化状态全局控制寄存器执行指令示意图,如图2所示,宿主机根据分组寄存器组的编号来设置虚拟化状态全局控制寄存器,如图3所示,当虚拟化状态全局控制寄存器中设置了分组寄存器组之后,宿主机上需要执行的通用指令就根据虚拟化状态全局控制寄存器中的所保存的分组寄存器组的标识来读写对应的分组寄存器组所对应的寄存器。
S103、宿主机根据上述第一分组寄存器组的标识,对第一分组寄存器组执行上述第一虚拟机更新状态操作指令,以更新第一分组寄存器组中的处理器状态信息。
从而可以保证宿主机中虚拟机对应的处理器状态信息与虚拟机实际的处理器状态信息同步。
每个分组寄存器组对应一个虚拟机,每个分组寄存器组中保存这个对应虚拟机的处理器状态信息。分组寄存器组和虚拟机的一一对应关系已经进行预先设置。
假设当前运行的虚拟机为虚拟机A,其所对应的分组寄存器组为B,则虚拟化状态全局控制寄存器中所保存的为分组寄存器组B的标识,当虚拟机A的处理器状态信息发生变更后,宿主机向与虚拟机A对应的分组寄存器组B执行指令X以同步虚拟机A的处理器状态信息,具体地,宿主机只要从虚拟化状态全局控制寄存器中获取到分组寄存器组B的标识,就可以确定指令X需要发往哪个分组寄存器组,进而将指令X发往分组寄存器组B。
本实施例中,虚拟机的处理器状态信息被保存在了宿主机中与该虚拟机一一对应的分组寄存器组中,同时,宿主机中设置了虚拟化状态全局控制寄存器用于保存当前运行的虚拟机对应的分组寄存器组的标识,当虚拟机的处理器状态信息更新时,只需要创建普通的虚拟机操作指令,并将虚拟机操作指令发往对应的分组寄存器组中即可,而不再需要通过访存指令操作内存来模拟虚拟机的处理器状态信息,从而节省了系统开销,提升了虚拟化效率。
图4为本发明实施例提供的状态信息控制方法实施例二的流程示意图,如图4所示,在上述步骤S103之前,该方法还包括:
S201、宿主机获取多个虚拟机的数量N,以及N个虚拟机的标识。
上述数量N表示虚化平台中宿主机实际所关联的虚拟机的数量。
S202、宿主机创建N组分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。
宿主机按照一定规则,将分组寄存器设置为N组,每组分组寄存器包含特定个数个分组寄存器,分组完成后,宿主机建立每组分组寄存器与虚拟机的一一对应关系,例如,可以通过一个映射表来建立一一对应关系。当后续需要确定分组寄存器组时,可以通过查询这个映射表来确定。
本实施例中,通过宿主机对分组寄存器进行分组,每组对应一个虚拟机,用来模拟每个虚拟机的处理器状态信息,使得分组寄存器组与虚拟机之间建立起来一一对应关系,便与后续在虚拟机切换后快速确定对应的分组寄存器组。
图5为本发明实施例提供的状态信息控制方法实施例三的流程示意图,如图5所示,宿主机中还包括虚拟化状态临时控制寄存器,相应地,在上述步骤S101之后,该方法还包括:
S301、宿主机创建第二虚拟机更新状态操作指令,并根据第二虚拟机更新状态操作指令的属性确定第二虚拟机更新状态操作指令对应的至少一个目标虚拟机,获取该至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,目标虚拟机为非当前运行的虚拟机。
对于一些特定指令,即第二虚拟机更新状态操作指令,并不是针对当前正在运行的虚拟机,可能是针对当前非运行的虚拟机,针对这些特定指令,需要确定其需要发往的分组寄存器组,并要保证其能发到正确的分组寄存器组。
本步骤中,宿主机根据这些特定指令的属性来确定其针对的虚拟机,例如,根据指令中所携带的虚拟机标识等,再根据预先设置的虚拟机与分组寄存器组的一一映射关系来确定分组寄存器组。
S302、宿主机将上述至少一个第二分组寄存器组的标识添加到第二虚拟机更新状态操作指令的前端,形成第二虚拟机更新状态操作指令的前缀指令。
由于在设置了虚拟化状态全局控制寄存器之后,如果没有特殊要求,通用指令都会针对当前虚拟化状态全局控制寄存器对应的分组寄存器组去执行。而如果这个过程中需要更新非当前运行的虚拟机的状态信息,就可以通过本实施例,在针对非当前运行的虚拟机状态操作指令前增加一个前缀指令。该前缀指令中包括了其后的一条指令是针对哪个虚拟机的。在执行该前缀指令时,会将该前缀指令中包括的虚拟机对应的分组寄存器组标识保存在虚拟化状态临时控制寄存器,使得其后的一条指令在执行时直接根据虚拟化状态临时控制寄存器中所保存的分组寄存器组去执行。
S303、宿主机通过执行上述前缀指令将上述前缀指令对应的至少一个第二分组寄存器组的标识保存在虚拟化状态临时控制寄存器中。
另一实施例中,在上述步骤S303之后,该方法还包括:
宿主机根据虚拟化状态临时控制寄存器中保存的第二分组寄存器组的标识,对相应的至少一个第二分组寄存器组分别执行第二虚拟机更新状态操作指令,以更新至少一个第二分组寄存器组中的处理器状态信息。
具体地,图6为本发明实施例提供的虚拟化状态临时控制寄存器设置方法示意图,图7为本发明实施例提供的根据虚拟化状态临时控制寄存器执行指令示意图,如图6和图7所示,在形成前缀指令之后,执行前缀指令时,宿主机根据前缀指令中的分组寄存器组的标识来设置虚拟化状态临时控制寄存器。其中,分组寄存器组的标识优选的可以使用编号来表示。当执行到前缀之后的一条指令时,该条指令就清楚应该针对哪个分组寄存器组去执行了,即该条指令会根据虚拟化状态临时控制寄存器对应的分组寄存器组及其对应的寄存器去执行。
本实施例中,针对不是发往正在运行的虚拟机的指令,宿主机上提供了虚拟化状态临时控制寄存器,并在指令前加上设置需要发往的虚拟机的标识的前缀指令,从而能够保证指令被发往正确的分组寄存器组。
另一实施例中,在上述方法之后,该方法还包括:宿主机将虚拟化状态临时控制寄存器中的值清零。
参考图7,虚拟化状态临时控制寄存器仅针对正在执行的其中一条指令,来存储其针对的虚拟机标识,当该指令执行完成后,将虚拟化状态临时控制寄存器中的值清零,以便下一条指令可以继续使用虚拟化状态临时控制寄存器来存储其所对应的虚拟机标识。
图8为本发明实施例提供的状态信息控制装置实施例一的结构示意图,如图8所示,状态信息控制装置1集成于虚拟平台的宿主机中。状态信息控制装置1包括:处理单元11、虚拟化状态全局控制寄存器12和多个分组寄存器组13,每个分组寄存器组13包括至少一个分组寄存器131。其中,多个分组寄存器组13与虚拟平台的多个虚拟机一一对应。
优选地,状态信息控制装置1可以为宿主机中的中央处理器(CentralProcessing Unit,简称CPU)。
虚拟化状态全局控制寄存器12,用于存储宿主机当前所运行的虚拟机的所对应的分组寄存器组的标识;每个分组寄存器组13,用于存储对应虚拟机的处理器状态信息。
处理单元11,用于在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令;读取虚拟化状态全局控制寄存器中保存的第一虚拟机对应的第一分组寄存器组的标识;根据第一分组寄存器组的标识,对第一分组寄存器组执行第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。
另一实施例中,处理单元11还用于:获取多个虚拟机的数量N,以及N个虚拟机的标识;创建N组分组寄存器组,并建立虚拟机的标识与分组寄存器组之间一一对应的映射关系。
图9为本发明实施例提供的状态信息控制装置实施例二的结构示意图,如图9所示,在图8的基础上,状态信息控制装置1还包括:虚拟化状态临时控制寄存器14,虚拟化状态临时控制寄存器14用于存储宿主机当前未运行的虚拟机的虚拟机标识,相应地,处理单元11还用于:创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定所述第二虚拟机更新状态操作指令对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。
另一实施例中,处理单元11还用于在将所述至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中之后,根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。
另一实施例中,处理单元11还用于:将虚拟化状态临时控制寄存器中的值清零。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种状态信息控制方法,其特征在于,所述方法应用于虚拟平台中的宿主机,所述宿主机中包括:虚拟化状态全局控制寄存器、多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应,其中,所述分组寄存器组用于保存对应虚拟机的处理器状态信息,所述方法包括:
所述宿主机在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令,所述第一虚拟机为所述宿主机当前运行的虚拟机;
所述宿主机读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;
所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。
2.根据权利要求1所述的方法,其特征在于,所述宿主机根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令之前,还包括:
所述宿主机获取所述多个虚拟机的数量N,以及N个虚拟机的标识;
所述宿主机创建N组所述分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。
3.根据权利要求1或2所述的方法,其特征在于,所述宿主机中还包括:虚拟化状态临时控制寄存器;所述方法还包括:
所述宿主机创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;
所述宿主机将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;
所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。
4.根据权利要求3所述的方法,其特征在于,所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中之后,还包括:
所述宿主机根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。
5.根据权利要求4所述的方法,其特征在于,所述宿主机根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令之后,还包括:
所述宿主机将所述虚拟化状态临时控制寄存器中的值清零。
6.一种状态信息控制装置,其特征在于,所述状态信息控制装置集成于虚拟平台的宿主机中;所述状态信息控制装置,包括:处理单元、虚拟化状态全局控制寄存器和多个分组寄存器组,每个分组寄存器组包括至少一个分组寄存器;其中,所述多个分组寄存器组与所述虚拟平台的多个虚拟机一一对应;
所述虚拟化状态全局控制寄存器,用于存储宿主机当前所运行的虚拟机的所对应的分组寄存器组的标识;每个所述分组寄存器组,用于存储对应虚拟机的处理器状态信息;
所述处理单元,用于在第一虚拟机的处理器状态信息更新时,创建第一虚拟机更新状态操作指令;读取所述虚拟化状态全局控制寄存器中保存的所述第一虚拟机对应的第一分组寄存器组的标识;根据所述第一分组寄存器组的标识,对所述第一分组寄存器组执行所述第一虚拟机更新状态操作指令以更新所述第一分组寄存器组中的处理器状态信息。
7.根据权利要求6所述的装置,其特征在于,所述处理单元还用于:获取所述多个虚拟机的数量N,以及N个虚拟机的标识;创建N组所述分组寄存器组,并建立所述虚拟机的标识与所述分组寄存器组之间一一对应的映射关系。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:虚拟化状态临时控制寄存器;
所述虚拟化状态临时控制寄存器,用于存储宿主机当前未运行的虚拟机标识,相应地,
所述处理单元还用于:创建第二虚拟机更新状态操作指令,并根据所述第二虚拟机更新状态操作指令的属性确定所述第二虚拟机更新状态操作指令对应的至少一个目标虚拟机,获取所述至少一个目标虚拟机对应的至少一个第二分组寄存器组的标识,其中,所述目标虚拟机为非当前运行的虚拟机;将所述至少一个第二分组寄存器组的标识添加到所述第二虚拟机更新状态操作指令的前端,形成所述第二虚拟机更新状态操作指令的前缀指令;所述宿主机通过执行所述前缀指令将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中。
9.根据权利要求8所述的装置,其特征在于,所述处理单元还用于在将所述前缀指令对应的至少一个第二分组寄存器组的标识保存在所述虚拟化状态临时控制寄存器中之后,根据所述虚拟化状态临时控制寄存器中保存的所述第二分组寄存器组的标识,对相应的所述至少一个第二分组寄存器组分别执行所述第二虚拟机更新状态操作指令,以更新所述至少一个第二分组寄存器组中的处理器状态信息。
10.根据权利要求9所述的装置,其特征在于,所述处理单元还用于:将所述虚拟化状态临时控制寄存器中的值清零。
CN201510823943.9A 2015-11-24 2015-11-24 状态信息控制方法及装置 Active CN106775919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510823943.9A CN106775919B (zh) 2015-11-24 2015-11-24 状态信息控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510823943.9A CN106775919B (zh) 2015-11-24 2015-11-24 状态信息控制方法及装置

Publications (2)

Publication Number Publication Date
CN106775919A true CN106775919A (zh) 2017-05-31
CN106775919B CN106775919B (zh) 2020-03-13

Family

ID=58964440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510823943.9A Active CN106775919B (zh) 2015-11-24 2015-11-24 状态信息控制方法及装置

Country Status (1)

Country Link
CN (1) CN106775919B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858164A (zh) * 2018-08-22 2020-03-03 成都华为技术有限公司 进程间通信方法、装置及计算机可读介质
CN112288990A (zh) * 2019-07-24 2021-01-29 上海东方富联科技有限公司 基于物联数据生成物联事件的方法、系统、介质及设备
CN112667354A (zh) * 2020-12-30 2021-04-16 上海壁仞智能科技有限公司 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
CN115988218A (zh) * 2023-03-14 2023-04-18 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码系统、电子设备和存储介质
CN117176964A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码系统及方法、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101490646A (zh) * 2006-08-08 2009-07-22 英特尔公司 虚拟化性能计数器
US20130086383A1 (en) * 2011-10-04 2013-04-04 International Business Machines Corporation Virtual machine images encryption using trusted computing group sealing
CN104035811A (zh) * 2014-07-01 2014-09-10 龙芯中科技术有限公司 虚拟机现场数据的处理方法和装置
CN104050017A (zh) * 2014-07-01 2014-09-17 龙芯中科技术有限公司 运行虚拟机的控制方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101490646A (zh) * 2006-08-08 2009-07-22 英特尔公司 虚拟化性能计数器
US20130086383A1 (en) * 2011-10-04 2013-04-04 International Business Machines Corporation Virtual machine images encryption using trusted computing group sealing
CN104035811A (zh) * 2014-07-01 2014-09-10 龙芯中科技术有限公司 虚拟机现场数据的处理方法和装置
CN104050017A (zh) * 2014-07-01 2014-09-17 龙芯中科技术有限公司 运行虚拟机的控制方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858164A (zh) * 2018-08-22 2020-03-03 成都华为技术有限公司 进程间通信方法、装置及计算机可读介质
CN110858164B (zh) * 2018-08-22 2022-09-09 成都华为技术有限公司 进程间通信方法、装置及计算机可读介质
CN112288990A (zh) * 2019-07-24 2021-01-29 上海东方富联科技有限公司 基于物联数据生成物联事件的方法、系统、介质及设备
CN112667354A (zh) * 2020-12-30 2021-04-16 上海壁仞智能科技有限公司 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
CN112667354B (zh) * 2020-12-30 2022-05-06 上海壁仞智能科技有限公司 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
CN115988218A (zh) * 2023-03-14 2023-04-18 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码系统、电子设备和存储介质
CN117176964A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码系统及方法、电子设备和存储介质
CN117176964B (zh) * 2023-11-02 2024-01-30 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码系统及方法、电子设备和存储介质

Also Published As

Publication number Publication date
CN106775919B (zh) 2020-03-13

Similar Documents

Publication Publication Date Title
CN106775919A (zh) 状态信息控制方法及装置
CN103634379B (zh) 一种分布式存储空间的管理方法和分布式存储系统
CN111898049B (zh) 一种表格实现方法、装置、计算机终端设备及存储介质
CN106774277B (zh) 一种多虚拟控制器之间的数据共享方法
CN107291883A (zh) 一种分布式存储系统的快照方法及装置
CN102984124B (zh) 一种将客户端游戏程序快速植入浏览器的方法及系统
CN105718377B (zh) 虚拟化应用中拷贝磁盘数据的方法及装置
CN109995814A (zh) 云主机资源的迁移方法及装置、通信设备、存储介质
CN109783396A (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
CN104850394B (zh) 分布式应用程序的管理方法和分布式系统
CN106020959A (zh) 一种数据迁移方法和装置
CN106293781A (zh) 在线升级机器虚拟器的方法与设备
CN104035785B (zh) 双轴曲线图绘制方法和装置
CN106126115A (zh) 一种扩展虚拟机的磁盘的方法及装置
CN109697109A (zh) 一种区分识别冲突虚拟机的方法、系统、装置及存储介质
CN105718221A (zh) 一种数据存储的方法、装置和系统
CN107092413A (zh) 一种可视控件圆角化处理方法及系统
CN103218241B (zh) 补丁加载方法和装置
CN103348653A (zh) 扩容的方法和设备、以及访问数据的方法和设备
CN106598696A (zh) 一种虚拟机之间数据交互的方法及装置
CN103389893A (zh) 一种配置寄存器读写方法及装置
CN110503201A (zh) 一种神经网络分布式并行训练方法与装置
CN103218527B (zh) 一种批量添加游戏素材的方法
CN109408148A (zh) 一种国产化计算平台及其应用加速方法
CN107885527A (zh) 一种测试系统的代码修改方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP01 Change in the name or title of a patent holder