[发明专利]动态二进制翻译系统中可重定向的寄存器分配方法有效
| 申请号: | 200910049870.7 | 申请日: | 2009-04-23 |
| 公开(公告)号: | CN101539867A | 公开(公告)日: | 2009-09-23 |
| 发明(设计)人: | 管海兵;梁阿磊;蔡战举;姜玲燕;孙廷韬 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45 |
| 代理公司: | 上海交达专利事务所 | 代理人: | 毛翠莹 |
| 地址: | 200240*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 动态 二进制 翻译 系统 中可重 定向 寄存器 分配 方法 | ||
技术领域
本发明涉及一种动态二进制翻译系统中可重定向的寄存器分配方法,具体涉及一种利用基本块内变量的next-use信息来进行寄存器分配,具备重定向特性的寄存器分配方法。本发明属于动态二进制翻译技术领域,尤其适用于多源多目标的二进制翻译平台。
背景技术
动态二进制翻译是虚拟执行技术中应用最为广泛的方法,是为遗留代码提供移植可能性和提高软件的平台适应性的一种有效手段,它在不需要可执行程序的源代码的情况下,可以动态地将源机器平台上的二进制程序经过转换,运行于其他目标机器平台上。对于动态二进制翻译器自身而言,执行性能是一个非常重要的衡量指标。所谓执行性能是指,以源程序在原架构下运行的效率为参照,其在动态二进制翻译器提供的运行环境下的效率损失度越低,翻译器的执行性能越好。
寄存器在计算机存储体系结构里处于最上层,是访问速度最快的存储介质,而且由于芯片大小的限制,通常寄存器数目不多,Intel的x86处理器只有8个通用寄存器,有些RISC(精简指令集计算机)体系结构的寄存器数目稍多一些,但也只有几十个左右的寄存器,当然里面还包含很多特殊寄存器,能够被翻译器使用的就更少了。为了提高翻译器翻译后的代码的执行性能,动态二进制翻译领域需要采用一种技术,它使得翻译后的代码块能够尽可能高效的利用寄存器这一稀缺资源。但是对于动态二进制翻译领域,考虑到动态执行的实时性,分配算法复杂度不能太高。因此技术人员必须在更高效的使用目标平台的寄存器和分配算法的复杂度之间寻求平衡。
就一般而言,在动态二进制翻译领域,对源程序的翻译、执行或优化等操作都是以源程序的基本块为单位。所谓基本块是指仅有单入口点和单出口点的一组指令序列,基本块的入口点仅存在于此基本块的开始,基本块的出口点仅存在于此基本块的末尾,程序的执行流从此基本块的入口点进入并执行块内指令,之后从出口点离开。动态二进制翻译领域的寄存器分配也是以基本块为单位,完成对基本块内代码中的变量进行寄存器的分配。
目前,在动态二进制翻译领域可以使用如下方法完成寄存器分配任务:
1、简单的寄存器分配方法,这种分配算法通过对基本块内的变量号按目标机寄存器数目进行一次取模运算,得出的数字即是被分配的寄存器编号。如果该寄存器被同一条指令的其他变量占用,则尝试下一个编号的寄存器。如果该寄存器没有被同一条指令内的其他变量占用,则把该寄存器内内容交换到内存,然后分配该寄存器给当前变量。如果该寄存器空闲,直接分配该寄存器给当前变量。这种方法简单有效,开销小,适用于动态二进制翻译领域的及时性特性,但没有利用基本块内变量的信息,使得分配结果不够高效,寄存器使用效率不高。
2、全局寄存器分配方法,这种方法把跨越多个基本块常用的一些变量存放在全局寄存器中,比如把循环中常用的变量保存在特定的寄存器中。因为在动态二进制翻译中,翻译和执行的基本单位是一个基本块,所以这里所指的全局也仅在一个基本块范围之内,全局变量是指在这个基本块内被使用次数(use-frequency)最多的那个变量,把这些变量存放在某些寄存器中,在整个基本块的生存期,对它们都不做替换。这种方法需要在分配前,先走查一下整个基本块,收集基本块内所有变量的使用频率信息。然后分配一些固定的寄存器给这些使用频次最高的变量,其余变量使用简单的寄存器分配方法进行分配。这种方法利用了基本块内变量的信息,但在使用上不够充分,只在开始阶段利用收集到的信息固定分配了若干变量,对后续变量的分配过程则完全丢弃了这些信息。
3、图染色分配方法,这种方法在静态编译器领域有着重要的地位,它是一种基于图简化思路的启发式分配方法。它包括如下几个步骤:
(1)变量存活期信息的收集
(2)干扰图的构造
(3)图精简以及寄存器分配
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910049870.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数字出版物的多维浏览方法及系统
- 下一篇:风扇系统及其信号输出方法





