一种RISC处理器装置及其多模式下数据处理方法制造方法及图纸

技术编号:2830114 阅读:245 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种PISC处理器装置及其多模式下数据处理方法。该处理器装置包括判断模块,指令译码器和运算部件,其中:所述判断模块,用于区分指令的虚拟机指令集模式;所述指令译码器,用于在指令译码过程中,根据判断模块区分出的指令的虚拟机指令集模式,并将指令按照所区分的虚拟机指令集模式,进行译码后输出给运算部件;所述运算部件,用于根据指令译码器的输出,进行处理,输出执行的结果。其大大提高计算机性能。

【技术实现步骤摘要】

本专利技术涉及计算机微处理器
,特别是涉及复杂指令集计算机 (RISC)处理器装置以及其在多种虚拟机运行模式下数据处理方法。
技术介绍
复杂指令集计算机(Complex Instruction Set Computing, CISC)和精简指 令计算机(Reduced Instruction Set Computing, RISC)是当前CPU的两种架构。 不同架构的处理器只能执行自己的指令集,如Intel的机器只能执行80X86的 指令集(一种CISC指令集),不能执行RISC的指令集;而RISC架构的计 算不能执行80X86的指令集。而由于这种硬件体系结构的不同,操作系统和 各种应用软件通常只能在特定架构的计算机上执行,如RISC架构的微处理器 不能充分利用X86系列机器已有的广泛的应用软件。为了克服上述缺陷,更充分地使用有限的计算机软硬件资源,出现了虚拟 机技术。虚拟机是处于计算机软件和硬件中的一个虚拟的中间层,用来给上层的应 用软件程序或者操作系统提供一个所需要的虚拟软件/硬件平台。上层的应用 软件程序或者操作系统是通过这处虚拟的中间层,如虚拟机监视器(Virtual Machine Monitor, VMM)来与硬件进行通信,由VMM来决定其对系统上所 有虚拟硬件设备的访问。在具有多种模式的多个虚拟机在处理器中运行时,处 理器执行指令过程中,将不同模式下的虚拟机指令翻译成本处理器可以执行的 指令,并在指令执行完毕后将执行结果翻译成虚拟机指令执行结果,传输给虚 拟机。但是,现有技术中,由于虚拟机在运行过程中,需要执行大量的代码,而 在不同的虚拟机上执行时,其语义是有区别的,即同一条指令在RISC处理器 和X86处理器上的语义是有区别的,如加法指令x86上除了计算结果外还要 根据结果计算EFLAG标志位等,这样在处理器翻译过程中,更需要大量的翻译工作,从而从整体上降低的处理器的性能。因此,如何解决处理器在虚拟机 指令翻译中区分指令所处模式的问题,成为了业界迫切需要解决的问题。
技术实现思路
本专利技术所要解决的问题是提供一种RISC处理器装置及其多模式下数据处 理方法,其大大提高计算机性能。为实现本专利技术目的而提供的一种RISC处理器装置,包括判断模块,指令 译码器和运算部件,其中所述判断模块,用于区分指令的虚拟机指令集模式;所述指令译码器,用于在指令译码过程中,根据判断模块区分出指令的虚 拟机指令集模式,将指令按照所区分的虚拟机指令集模式,进行译码后输出给 运算部件;所述运算部件,用于根据指令译码器的输出,进行处理,输出执行的结果。 所述判断模块可以为一第一控制寄存器;所述第一控制寄存器,包括控制位标志,当该控制位标志为1时表示此时相应的指令运行在X86虚拟机指令集模式下;当该控制位标志为0时表示指令运行在非X86虚拟机指令集模式下。所述判断模块也可以为一包含在指令译码器中的前缀指令模块; 所述前缀指令模块,所述前缀指令模块包括一前缀指令,用于表示该指令后的多条指令处于X86虚拟机指令集模式下。所述前缀指令包括一范围参数,用于表示前缀指令的影响范围。 所述范围参数是l,表示该前缀指令只影响其后的一条指令;或者是不为1的整数n,表示该前缀指令影响其后的n条指令。当所述判断模块为一包含在指令译码器中的前缀指令模块时,所述指令译码器还包括一计数器,用于记录受前缀指令影响且不出现转换指令的指令序列的指令数n;当受影响的当前指令进入运算部件,即下一条指令进入指令译码器时n减1。所述判断模块也可以为一包含在指令译码器中的指令模式模块,用于在 RISC处理器的指令中标志该指令的虚拟机指令集模式。所述RISC处理器的指令为在X86指令集中与EFLAG标志相关的指令对 应的虚拟机指令;或者在X86指令集中,对特殊结构进行操作的指令对应的 虚拟机指令。所述运算部件还包括一例外处理模块,用于在前缀指令只影响紧接其后的 一条指令时,如果出现执行例外,则采用与延迟槽例外相同的方法,将Cause 寄存器的bd位置l,同时将EPC指向前缀指令,例外服务程序完成后重新执 行前缀指令。所述运算部件还包括一第二控制寄存器,用于记录发生例外的指令是否受 所述前缀指令影响;在出现异常而中断进程的时候向第二控制寄存器中存入当 前指令的计数,在异常结束返回被中断进程时,根据所述计数恢复所述被中断 进程。所述运算部件还包括一 EFLAG计算模块,用于对于处于虚拟机指令集模 式的指令,根据运算结果计算相应的EFLAG标志位。为实现本专利技术目的还提供一种RISC处理器装置多模式下数据处理方法, 包括下列步骤步骤A,读取指令,区分指令的虚拟机指令集模式;步骤B,在指令译码过程中,根据区分出的指令的虚拟机指令集模式,将 指令按照所区分的虚拟机指令集模式,进行译码后输出;步骤C,根据所述输出,进行处理,输出执行的结果。所述步骤A包括下列步骤步骤A1,指令译码器读取一条前缀指令,表示该指令后的多条指令处于 X86虚拟机指令集模式下。所述前缀指令还包括一范围参数,表示前缀指令的影响范围。所述范围参数是l,表示该前缀指令只影响其后的一条指令;或者是不为 1的整数n,表示该前缀指令影响其后的n条指令。所述步骤B包括下列步骤对该前缀指令译码时设置标志,这条指令后面的指令被译为X86虚拟机 指令集模式,然后该前缀指令译为空操作NOP。 所述步骤B还包括下列步骤指令译码器中的计数器记录受前缀指令影响且不出现转换指令的指令序列的指令数n;当受影响的当前指令进入运算部件,即下一条指令进入指令译码器时n减1。所述步骤C包括下列步骤运算部件在前缀指令只影响紧接其后的一条指令时,如果出现执行例外,则采用与延迟槽例外相同的方法,将Cause寄存器的bd位置1,同时将EPC 指向前缀指令,例外服务程序完成后重新执行前缀指令。所述步骤C还包括下列步骤运算部件中的第二控制寄存器,用于记录发生例外的指令是否受所述前缀 指令影响。在出现异常而中断进程的时候向第二控制寄存器中存入当前指令的计数;在异常结束返回被中断进程时,根据所述计数恢复所述被中断进程。 所述步骤C还包括下列步骤运算部件中的EFLAG计算模块对处于虚拟机指令集模式的指令,根据输 入指令进行运算,然后根据运算结果计算相应的EFLAG标志位。 所述步骤A也可以包括下列步骤 步骤A1',判断第一控制寄存器的控制位标志;步骤A2',当该标志位为1时表示此时相应的指令运行在X86虚拟机指令 集模式下;步骤A3',当该标志位为0时表示此时相应的指令运行在非X86虚拟机指 令集模式下。所述步骤A更可以包括下列步骤在RISC处理器的指令中标志该指令的虚拟机指令集模式。所述RISC处理器的指令,为在X86指令集中与EFLAG标志相关的指令对应的虚拟机指令;或者为在X86指令集中,对特殊结构进行操作的指令对应的虚拟机指令。本专利技术的有益效果是本专利技术的RISC处理器装置及其多模式下数据处理 方法,在RISC处理器中,当将不同模式下的虚拟机指令翻译成RISC处理器 可以执行的指令时,直接译码并执行,节约了大量的翻译时间,处理器的运算 速度得到指数级提高,从整体上提高处理器的性能。附图说明图1为本专利技术RISC处理器装置结构示意图2为本专利技术实本文档来自技高网
...

【技术保护点】
一种RISC处理器装置,其特征在于,包括判断模块,指令译码器和运算部件,其中:    所述判断模块,用于区分指令的虚拟机指令集模式;    所述指令译码器,用于在指令译码过程中,根据判断模块区分出指令的虚拟机指令集模式,将指令按照所区分的虚拟机指令集模式,进行译码后输出给运算部件;    所述运算部件,用于根据指令译码器的输出,进行处理,输出执行的结果。

【技术特征摘要】
1、一种RISC处理器装置,其特征在于,包括判断模块,指令译码器和运算部件,其中所述判断模块,用于区分指令的虚拟机指令集模式;所述指令译码器,用于在指令译码过程中,根据判断模块区分出指令的虚拟机指令集模式,将指令按照所区分的虚拟机指令集模式,进行译码后输出给运算部件;所述运算部件,用于根据指令译码器的输出,进行处理,输出执行的结果。2、 根据权利要求1所述的RISC处理器装置,其特征在于,所述判断模 块为一第一控制寄存器;所述第一控制寄存器,包括控制位标志,当该控制位标志为1时表示此时 相应的指令运行在X86虚拟机指令集模式下;当该控制位标志为0时表示指 令运行在非X86虚拟机指令集模式下。3、 根据权利要求1所述的RISC处理器装置,其特征在于,所述判断模 块为一包含在指令译码器中的前缀指令模块;所述前缀指令模块包括一前缀指令,用于表示该指令后的多条指令处于 X86虚拟机指令集模式下。4、 根据权利要求3所述的RISC处理器装置,其特征在于,所述前缀指 令包括一范围参数,用于表示前缀指令的影响范围。5、 根据权利要求4所述的RISC处理器装置,其特征在于,所述范围参 数是l,表示该前缀指令只影响其后的一条指令;或者是不为l的整数n,表 示该前缀指令影响其后的n条指令。6、 根据权利要求3所述的RISC处理器装置,其特征在于,所述指令译 码器还包括一计数器,用于记录受前缀指令影响且不出现转换指令的指令序列 的指令数n;当受影响的当前指令进入运算部件,即下一条指令进入指令译码器时n减1。7、 根据权利要求1所述的RISC处理器装置,其特征在于,所述判断模 块为一包含在指令译码器中的指令模式模块,用于在RISC处理器的指令中标志该指令的虚拟机指令集模式。8、 根据权利要求7所述的RISC处理器装置,其特征在于,所述RISC处 理器的指令为在X86指令集中与EFLAG标志相关的指令对应的虚拟机指令; 或者在X86指令集中,对特殊结构进行操作的指令对应的虚拟机指令。9、 根据权利要求5所述的RISC处理器装置,其特征在于,所述运算部 件还包括一例外处理模块,用于在前缀指令只影响紧接其后的一条指令时,如 果出现执行例外,则采用与延迟槽例外相同的方法,将Cause寄存器的bd位 置l,同时将EPC指向前缀指令,例外服务程序完成后重新执行前缀指令。10、 根据权利要求5所述的RISC处理器装置,其特征在于,所述运算部 件还包括一第二控制寄存器,用于记录发生例外的指令是否受所述前缀指令影 响;在出现异常而中断进程的时候向第二控制寄存器中存入当前指令的计数, 在异常结束返回被中断进程时,根据所述计数恢复所述被中断进程。11、 根据权利要求1所述的RISC处理器装置,其特征在于,所述运算部 件还包括一EFLAG计算模块,用于对于处于虚拟机指令集模式的指令,根据 运算结果计算相应的EFLAG标志位。12、 一种RISC处理器装置多模式下数据处理方法,其特征在于,包括下 列步骤步骤A,读取指令,区分指令的虚拟机指令集模式;步骤B,在指令译码过程中,根据区分出的指令的虚拟机指令集模式,将 指令按照所区分的虚拟机...

【专利技术属性】
技术研发人员:李晓钰苏孟豪
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利