[发明专利]一种RISC处理器装置及其指令地址转换查找方法有效
申请号: | 200810056540.6 | 申请日: | 2008-01-21 |
公开(公告)号: | CN101216778A | 公开(公告)日: | 2008-07-09 |
发明(设计)人: | 苏孟豪;胡伟武 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/08 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;陈振 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 risc 处理器 装置 及其 指令 地址 转换 查找 方法 | ||
技术领域
本发明涉及计算机处理器技术领域,特别是涉及一种精简指令集计算机(RISC)处理器装置及其指令地址转换查找方法。
背景技术
虚拟机是20世纪60年代IBM公司提出的概念,并且付诸实现。当时主流计算机是大型机,通过把大型机分割成多个虚拟机,利用虚拟机监视器(Virtual Machine Monitor,VMM)的分隔,多种不同应用或者多个用户可以共享这一稀缺资源。
但是,随着硬件成本降低和计算能力的增强,以及多任务操作系统(OS)的出现,虚拟机监视器慢慢退出历史舞台,微型计算机和个人计算机(PC)大行其道。
然而,由于虚拟机的强大和成功在于用户可以访问和利用仅仅通过指令集的组合就可以形成的功能和设备,最近几年,虚拟机监视器重新成为学术界和工业界的焦点。虚拟机监视器为现代计算机系统体系结构的限制提供一种虚拟解决方案,使其变成一个强大的工具,这一工具会大大扩展现代计算机系统的能力。
当今复杂指令集计算机(Complex Instruction Set Computing,CISC)处理器,特别是X86处理器架构在很多的应用中占据了主导的地位,很多大型的服务器类的应用都是X86架构。精简指令集计算机(Reduced Instruction SetComputing,RISC)处理器为了能够广泛地运行服务类的应用,实现与X86处理器的兼容就成为了必要的任务。另外,现有X86处理器的计算机中,应用程序更加多样化,很多商业软件都是基于X86架构的,所以RISC微处理器要想更为广泛地运行多样化的应用,也非常需要实现对X86的兼容。
MIPS指令集的RISC处理器作为RISC处理器很大的一个分支,目前有很多开源的虚拟机平台,可以实现MIPS指令集的RISC处理器到X86处理器的异构支持。
虚拟机种类繁多,但其核心就是一个翻译或者解释的过程,即从目标代码翻译或者解释成本地代码,而在本地机器上可以执行的过程。虚拟机在执行本地代码的过程中,遇到跳转指令,需要将X86源程序的指令地址转换成相对应的MIPS目标程序的指令地址,然后根据目标程序的指令地址来实现跳转。现有技术中,虚拟机采取哈希(HASH)表的方式来完成源地址到目标地址的映射,每次查表都需要约20条机器指令来完成。
现有技术的查表过程对虚拟机的性能影响较大,难以满足人们对虚拟机性能上的需求。
发明内容
本发明所要解决的问题在于提供一种RISC处理器装置及其指令地址转换查找方法。其在RISC处理器的X86虚拟机中,加速从X86源指令地址到MIPS目标指令地址的转换,从而提高虚拟机的性能。
为实现本发明而提供的一种RISC处理器装置,包括译码器,所述译码器包括查找表模块,用于利用查找表实现从X86源指令地址到MIPS目标指令地址的转换。
所述查找表模块,包括查找子模块和索引子模块,其中:
所述查找子模块,用于根据内容索引查找表,如果表项命中,那么将相应的内容存入目标寄存器中;如果表项不命中,将不命中服务程序的入口地址存入目标寄存器中;
所述索引子模块,用于根据内容索引查找表,得到该内容所在表项的索引。
所述查找表模块还包括填写子模块,用于根据查找表表项的索引填写查找表。
所述查找表模块还包括读取子模块,用于根据查找表表项的索引读取查找表内容。
所述查找表是按内容寻址的查找表,用内容可寻址存储器或随机存取存储器来实现。
所述查找表包括3个域,ASID域、SPC域和TPC域,其中:
ASID域用于存放在操作系统上启动多个X86虚拟机进程的ID号;
SPC域用于存放X86源指令地址;
TPC域用于存放MIPS目标指令地址。
所述不命中服务程序入口地址,是由虚拟机提供一个缺省值,或者保存在CP0寄存器CAM.default中;或者是存放在查找表的第0项。
为实现本发明目的还提供一种RISC处理器指令地址转换查找方法,包括下列步骤:
步骤A,在RISC处理器的X86虚拟机启动时,初始化查找表,用得到的X86虚拟机指令地址到MIPS指令地址的内容来填写查找表;
步骤B,RISC处理器的X86虚拟机的跳转指令由于需要完成从X86源指令地址到目标指令地址的转换而访问查找表。
所述步骤B包括下列步骤:
步骤B1,使用查询查找表表项值的CAMPV指令,根据寄存器中的源指令地址搜索查找表得到目标指令地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810056540.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种现浇砼空心板
- 下一篇:一种利用秸秆生产燃料的加工工艺