[发明专利]一种RISC处理器装置及其多模式下数据处理方法有效
申请号: | 200710178836.0 | 申请日: | 2007-12-05 |
公开(公告)号: | CN101187858A | 公开(公告)日: | 2008-05-28 |
发明(设计)人: | 李晓钰;苏孟豪 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/455 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;陈振 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 risc 处理器 装置 及其 模式 数据处理 方法 | ||
技术领域
本发明涉及计算机微处理器技术领域,特别是涉及复杂指令集计算机(RISC)处理器装置以及其在多种虚拟机运行模式下数据处理方法。
背景技术
复杂指令集计算机(Complex Instruction Set Computing,CISC)和精简指令计算机(Reduced Instruction Set Computing,RISC)是当前CPU的两种架构。不同架构的处理器只能执行自己的指令集,如Intel的机器只能执行80X86的指令集(一种CISC指令集),不能执行RISC的指令集;而RISC架构的计算不能执行80X86的指令集。而由于这种硬件体系结构的不同,操作系统和各种应用软件通常只能在特定架构的计算机上执行,如RISC架构的微处理器不能充分利用X86系列机器已有的广泛的应用软件。
为了克服上述缺陷,更充分地使用有限的计算机软硬件资源,出现了虚拟机技术。
虚拟机是处于计算机软件和硬件中的一个虚拟的中间层,用来给上层的应用软件程序或者操作系统提供一个所需要的虚拟软件/硬件平台。上层的应用软件程序或者操作系统是通过这处虚拟的中间层,如虚拟机监视器(VirtualMachine Monitor,VMM)来与硬件进行通信,由VMM来决定其对系统上所有虚拟硬件设备的访问。在具有多种模式的多个虚拟机在处理器中运行时,处理器执行指令过程中,将不同模式下的虚拟机指令翻译成本处理器可以执行的指令,并在指令执行完毕后将执行结果翻译成虚拟机指令执行结果,传输给虚拟机。
但是,现有技术中,由于虚拟机在运行过程中,需要执行大量的代码,而在不同的虚拟机上执行时,其语义是有区别的,即同一条指令在RISC处理器和X86处理器上的语义是有区别的,如加法指令x86上除了计算结果外还要根据结果计算EFLAG标志位等,这样在处理器翻译过程中,更需要大量的翻译工作,从而从整体上降低的处理器的性能。因此,如何解决处理器在虚拟机指令翻译中区分指令所处模式的问题,成为了业界迫切需要解决的问题。
发明内容
本发明所要解决的问题是提供一种RISC处理器装置及其多模式下数据处理方法,其大大提高计算机性能。
为实现本发明目的而提供的一种RISC处理器装置,包括判断模块,指令译码器和运算部件,其中:
所述判断模块,用于区分指令的虚拟机指令集模式;
所述指令译码器,用于在指令译码过程中,根据判断模块区分出指令的虚拟机指令集模式,将指令按照所区分的虚拟机指令集模式,进行译码后输出给运算部件;
所述运算部件,用于根据指令译码器的输出,进行处理,输出执行的结果。
所述判断模块可以为一第一控制寄存器;
所述第一控制寄存器,包括控制位标志,当该控制位标志为1时表示此时相应的指令运行在X86虚拟机指令集模式下;当该控制位标志为0时表示指令运行在非X86虚拟机指令集模式下。
所述判断模块也可以为一包含在指令译码器中的前缀指令模块;
所述前缀指令模块,所述前缀指令模块包括一前缀指令,用于表示该指令后的多条指令处于X86虚拟机指令集模式下。
所述前缀指令包括一范围参数,用于表示前缀指令的影响范围。
所述范围参数是1,表示该前缀指令只影响其后的一条指令;或者是不为1的整数n,表示该前缀指令影响其后的n条指令。
当所述判断模块为一包含在指令译码器中的前缀指令模块时,所述指令译码器还包括一计数器,用于记录受前缀指令影响且不出现转换指令的指令序列的指令数n;
当受影响的当前指令进入运算部件,即下一条指令进入指令译码器时n减1。
所述判断模块也可以为一包含在指令译码器中的指令模式模块,用于在RISC处理器的指令中标志该指令的虚拟机指令集模式。
所述RISC处理器的指令为在X86指令集中与EFLAG标志相关的指令对应的虚拟机指令;或者在X86指令集中,对特殊结构进行操作的指令对应的虚拟机指令。
所述运算部件还包括一例外处理模块,用于在前缀指令只影响紧接其后的一条指令时,如果出现执行例外,则采用与延迟槽例外相同的方法,将Cause寄存器的bd位置1,同时将EPC指向前缀指令,例外服务程序完成后重新执行前缀指令。
所述运算部件还包括一第二控制寄存器,用于记录发生例外的指令是否受所述前缀指令影响;在出现异常而中断进程的时候向第二控制寄存器中存入当前指令的计数,在异常结束返回被中断进程时,根据所述计数恢复所述被中断进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710178836.0/2.html,转载请声明来源钻瓜专利网。