[发明专利]寄存器的分配方法和装置有效
申请号: | 201510731752.X | 申请日: | 2015-11-02 |
公开(公告)号: | CN106648544B | 公开(公告)日: | 2019-03-26 |
发明(设计)人: | 魏振伟 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 马爽;黄健 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微指令 输出寄存器 寄存器 寄存器复用 输入寄存器 分配 动态二进制翻译 方法和装置 寄存器分配 输入操作数 复用 操作数分配 物理寄存器 定义阶段 输出 操作数 虚拟机 分析 | ||
本发明提供一种寄存器的分配方法和装置,其中,寄存器的分配方法应用于动态二进制翻译中,包括:在微指令定义阶段,为微指令生成寄存器复用信息;其中,所述微指令中包括输入操作数和输出操作数;所述寄存器复用信息用于指示为所述输出操作数分配的输出寄存器复用为所述输入操作数分配的输入寄存器;在微指令分析阶段,根据所述寄存器复用信息,获得输出寄存器号以及所述输出寄存器号复用的输入寄存器号;在微指令寄存器分配阶段,将所述输入寄存器号和所述输出寄存器号分配为同一个物理寄存器号。本发明提供的寄存器的分配方法,可以减少不必要的寄存器分配次数,提高了动态二进制翻译虚拟机的性能。
技术领域
本发明涉及动态二进制翻译技术领域,尤其涉及一种寄存器的分配方法和装置。
背景技术
近年来,随着计算机体系结构的发展,计算机软件的跨平台性显得越来越重要,例如,基于X86平台运行的计算机软件,有必要也可以基于先进的精简指令集处理器(Advanced RISC Machines,简称ARM)平台和无互锁流水线级的微处理器(MillionInstructions Per Second,简称MIPS)平台运行。为了实现不同平台间的软件移植,通常使用动态二进制翻译。动态二进制翻译是一种即时编译技术,涉及“源”与“目标”两个机器平台,它在不需要可执行程序的源代码的情况下,能在运行时动态地将源机器平台的二进制代码转换为与目标机器平台兼容的二进制代码。
目前,利用中间指令集进行动态二进制翻译是一种常用的方法,流程如下:首先,将“源”机器平台代码翻译为与体系机构无关的中间表示,也即微代码,也称为微指令;然后,将微代码进行优化和寄存器分配;最后,将微代码翻译为“目标”机器平台代码。其中,寄存器是计算机存储体系中处于最上层、访问速度最快的存储介质,寄存器的分配效率和利用率很大程度上决定着动态二进制翻译虚拟机的性能。目前,寄存器分配算法有很多,例如:全局寄存器分配算法、图着色算法、线性扫描算法等,通过寄存器分配算法,为微代码中的每个输入操作数和每个输出操作数分配寄存器。
但是,在一些特定场景下,某些输入操作数在微指令执行结束之后不再被用到,或者输入操作数和输出操作数存在明显的冗余,采用现有的寄存器分配算法,为每个输入操作数和每个输出操作数均分配一个寄存器,将严重影响了寄存器的利用率,进而降低了动态二进制翻译虚拟机的性能。
发明内容
本发明提供一种寄存器的分配方法和装置,可以减少不必要的寄存器分配次数,提高了寄存器的利用率,进而提高了动态二进制翻译虚拟机的性能。
本发明提供的寄存器的分配方法,应用于动态二进制翻译中,包括:
在微指令定义阶段,为微指令生成寄存器复用信息;其中,所述微指令中包括输入操作数和输出操作数;所述寄存器复用信息用于指示为所述输出操作数分配的输出寄存器复用为所述输入操作数分配的输入寄存器;
在微指令分析阶段,根据所述寄存器复用信息,获得输出寄存器号以及所述输出寄存器号复用的输入寄存器号;
在微指令寄存器分配阶段,将所述输入寄存器号和所述输出寄存器号分配为同一个物理寄存器号。
本发明提供的寄存器的分配装置,动态二进制翻译中,包括:
指令定义模块,用于在微指令定义阶段,为微指令生成寄存器复用信息;其中,所述微指令中包括输入操作数和输出操作数;所述寄存器复用信息用于指示为所述输出操作数分配的输出寄存器复用为所述输入操作数分配的输入寄存器;
指令分析模块,用于在微指令分析阶段,根据所述指令定义模块生成的所述寄存器复用信息,获得输出寄存器号以及所述输出寄存器号复用的输入寄存器号;
寄存器分配模块,用于在微指令寄存器分配阶段,将所述指令分析模块获得的所述输入寄存器号和所述输出寄存器号分配为同一个物理寄存器号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510731752.X/2.html,转载请声明来源钻瓜专利网。