[发明专利]指令分派方法和解释器有效
申请号: | 201610109699.4 | 申请日: | 2016-02-26 |
公开(公告)号: | CN107133081B | 公开(公告)日: | 2019-12-17 |
发明(设计)人: | 傅杰;靳国杰;高翔;王剑 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 11205 北京同立钧成知识产权代理有限公司 | 代理人: | 马爽;黄健 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 分派 方法 解释 | ||
本发明提供一种指令分派方法和解释器。该方法包括:在接收到第一虚拟机指令后,根据第二虚拟机指令的输出类型,获取第一虚拟机指令在指令分派表上的列偏移;以及,根据第一虚拟机指令的操作码,获取第一虚拟机指令在指令分派表上的行偏移,将行偏移存储在行索引寄存器中;将存储指令分派表首地址的基址寄存器、行索引寄存器和列偏移编码在访存指令中;在访存指令执行时,在由所述首地址、所述行偏移和所述列偏移所确定的地址处,获取第一虚拟机指令执行所需的指令模板的地址,跳转到指令模板的地址完成指令分派。进而使得指令分派过程中避免了行首地址的获取,且提高了指令模板的地址的加载速度,提高了指令分派的效率。
技术领域
本发明涉及硬件结构,尤其涉及一种指令分派方法和解释器。
背景技术
虚拟机(Virtual Machine,简称VM)主要通过软件,或者辅以少量硬件支持的方法来虚拟出一台计算机,虚拟的计算机中通常有一套自己的指令集,称为虚拟机指令集。虚拟机通常通过解释器对给定的虚拟机指令序列在本地物理机器上进行解释执行。解释器对虚拟机指令进行解释并模拟执行的效率往往决定了虚拟机系统的启动性能和响应速度。因此,对解释器进行深入分析和优化,对于优化虚拟机的设计、提升系统的性能具有重要意义。
现有的解释器对虚拟机指令进行解释执行的基本流程主要包括:取指令、指令分派、取操作数和执行等四个步骤。解释器的取指令用于接收虚拟机指令,解释器接收到的每条虚拟机指令均对应一个指令模板,每个指令模板对应一条或多条本地机器指令。解释器对一条虚拟机指令进行解释执行时,需要跳转到该虚拟机指令对应的指令模板的地址,然后执行指令模板的地址中对应的本地机器指令。当解释器解释执行完一个指令模板地址中的本地机器指令时,需要跳转到下一条虚拟机指令所对应的指令模板的地址,以继续执行虚拟机指令的解释。解释器由一个指令模板的地址跳转到另一个指令模板的地址的过程,称为解释器的指令分派过程。为实现指令分派,需要确定各虚拟机指令对应的指令模板的地址,现有方法通常根据指令模板与虚拟机指令的对应关系,建立指令分派表。指令分派表中按照指令模板对应的虚拟机指令的输出类型和操作码的不同,存储所有的指令模板的地址。
现有技术中,通常在实现每一次指令分派过程中,解释器首先根据当前虚拟机指令的上一条虚拟机指令的输出类型,获取当前虚拟机指令在指令分派中对应的行首地址,然后根据当前虚拟机指令的操作码,获取当前虚拟机指令在指令分派表中的列偏移,最后根据行首地址和列偏移在指令分派表中获取与当前虚拟机指令对应的指令模板的地址,解释器跳转到该指令模板的地址,从而完成一次指令分派。由于现有解释器工作过程中,每次指令分派均需获取一次行首地址,而为获取行首地址,以常用的64位的无内部互锁流水级的微处理器(Microprocessor without interlocked piped stages,简称MIPS)精简指令集计算机为例,需执行6条机器指令实时计算出行首地址,而一次指令分派共需执行11条机器指令。因此,现有指令分派方法中行首地址的获取开销极大,导致指令模板的地址加载速度慢,降低了指令分派的效率,进而导致解释器和虚拟机的执行效率较低。
发明内容
本发明实施例提供一种指令分派方法和解释器,用以解决现有指令分派过程中由于指令模板的地址加载速度慢,而导致指令分派效率低下的问题。
本发明实施例一方面提供一种指令分派方法,包括:
在接收到第一虚拟机指令后,根据第二虚拟机指令的输出类型,获取所述第一虚拟机指令在所述指令分派表上的列偏移,所述第二虚拟机指令为所述第一虚拟机指令的上一条虚拟机指令;以及,根据所述第一虚拟机指令的操作码,获取所述第一虚拟机指令在所述指令分派表上的行偏移,将所述行偏移存储在行索引寄存器中;
将存储所述指令分派表的首地址的基址寄存器、所述行索引寄存器和所述列偏移编码在访存指令中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610109699.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:扩展显示标识数据校验方法及系统
- 下一篇:实现同步虚拟设备组件的方法及系统