[发明专利]一种处理敏感指令的方法、装置以及物理机有效
申请号: | 201310066697.8 | 申请日: | 2013-03-01 |
公开(公告)号: | CN103197915A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 严晓丹 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/455 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 敏感 指令 方法 装置 以及 物理 | ||
技术领域
本发明涉及计算机虚拟化领域,尤其涉及一种处理敏感指令的方法、装置以及物理机。
背景技术
在虚拟化领域中,虚拟化技术扩大了硬件的容量,简化了软件的重新配置过程,实现了在一台物理主机上虚拟多个虚拟机,并且同时在各个虚拟机上运行一个独立的操作系统,从而显著提高计算机的工作效率,其中,这些独立的操作系统称为客户机操作系统(Guest Operating System,Guest OS)。
在现有技术中,通常采用硬件虚拟化技术访问处理器。在Xen构架下的虚拟机系统中,Xen为虚拟机监视器,虚拟机不能处理敏感指令,如中央处理器(Central Processing Unit,CPU)指令中一部分指令为敏感指令。此时虚拟机陷入(Virtual Machine Exit,VM Exit)Xen中,由Xen来处理敏感指令。在敏感指令处理完成之后,通过虚拟机进入(Virtual Machine Entry,VM Entry)操作返回虚拟机内部继续处理下一条指令。当下一条指令为敏感指令时,采用上述方法处理敏感指令;当下一条指令为非敏感指令时,虚拟机直接处理该非敏感指令。
然而,在现有技术中,每当虚拟机执行一条敏感指令时,就需要在一次虚拟机陷入中处理一条敏感指令。当出现连续的敏感指令访问时,虚拟机在短期内需要执行大量敏感指令,导致大量的虚拟机陷入,使得虚拟机性能下降。
发明内容
本发明提供的一种处理敏感指令的方法、装置以及物理机,可以实现减少虚拟机陷入的次数,提高虚拟机的性能。
第一方面,本发明提供一种处理敏感指令的方法,包括:在虚拟机处理待处理的敏感指令导致陷入之后,获取所述待处理的敏感指令对应的内存地址当所述待处理的敏感指令对应的内存地址与保存的任意一个敏感指令集中起始指令对应的内存地址相同时,获取与所述待处理的敏感指令对应的内存地址相同的起始指令所属的敏感指令集,其中,所述敏感指令集包括至少两条敏感指令,且所述敏感指令集的起始指令和结尾指令均为敏感指令;根据获取的所述敏感指令集记录的指令及所述指令的执行顺序处理所述敏感指令集。
结合第一方面,在第一种可能的实施例中,所述敏感指令集包括至少两条敏感指令和至少一条非敏感指令。
结合第一方面中的第一种可能的实施例,在第二种可能的实施例中,所述根据所述敏感指令集记录的指令及所述指令的执行顺序处理所述敏感指令集,包括:按照所述指令的执行顺序,处理所述敏感指令集中的第一指令;在处理第一指令之后,获取所述第一指令的长度;根据所述第一指令的长度,修改指令指针IP寄存器指向的地址为所述敏感指令集中的第二指令对应的内存地址,以便根据上述处理所述第一指令的方法处理所述第二指令。
结合第一方面中的第二种可能的实施例,在第三种可能的实施例中,所述根据所述敏感指令集记录的指令及所述指令的执行顺序处理所述敏感指令集,包括:按照所述指令的执行顺序,处理所述敏感指令集;在处理所述敏感指令集之后,获取所述敏感指令集的长度;根据所述敏感指令集的长度,修改IP寄存器指向的地址为下一条待处理指令对应的内存地址,以便处理所述待处理指令。
结合第一方面中的前述任一种可能的实施例,在第四种可能的实施例中,所述方法还包括:当所述待处理敏感指令对应的内存地址与保存的每个敏感指令集中起始指令对应的内存地址均不相同时,直接处理所述待处理的敏感指令。
第二方面,本发明提供一种处理敏感指令的装置,包括:第一获取模块,用于在虚拟机处理待处理的敏感指令导致陷入之后,获取所述待处理的敏感指令对应的内存地址,并将所述处理的敏感指令对应的内存地址发送给第二获取模块;所述第二获取模块用于接收所述第一获取模块发送的所述待处理的敏感指令,当所述待处理的敏感指令对应的内存地址与保存的任意一个敏感指令集中起始指令对应的内存地址相同时,获取与所述待处理的敏感指令对应的内存地址相同的起始指令所属的敏感指令集,并将所述敏感指令集发送给处理模块;其中,所述敏感指令集包括至少两条敏感指令,且所述敏感指令集的起始指令和结尾指令均为敏感指令;所述处理模块用于根据所述第二获取模块获取的所述敏感指令集记录的指令及所述指令的执行顺序处理所述敏感指令集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310066697.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:功率集成电路器件
- 下一篇:具有改进的连接的阀门组件