[发明专利]用于寄存器分配的系统和方法有效
申请号: | 201480056891.0 | 申请日: | 2014-09-12 |
公开(公告)号: | CN105637474B | 公开(公告)日: | 2019-03-22 |
发明(设计)人: | 简宁胜;张韫赟;高丽萍;黄海涛;齐歆瑜 | 申请(专利权)人: | 马维尔国际贸易有限公司 |
主分类号: | G06F7/38 | 分类号: | G06F7/38 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅;辛鸣 |
地址: | 巴巴多斯*** | 国省代码: | 巴巴多斯;BB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 寄存器 分配 系统 方法 | ||
1.一种用于寄存器分配的方法,所述方法包括:
确定与执行循环的分支关联的原始代码块和目标代码块,用于由处理器设备执行,所述处理器设备包括一个或多个处理器并且包括物理处理器寄存器,所述物理处理器寄存器包括第一寄存器和第二寄存器;
检测所述寄存器向与所述原始代码块关联的变量的原始分配,所述原始代码块已经由所述处理器设备执行;
确定所述寄存器向与所述目标代码块关联的变量的目标分配,所述目标代码块将由所述处理器设备执行;
至少部分基于符合以下各项中的至少一项的所述寄存器,从所述处理器寄存器中选择寄存器作为暂时寄存器:(i)所述寄存器在所述原始分配中不被分配给变量;以及(ii)所述寄存器在所述目标分配中不被分配给变量,其中选择寄存器作为所述暂时寄存器包括:
维持第一数据结构,所述第一数据结构针对每个寄存器具有一位;
响应于对应的所述寄存器在所述目标分配中被分配给变量,而所述变量在所述原始分配中被分配给不同的寄存器,将每个第一数据结构位设置为第一状态,否则将所述第一数据结构位设置为第二状态;
维持第二数据结构,所述第二数据结构针对每个寄存器具有一位;
响应于对应的所述寄存器在所述原始分配中被分配给变量,而所述变量在所述目标分配中被分配给不同的寄存器,将每个第二数据结构位设置为所述第一状态,否则将所述第二数据结构位设置为所述第二状态;
维持第三数据结构,所述第三数据结构针对每个寄存器具有一位;
将每个第三数据结构位确定为对应的所述第一数据结构位和对应的所述第二数据结构位的布尔逻辑函数;
其中选择寄存器作为暂时寄存器是基于对应的所述第三数据结构位的所述状态;
使用包括以下的过程来由所述处理器设备从所述原始分配向所述目标分配改变:
响应于确定第一变量在所述原始分配中被分配给所述第一寄存器并且在所述目标分配中被分配给所述第二寄存器,并且确定所述第二寄存器正存储有第二变量的值,
从所述第一寄存器向所述暂时寄存器移动所述第一变量的值,
从所述第二寄存器移动所述第二变量的值,以释放所述第二寄存器,以及
从所述暂时寄存器向所述第二寄存器移动所述第一变量的值,使得所述第一变量在被暂时存储在所述暂时寄存器中时不被用作执行操作数;以及
执行所述目标代码块。
2.根据权利要求1所述的方法,其中:
所述执行循环的所述分支对应于从所述原始代码块到所述目标代码块的反向循环分支;并且
所述执行循环还包括从所述目标代码块到所述原始代码块的前向循环分支。
3.根据权利要求1所述的方法,其中选择所述寄存器包括:
响应于确定所选择的所述寄存器在所述原始分配中被分配给第三变量,并且在所述目标分配中不被分配,通过从所选择的所述寄存器向存储介质移动所属第三变量的值来释放所选择的所述寄存器。
4.根据权利要求1所述的方法,其中从所述第二寄存器移动所述第二变量包括:响应于确定第三寄存器在所述目标分配中不被分配给所述第二变量,从所述第二寄存器向所述第三寄存器移动所述第二变量。
5.根据权利要求1所述的方法,还包括:
响应于确定第四变量在所述原始分配中不被分配并且在所述目标分配中被分配给所述寄存器中的第四寄存器,并且所述第四寄存器当前未被分配给变量,将所述第四变量的值从存储介质加载到所述第四寄存器中。
6.根据权利要求1所述的方法,其中所述第一状态是“1”并且所述第二状态是“0”,并且所述布尔逻辑函数包括对应的所述第三数据结构位与对应的所述第二数据结构位的非的求与AND运算,以及选择寄存器作为临时寄存器是基于对应的所述第三数据结构位为“1”。
7.根据权利要求1所述的方法,其中所述寄存器包括n个寄存器的组,在所述原始分配和所述目标分配二者中,所述n个寄存器被遗弃分配给n个变量的组,并且所述n个变量中的每个变量在所述原始分配中和所述目标分配中被分配给不同的寄存器,并且其中所述第一寄存器和所述第二寄存器在所述寄存器的组中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于马维尔国际贸易有限公司,未经马维尔国际贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480056891.0/1.html,转载请声明来源钻瓜专利网。