发明名称 虚拟硬件系统及其指令执行方法、以及虚拟机
摘要 本发明公开了一种虚拟硬件系统中的指令执行方法,该方法包括:在同一进程中加载多个指令文件;在执行指令时,确定待执行指令所在指令文件以及在指令文件中的程序地址,从所确定的指令文件中读取所述程序地址上的指令并执行。在跨代码段指令调用时,保存当前执行指令所在代码段信息和程序地址,然后再执行指令调用;调用返回时,返回调用前保存的代码段信息和程序地址指示的物理地址,继续执行后续指令。本发明还公开了一种虚拟硬件系统和一种虚拟机。使用本发明能够实现虚拟硬件系统中多个指令文件的加载和执行,省略了为指令文件分配互不相同程序地址的步骤,不会产生因程序地址冲突而需要重定位的情况。
申请公布号 CN101236489B 申请公布日期 2011.04.20
申请号 CN200810100920.5 申请日期 2008.02.26
申请人 北京深思洛克软件技术股份有限公司 发明人 孙吉平;韩勇
分类号 G06F9/38(2006.01)I;G06F9/46(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 北京德琦知识产权代理有限公司 11018 代理人 王一斌;王琦
主权项 一种虚拟硬件系统中的指令执行方法,其特征在于,该方法包括:在同一进程中,将多个指令文件分别加载为代码段,记录各代码段和代码段物理起始地址之间的对应关系;在执行指令时,确定待执行指令所在代码段,从所述对应关系中查找所在代码段的物理起始地址;将所查找到的物理起始地址与所述待执行指令的程序地址相加,从相加结果指示的物理地址上读取指令,并执行;在跨代码段指令调用时,记录当前执行指令的程序地址和所在代码段,将被调用指令的程序地址和被调用指令所在代码段确定为当前待执行指令的程序地址和所在代码段,从所述对应关系中查找当前待执行指令所在代码段的物理起始地址;将所查找到的物理起始地址与当前待执行指令的程序地址相加,从相加结果指示的物理地址上读取被调用指令,并执行;调用返回时,返回调用前记录的程序地址和代码段指示的物理地址,继续执行后续指令。
地址 100086 北京市海淀区中关村南大街甲6号铸诚大厦B座1201室