一种RISC处理器装置及其指令地址转换查找方法制造方法及图纸

技术编号:2828081 阅读:224 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种RISC处理器装置及其指令地址转换查找方法。该装置包括译码器,所述译码器包括查找表模块,用于利用查找表实现从X86源指令地址到MIPS目标指令地址的转换。所述查找表模块,包括查找子模块,用于根据内容索引查找表,如果命中,那么将相应的内容存入目标寄存器中;如果表项不命中,将不命中服务程序的入口地址存入目标寄存器中;索引子模块,用于根据内容索引查找表,得到该内容所在表项的索引。其在RISC处理器的X86虚拟机中,加速从X86源指令地址到MIPS目标指令地址的转换,从而提高虚拟机的性能。

【技术实现步骤摘要】

本专利技术涉及计算机处理器
,特别是涉及一种精简指令集计算机 (RISC)处理器装置及其指令地址转换查找方法。
技术介绍
虚拟机是20世纪60年代IBM公司提出的概念,并且付诸实现。当时主 流计算机是大型机,通过把大型机分割成多个虚拟机,利用虚拟机监视器 (Virtual Machine Monitor, VMM)的分隔,多种不同应用或者多个用户可以 共享这一稀缺资源。但是,随着硬件成本降低和计算能力的增强,以及多任务操作系统(OS) 的出现,虚拟机监视器慢慢退出历史舞台,微型计算机和个人计算机(PC) 大行其道。然而,由于虚拟机的强大和成功在于用户可以访问和利用仅仅通过指令集 的组合就可以形成的功能和设备,最近几年,虚拟机监视器重新成为学术界和 工业界的焦点。虚拟机监视器为现代计算机系统体系结构的限制提供一种虚拟 解决方案,使其变成一个强大的工具,这一工具会大大扩展现代计算机系统的 能力。当今复杂指令集计算机(Complex Instruction Set Computing, CISC)处理 器,特别是X86处理器架构在很多的应用中占据了主导的地位,很多大型的 服务器类的应用都是X86架构。精简指令集计算机(Reduced Instruction Set Computing, RISC)处理器为了能够广泛地运行服务类的应用,实现与X86处 理器的兼容就成为了必要的任务。另外,现有X86处理器的计算机中,应用 程序更加多样化,很多商业软件都是基于X86架构的,所以RISC微处理器要 想更为广泛地运行多样化的应用,也非常需要实现对X86的兼容。MIPS指令集的RISC处理器作为RISC处理器很大的一个分支,目前有很 多开源的虚拟机平台,可以实现MIPS指令集的RISC处理器到X86处理器的异构支持。虚拟机种类繁多,但其核心就是一个翻译或者解释的过程,即从目标代码 翻译或者解释成本地代码,而在本地机器上可以执行的过程。虚拟机在执行本地代码的过程中,遇到跳转指令,需要将X86源程序的指令地址转换成相对 应的MIPS目标程序的指令地址,然后根据目标程序的指令地址来实现跳转。 现有技术中,虚拟机采取哈希(HASH)表的方式来完成源地址到目标地址的 映射,每次査表都需要约20条机器指令来完成。现有技术的查表过程对虚拟机的性能影响较大,难以满足人们对虚拟机性 能上的需求。
技术实现思路
本专利技术所要解决的问题在于提供一种RISC处理器装置及其指令地址转换 査找方法。其在RISC处理器的X86虚拟机中,加速从X86源指令地址到MIPS 目标指令地址的转换,从而提高虚拟机的性能。为实现本专利技术而提供的一种RISC处理器装置,包括译码器,所述译码器 包括查找表模块,用于利用査找表实现从X86源指令地址到MIPS目标指令地 址的转换。所述査找表模块,包括查找子模块和索引子模块,其中 所述查找子模块,用于根据内容索引査找表,如果表项命中,那么将相应的内容存入目标寄存器中;如果表项不命中,将不命中服务程序的入口地址存入目标寄存器中;所述索弓I子模块,用于根据内容索引查找表,得到该内容所在表项的索引。 所述査找表模块还包括填写子模块,用于根据查找表表项的索引填写査找表。所述查找表模块还包括读取子模块,用于根据查找表表项的索引读取査找 表内容。所述查找表是按内容寻址的查找表,用内容可寻址存储器或随机存取存储 器来实现。所述査找表包括3个域,ASID域、SPC域和TPC域,其中 ASID域用于存放在操作系统上启动多个X86虚拟机进程的ID号;SPC域用于存放X86源指令地址;TPC域用于存放MIPS目标指令地址。所述不命中服务程序入口地址,是由虚拟机提供一个缺省值,或者保存在CPO寄存器CAM.default中;或者是存放在查找表的第0项。为实现本专利技术目的还提供一种RISC处理器指令地址转换查找方法,包括 下列步骤步骤A,在RISC处理器的X86虚拟机启动时,初始化查找表,用得到的 X86虚拟机指令地址到MIPS指令地址的内容来填写査找表;步骤B, RISC处理器的X86虚拟机的跳转指令由于需要完成从X86源指 令地址到目标指令地址的转换而访问查找表。所述步骤B包括下列步骤步骤B1,使用查询查找表表项值的CAMPV指令,根据寄存器中的源指 令地址搜索査找表得到目标指令地址;步骤B2,如果查找命中,则将直接得到的目标指令地址的值存入目标寄 存器中,程序由跳转指令跳转至该目标地址指向的代码段执行;步骤B3,如果査找不命中,则将得到不命中服务程序的地址,该地址由 虚拟机给出,存入目标寄存器,程序跳转至不命中服务程序执行。所述步骤B3之后还包括下列步骤步骤C,不命中服务程序根据虚拟机所维护的哈希表的内容而重新填写查 找表。所述步骤C包括下列步骤-步骤C1,使用査询查找表表项索引的CAMPI指令,根据源指令地址的值 得到该值所在表项的索引,并将该索引存入目标寄存器中;步骤C2,使用根据査找表表项索引填写查找表的CAMWI指令,将进程 的ASID、源指令地址以及相对应的目标指令地址,根据目标寄存器中的索引 值同时填入表中。所述步骤C2之后还包括下列步骤步骤D,无效査找表中的一项内容;或者根据査找表表项索引读取查找表 RAM的内容。本专利技术的有益效果是本专利技术的RISC处理器装置及其指令地址转换查找方法,在RISC处理器中增加能够解决X86源指令地址到MIPS目标指令地址 映射的査找表的结构,在RISC处理器的X86虚拟机中,加速从X86源指令 地址到MIPS目标指令地址的转换,从而使用提高虚拟机的性能。附图说明图1是本专利技术RISC处理器装置译码器示意图;图2是本专利技术CAMPV指令实现示例图;图3是本专利技术RISC处理器装置指令地址转换査找方法流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本专利技术的一种RISC处理器装置及其指令地址转换査找方法进行进一 步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不 用于限定本专利技术。本专利技术实施例以MIPS64指令集的RISC处理器装置为例,对本专利技术进行 说明,但应当说明的是,其并不是对本专利技术的限制,本专利技术同样可以适用于其 他指令集的RISC处理器。如图1所示,本专利技术实施例的RISC处理器装置,包括译码器l,所述译 码器1包括查找表模块2,用于利用查找表3实现从X86源指令地址到MIPS 目标指令地址的转换。本专利技术在硬件上支持了一个查找表3,对X86程序中的跳转地址到MIPS 跳转地址的翻译进行快速查找,提高性能。作为了一种可实施方式,所述查找表3可以是按内容寻址的查找表,用内 容可寻址存储器/随机存取存储器(Content-Addressable Memory/Random Access Memory, CAM/RAM)来实现,其中,RAM是输入一个地址,输出对 应地址中的数据;CAM是输入内容,输出存储了这个内容的单元的索引号或 者是与这个索引号相关联的另一个单元的内容。该査找表3可以是按内容寻址的查找表,实现X86跳转地址到MIPS调转 地址翻译,即在RISC处理器的X86虚拟机中,从X86源指令地址到MIPS目 标指令地址的转换。其表本文档来自技高网
...

【技术保护点】
一种RISC处理器装置,包括译码器,其特征在于,所述译码器包括查找表模块,用于利用查找表实现从X86源指令地址到MIPS目标指令地址的转换。

【技术特征摘要】
1、一种RISC处理器装置,包括译码器,其特征在于,所述译码器包括查找表模块,用于利用查找表实现从X86源指令地址到MIPS目标指令地址的转换。2、 根据权利要求1所述的RISC处理器装置,其特征在于,所述査找表 模块,包括査找子模块和索引子模块,其中所述查找子模块,用于根据内容索引査找表,如果表项命中,那么将相应 的内容存入目标寄存器中;如果表项不命中,将不命中服务程序的入口地址存 入目标寄存器中;所述索引子模块,用于根据内容索引查找表,得到该内容所在表项的索引。3、 根据权利要求2所述的RISC处理器装置,其特征在于,所述査找表 模块还包括填写子模块,用于根据査找表表项的索引填写查找表。4、 根据权利要求3所述的RISC处理器装置,其特征在于,所述査找表 模块还包括读取子模块,用于根据査找表表项的索引读取查找表内容。5、 根据权利要求1至4任一项所述的RISC处理器装置,其特征在于, 所述査找表是按内容寻址的查找表,用内容可寻址存储器或随机存取存储器来 实现。6、 根据权利要求5所述的RISC处理器装置,其特征在于,所述查找表 包括3个域,ASID域、SPC域和TPC域,其中ASID域用于存放在操作系统上启动多个X86虚拟机进程的ID号; SPC域用于存放X86源指令地址; TPC域用于存放MIPS目标指令地址。7、 根据权利要求2所述的RISC处理器装置,其特征在于,所述不命中 服务程序入口地址,是由虚拟机提供一个缺省值,或者保存在CP0寄存器 CAM.default中;或者是存放在査找表的第0项。8、 一种RISC处理器指令地址转换查找方法,其特征在于,包括下...

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

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

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