[发明专利]一种平台虚拟化系统在审
申请号: | 201310466848.9 | 申请日: | 2013-10-09 |
公开(公告)号: | CN103793260A | 公开(公告)日: | 2014-05-14 |
发明(设计)人: | 刘东红;郭长国;李永红;朱燕;刘伟华;孙巍 | 申请(专利权)人: | 中国电子设备系统工程公司研究所;普华基础软件股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 核工业专利中心 11007 | 代理人: | 高尚梅 |
地址: | 100141 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平台 虚拟 系统 | ||
1.一种平台虚拟化系统,在龙芯处理器平台上运行X86架构虚拟机,包括如下部分:
CPU模拟器:首先读取X86架构代码指令,判断所述指令基本块是否已翻译,若未翻译,则进行翻译并写入龙芯平台中的指令寄存块;若已翻译,则在龙芯平台上执行已翻译过的代码块并指向下一个X86架构代码指令,循环判断并执行;
上述翻译过程采用二进制翻译器实现,二进制翻译器包括翻译引擎和执行引擎;其中翻译引擎把X86架构代码翻译成龙芯平台代码;执行引擎准备龙芯平台代码运行的上下文环境,然后从龙芯平台代码缓存中找到X86架构代码所对应的龙芯平台代码并执行;
内存虚拟化模块:采用影子页表方法;
外设虚拟化模块:针对每一个外设设备分别建立相应的设备模型,X86架构虚拟机通过设备模型与外设设备进行行交互,实现设备发现和访问使用。
2.根据权利要求1所述的一种平台虚拟化系统,其特征在于:所述二进制翻译器,实现如下步骤:
首先读取X86架构指令,将该指令放入解码/分派循环;
在解码/分派循环中,X86架构指令被解释为龙芯平台指令;
根据龙芯平台指令执行对应的解释执行函数。
3.根据权利要求1所述的一种平台虚拟化系统,其特征在于:对于多条X86架构指令,逐条进行解码和执行。
4.根据权利要求1所述的一种平台虚拟化系统,其特征在于:所述龙芯平台上设有目标机器代码缓存,所述缓存由二进制翻译器的翻译引擎管理;由于X86架构虚拟机的不同进程间存在共享代码,与所述共享代码相对应的龙芯平台代码保存在所述目标机器代码缓存中;对于所述共享代码,直接在所述目标机器代码缓存中读取并执行。
5.根据权利要求1所述的一种平台虚拟化系统,其特征在于:所述影子页表方法,建立影子页表,影子页表包含X86架构虚拟机虚拟地址到龙芯平台宿主机物理地址的映射关系;X86架构虚拟机进行内存读写时,通过影子页表中的地址映射关系得直接到龙芯平台宿主机物理地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子设备系统工程公司研究所;普华基础软件股份有限公司,未经中国电子设备系统工程公司研究所;普华基础软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310466848.9/1.html,转载请声明来源钻瓜专利网。