[发明专利]一种RISC处理器及其浮点栈指令翻译装置及方法有效

专利信息
申请号: 200810112231.6 申请日: 2008-05-22
公开(公告)号: CN101286122A 公开(公告)日: 2008-10-15
发明(设计)人: 陈龙;武成岗;崔慧敏 申请(专利权)人: 中国科学院计算技术研究所
主分类号: G06F9/45 分类号: G06F9/45;G06F9/30
代理公司: 北京律诚同业知识产权代理有限公司 代理人: 梁挥;祁建国
地址: 100080北京*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 risc 处理器 及其 浮点 指令 翻译 装置 方法
【说明书】:

技术领域

本发明涉及计算机领域内的翻译技术,特别是涉及一种RISC处理器及其浮点栈指令翻译装置及方法。

背景技术

二进制翻译是解决软件移植问题中的一种重要技术,它可以将一种指令集体系结构(Instruction Set Architecture,ISA)上的可执行程序翻译到另一种指令集体系结构的计算机上执行,并且具备很高的执行效率。二进制翻译现在也经常用来将一种指令集体系结构(ISA)上的可执行程序翻译到同种指令集体系结构(ISA)的较高版本上执行,以在同一个系列的计算机中使用高档次的机器高效地运行低档次机器上开发的软件。特别是随着虚拟机技术的普及,二进制翻译技术的重要性也越来越大,很多虚拟机软件中都不同程度的运用了二进制翻译技术以保障虚拟机的运行效率。

IA32体系结构(或称为X86体系结构)是以Intel、AMD公司为主导开发的一种指令集体系结构,是目前市场上应用最广泛的指令集体系结构之一,目前流行的大量软件是基于IA32体系结构的,因此,针对IA32的二进制翻译技术研究也格外受到重视,新推出处理器的很多厂家希望借助二进制翻译技术或虚拟机技术在自己的计算机上运行IA32软件。

IA32的x87浮点运算部件(Floating Point Unit,FPU)比较特殊,x87浮点运算部件执行环境包括8个数据寄存器,以及状态寄存器和控制寄存器等功能部件,主要作用是完成浮点运算。其中最为特殊的是浮点运算部件(FPU)的8个数据寄存器,被组织为栈结构。浮点运算部件(FPU)的状态寄存器中有3位表示栈顶的位置,即TOP。例如TOP的值等于3时,则3号数据寄存器为栈顶寄存器ST(0),4号、5号数据寄存器分别为ST(1)、ST(2),依次类推。指令中对数据寄存器的引用均为对ST(i)的引用(其中i=0…7),因此具体是引用的几号数据寄存器随TOP值的不同而不同。当进行入栈操作,如FLD指令时,TOP的值减一,当进行出栈操作,如FSTP、FADDP等指令时,TOP的值加一。FPU数据寄存器栈组织如图1所示。关于x87FPU更详细的介绍可参考IA32技术手册。

而在ALPHA、MIPS等精简指令系统计算机(Reduced Instruction SetComputer,简称RISC)体系结构的处理器中,大多不存在类似x87浮点运算部件(FPU)的栈式结构,指令中可以直接以寄存器号引用逻辑寄存器进行运算。因此在以IA32为源体系结构,以ALPHA或MIPS等RISC系列为目标体系结构的二进制翻译器中,如何有效的消除上述浮点运算部件的差异,从而翻译生成正确高效的目标代码是一个较为复杂的问题。

一种现有方法是在内存中设置模拟x87浮点运算部件(FPU)数据寄存器及TOP部件的数据结构,同时在翻译每一条FPU指令时均对内存中这些数据结构进行模拟操作,但这种方法开销太大,经常不能满足二进制翻译系统的性能要求;

中国专利号200410074532.6的专利申请“二进制翻译中对X86中浮点运算的处理方法”中公开了一种在基本块内采用目标体系结构寄存器去映射FPU数据寄存器的处理方法,可以利用寄存器操作减少开销,但该方法寄存器间的映射关系是固定的,即一旦ST(i)与某个目标寄存器相映射,则持续保持这种映射关系。

发明内容

本发明的目的在于提供一种RISC处理器及其浮点栈指令翻译装置及方法,其能够节省因固定映射寄存器而产生的数据交换和数据传输指令翻译时的开销,提高二进制翻译系统的效率。

为实现本发明目的而提供的一种RISC处理器,包括浮点寄存器和内存,其特征在于,还包括浮点栈指令翻译装置,用于利用所述浮点寄存器、内存中的一整型数据变量和一浮点数组变量来模拟浮点栈指令的寄存器操作,将复杂指令集体系结构的源体系结构的浮点栈指令翻译到所述RISC处理器中。

所述浮点栈指令翻译装置,包括寄存器选择模块,寄存器模拟模块,以及翻译器,其中:

所述寄存器选择模块,用于选择目标体系结构的多个浮点寄存器作为目标寄存器;

所述寄存器模拟模块,用于模拟复杂指令体系结构的TOP寄存器操作和数据寄存器操作;

所述寄存器模拟模块选择一整型数据变量,用于模拟复杂指令体系FPU执行环境的TOP寄存器,称为模拟TOP寄存器;以及一浮点数组变量,用于模拟复杂指令体系FPU执行环境中的数据寄存器,称为模拟数据寄存器;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810112231.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top