[发明专利]一种面向指令源操作数的寄存器对分配方法及存储介质有效
申请号: | 201910411696.X | 申请日: | 2019-05-17 |
公开(公告)号: | CN110187882B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 胡勇华;唐镇;陆浩松;周新莲;李阳 | 申请(专利权)人: | 湖南科技大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清;胡君 |
地址: | 411201*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 指令 作数 寄存器 分配 方法 存储 介质 | ||
1.一种面向指令源操作数的寄存器对分配方法,其特征在于,步骤包括:
S1.初始分配:分别将待处理指令中包括寄存器对的所有源操作数所包含的两个符号寄存器均作为单寄存器分配候选者进行独立的寄存器分配;
S2.修正分配:依次获取各条指令进行寄存器修正分配,如果指令中存在至少一个以上的源操作数涉及寄存器对,对指令中各源操作数依次进行寄存器对合法性检查,并根据检查结果将寄存器对中不符合使用规则的错误使用寄存器使用替换寄存器进行替换,所述替换寄存器根据各寄存器的使用状态以及在指令入口处的空闲状态进行选取,条件满足时优先使用同一指令中前面的源操作数寄存器对的替换寄存器替换后面相同的所述错误使用寄存器,被替换出来的寄存器若在指令入口处变为空闲状态则作为同一指令的后续其他源操作数中寄存器对的替换寄存器。
2.根据权利要求1所述的面向指令源操作数的寄存器对分配方法,其特征在于,所述步骤S1中,具体将源操作数中成对的寄存器分配候选者中的每一个都当作对应着单个物理寄存器的独立单寄存器分配候选者,并与其他单寄存器分配候选者一起采用相同的寄存器分配方式分配各自的物理寄存器。
3.根据权利要求1所述的面向指令源操作数的寄存器对分配方法,其特征在于,所述步骤S2的步骤包括:
S21.从每条指令的第一个源操作数开始遍历各个源操作数,如果源操作数包含一个寄存器对,对该寄存器对进行合法性检查,判断该寄存器对中两个寄存器是否符合寄存器对使用规则,若不符合,判定需要修正,转入执行步骤S22;
S22.获取指令入口处各寄存器以及寄存器对的空闲状态;
S23.判断需要修正的寄存器对中错误使用寄存器的位置,根据所述错误使用寄存器的位置以及各寄存器在指令入口处的空闲状态、替换寄存器集合的状态选取替换寄存器对当前各所述错误使用寄存器进行修正,所述替换寄存器集合用于存放已用于替换的替换寄存器。
4.根据权利要求3所述的面向指令源操作数的寄存器对分配方法,其特征在于,所述步骤S23的步骤包括:判断源操作数寄存器对是否是由两个连号的奇偶号寄存器构成,如果源操作数寄存器对中的两个寄存器序号均不符合,则判定需要全部替换源操作数寄存器对的两个寄存器,使用第一修正模式对源操作数寄存器对中的两个寄存器进行修正;如果源操作数寄存器对中的左位寄存器或右位寄存器的序号不符合,则判定需要替换源操作数中的左位寄存器或右位寄存器,使用第二修正模式对源操作数中左位寄存器或右位寄存器进行修正;如果源操作数寄存器对中的两个寄存器序号不匹配,则判定需要替换源操作数寄存器对中的任意一个寄存器,使用第三修正模式对源操作数中任意一个寄存器进行修正,如果源操作数中仅含单个寄存器,使用第四修正模式对源操作数寄存器进行修正。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南科技大学,未经湖南科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910411696.X/1.html,转载请声明来源钻瓜专利网。