一种RISC处理器装置及其有界访存方法制造方法及图纸

技术编号:2827393 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种RISC处理器装置及其有界访存方法。该装置包括物理寄存器堆,译码器和运算部件,所述物理寄存器堆包括上界地址寄存器,用于存储作为上界的有效地址;以及下界地址寄存器,用于存储作为下界的有效地址;所述运算部件,包括第一判断模块,用于在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令操作数地址的有效性;还包括第二判断模块,用于在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令地址的有效性。其在RISC处理器支持的X86虚拟机中,提高X86虚拟机的速度。

【技术实现步骤摘要】

本专利技术涉及计算机处理器
,特别是涉及一种精简指令集计算机(RISC)处理器装置及其有界访存方法。
技术介绍
虚拟机是20世纪60年代IBM公司提出的概念,并且付诸实现。当时主流计算机是大型机,通过把大型机分割成多个虚拟机,利用虚拟机监视器(Virtual Machine Monitor,VMM)的分隔,多种不同应用或者多个用户可以共享这一稀缺资源。但是,随着硬件成本降低和计算能力的增强,以及多任务操作系统(OS)的出现,虚拟机监视器慢慢退出历史舞台,微型计算机和个人计算机(PC)大行其道。然而,由于虚拟机的强大和成功在于用户可以访问和利用仅仅通过指令集的组合就可以形成的功能和设备,最近几年,虚拟机监视器重新成为学术界和工业界的焦点。虚拟机监视器为现代计算机系统体系机构的限制提供一种虚拟解决方案,使其变成一个强大的工具,这一工具会大大扩展现代计算机系统的能力。当今X86架构在很多的应用中占据了主导的地位,很多大型的服务器类的应用都是X86架构。精简指令集计算机(Reduced Instruction Set Computing,RISC)架构的微处理器为了能够广泛地运行服务类的应用,实现与X86架构的兼容就成为了必要的任务。另外,现有X86架构的计算机中,应用程序更加多样化,很多商业软件都是基于X86架构的,所以RISC微处理器要想更为广泛地运行多样化的应用,也非常需要实现对X86的兼容。MIPS作为RISC很大的一个分支,目前有很多开源的虚拟机平台,可以实现MIPS到X86平台的异构支持。X86是段式存储方式,有专门的段界限寄存器,访存时要检查内存地址是-->否超过段界限,如果超过段界限就要报地址越界例外。而RISC处理器,如MIPS中并没有这一机制。RISC处理器要支持X86虚拟机指令的处理,把X86虚拟机指令代码翻译成MIPS指令代码,需要在RISC处理器中实现段式存储方式。而现有技术中,由于X86的访存操作本身就是比较频繁的操作,因此,RISC处理器支持的虚拟机中,从X86虚拟机指令到MIPS指令的翻译,大大影响了虚拟机运行的速度,使得虚拟机的运行效率很低,难以满足人们对性能的需求。
技术实现思路
本专利技术所要解决的问题在于提供一种RISC处理器装置及其有界访存方法。其在RISC处理器支持的X86虚拟机中,提高X86虚拟机的速度。为实现本专利技术而提供的一种RISC处理器装置,包括物理寄存器堆,译码器和运算部件,所述物理寄存器堆包括上界地址寄存器,用于存储作为上界的有效地址;以及下界地址寄存器,用于存储作为下界的有效地址;所述运算部件,包括第一判断模块,用于在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令操作数地址的有效性。所述运算部件,还包括第二判断模块,用于在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令地址的有效性。所述上界地址寄存器、下界地址寄存器可以是物理寄存器中任一通用寄存器。所述访存指令包括取操作数指令和/或存操作数指令。所述读操作数指令,为带上边界条件的取字节、带下边界条件的取字节、带上边界条件的取半字、带下边界条件的取半字、带上边界条件的取字、带下边界条件的取字、带上边界条件的取双字、带下边界条件的取双字、带上边界条件的取单精度浮点数、带下边界条件的取单精度浮点数、带上边界条件的取双精度浮点数、带下边界条件的取双精度浮点数指令中的一种或者一种以上的组合。-->所述存操作数指令,为带上边界条件的存字节、带下边界条件的存字节、带上边界条件的存半字、带下边界条件的存半字、带上边界条件的存字、带下边界条件的存字、带上边界条件的存双字、带下边界条件的存双字、带上边界条件的存单精度浮点数、带下边界条件的存单精度浮点数、带上边界条件的存双精度浮点数、带下边界条件的存双精度浮点数指令中的一种或者一种以上组合。所述RISC处理器为MIPS64指令集的RISC处理器。为实现本专利技术目的还提供一种RISC处理器装置的有界访存方法,包括下列步骤:步骤A,在RISC处理器的X86虚拟机中,设置物理寄存器堆中两个通用寄存器分别为上界地址寄存器和下界地址寄存器;步骤B,在进行X86虚拟机指令集到MIPS指令集翻译时,译码器将指令进行译码,得到可被RISC处理器处理的二进制代码;步骤C,运算部件在译码后的访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令操作数地址的有效性。步骤D,在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令地址的有效性。所述步骤C包括下列步骤:步骤C1,指令译码后,寄存器中的地址界限作为指令的一个寄存操作数,操作内容数据根据base方式形成有效地址;步骤C2,该有效地址首先跟寄存器中的地址界限比较;步骤C3,如果符合指令的语义条件,即如果寄存器为上界地址寄存器,该有效地址小于或者等于寄存器中的地址界限;或者如果寄存器为下界地址寄存器,该有效地址大于或者等于寄存器中的地址界限,那么完成正常的该存操作;否则引发地址错例外。所述步骤C还包括下列步骤:步骤C4,在同时判断上下界的指令中,地址要同时满足上界条件和下界条件,一旦有一个边界不满足就发出越界例外。所述步骤C中,包括下列步骤之一或者其组合:-->步骤1′,如果为带上边界条件的取字节指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不小于等于GPR[bound]中的内容,则发出地址错例外;否则根据这个有效地址从内存中取出8位字节数据,将这个数据进行符号位扩展后存到GPR[rt];步骤2′,如果为带下边界条件的取字节指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不大于GPR[bound]中的内容,则发出地址错例外;否则根据这个有效地址从内存中取出8位字节数据,将这个数据进行符号位扩展后存到GPR[rt];步骤3′,如果为带上边界条件的取半字指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不小于等于GPR[bound]中的内容,则发出地址错例外;否则根据这个对齐的有效地址从内存中取出16位半字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤4′,如果为带下边界条件的取半字,则先从GPR[base]的内容中得到有效地址,如果有效地址不大于GPR[bound]中的内容,则发出地址错例外;否则根据这个有效地址从内存中取出16位半字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤5′,如果为带上边界条件的取字指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不小于等于GPR[bound]中的内容,则发出地址错例外;否则根据这个对齐的有效地址从内存中取出32位字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤6′,如果为带下边界条件的取字指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不大于GPR[bound]中的内容,则发出地址错例外;否则根据这个对齐的有效地址从内存中取出32位字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤7′,如果为带上边界本文档来自技高网
...

【技术保护点】
一种RISC处理器装置,包括物理寄存器堆,译码器和运算部件,其特征在于:    所述物理寄存器堆包括上界地址寄存器,用于存储作为上界的有效地址;以及下界地址寄存器,用于存储作为下界的有效地址;    所述运算部件,包括第一判断模块,用于在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令操作数地址的有效性。

【技术特征摘要】
1.一种RISC处理器装置,包括物理寄存器堆,译码器和运算部件,其特征在于:所述物理寄存器堆包括上界地址寄存器,用于存储作为上界的有效地址;以及下界地址寄存器,用于存储作为下界的有效地址;所述运算部件,包括第一判断模块,用于在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令操作数地址的有效性。2.根据权利要求1所述的RISC处理器装置,其特征在于,所述运算部件,还包括第二判断模块,用于在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令地址的有效性。3.根据权利要求1或2所述的RISC处理器装置,其特征在于,所述上界地址寄存器、下界地址寄存器可以是物理寄存器中任一通用寄存器。4.根据权利要求1或2所述的RISC处理器装置,其特征在于,所述访存指令包括取操作数指令和/或存操作数指令。5.根据权利要求4所述的RISC处理器装置,其特征在于,所述读操作数指令,为带上边界条件的取字节、带下边界条件的取字节、带上边界条件的取半字、带下边界条件的取半字、带上边界条件的取字、带下边界条件的取字、带上边界条件的取双字、带下边界条件的取双字、带上边界条件的取单精度浮点数、带下边界条件的取单精度浮点数、带上边界条件的取双精度浮点数、带下边界条件的取双精度浮点数指令中的一种或者一种以上的组合。6.根据权利要求4所述的RISC处理器装置,其特征在于,所述存操作数指令,为带上边界条件的存字节、带下边界条件的存字节、带上边界条件的存半字、带下边界条件的存半字、带上边界条件的存字、带下边界条件的存字、带上边界条件的存双字、带下边界条件的存双字、带上边界条件的存单精度浮点数、带下边界条件的存单精度浮点数、带上边界条件的存双精度浮点数、带下边界条件的存双精度浮点数指令中的一种或者一种以上组合。7.根据权利要求1或2所述的RISC处理器装置,其特征在于,所述RISC处理器为MIPS64指令集的RISC处理器。8.一种RISC处理器装置的有界访存方法,其特征在于,包括下列步骤:步骤A,在RISC处理器的X86虚拟机中,设置物理寄存器堆中两个通用寄存器分别为上界地址寄存器和下界地址寄存器;步骤B,在进行X86虚拟机指令集到MIPS指令集翻译时,译码器将指令进行译码,得到可被RISC处理器处理的二进制代码;步骤C,运算部件在译码后的访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令操作数地址的有效性。9.根据权利要求8所述的有界访存方法,其特征在于,还包括下列步骤:步骤D,在访存指令中,根据上界地址寄存器中存储的上界地址和/或下界地址寄存器中存储的下界地址,判断指令地址的有效性。10.根据权利要求8或9所述的有界访存方法,其特征在于,所述步骤C包括下列步骤:步骤C1,指令译码后,寄存器中的地址界限作为指令的一个寄存操作数,操作内容数据根据base方式形成有效地址;步骤C2,该有效地址首先跟寄存器中的地址界限比较;步骤C3,如果符合指令的语义条件,即如果寄存器为上界地址寄存器,该有效地址小于或者等于寄存器中的地址界限;或者如果寄存器为下界地址寄存器,该有效地址大于或者等于寄存器中的地址界限,那么完成正常的该存操作;否则引发地址错例外。11.根据权利要求10所述的有界访存方法,其特征在于,所述步骤C还包括下列步骤:步骤C4,在同时判断上下界的指令中,地址要同时满足上界条件和下界条件,一旦有一个边界不满足就发出越界例外。12.根据权利要求8或9所述的有界访存方法,其特征在于,所述步骤C中,包括下列步骤之一或者其组合:步骤1′,如果为带上边界条件的取字节指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不小于等于GPR[bound]中的内容,则发出地址错例外;否则根据这个有效地址从内存中取出8位字节数据,将这个数据进行符号位扩展后存到GPR[rt];步骤2′,如果为带下边界条件的取字节指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不大于GPR[bound]中的内容,则发出地址错例外;否则根据这个有效地址从内存中取出8位字节数据,将这个数据进行符号位扩展后存到GPR[rt];步骤3′,如果为带上边界条件的取半字指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不小于等于GPR[bound]中的内容,则发出地址错例外;否则根据这个对齐的有效地址从内存中取出16位半字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤4′,如果为带下边界条件的取半字,则先从GPR[base]的内容中得到有效地址,如果有效地址不大于GPR[bound]中的内容,则发出地址错例外;否则根据这个有效地址从内存中取出16位半字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤5′,如果为带上边界条件的取字指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不小于等于GPR[bound]中的内容,则发出地址错例外;否则根据这个对齐的有效地址从内存中取出32位字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤6′,如果为带下边界条件的取字指令,则先从GPR[base]的内容中得到有效地址,如果有效地址不大于GPR[bound]中的内容,则发出地址错例外;否则根据这个对齐的有效地址从内存中取出32位字数据,将这个数据进行符号位扩展后存到GPR[rt];步骤7′,如果为带上边界条件的取双字指令,则先从GPR[base]的内容得到有效地址,如果有效地址不小于等于GPR[bound]中的内容,则发出地址错例外:否则根据这个对齐的有效地址从内存中取出64位双字到GPR[rt];步骤8′,如果为带下边界条件的取双字指令,则先从GPR[base]的内容得到有效地址,如果有效地址不大于GPR[bound]中的内容,则发出地址错例外:否则根据这个对齐的有效地址从内存中取出64位双字到GPR[rt];步骤9′,如果为带上边界条件的取单精度浮点数,则先从GPR[...

【专利技术属性】
技术研发人员:胡伟武蔡嵩松李国杰
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

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

1