[发明专利]一种寄存器分配优化实现方法在审

专利信息
申请号: 201910025726.3 申请日: 2019-01-11
公开(公告)号: CN111435309A 公开(公告)日: 2020-07-21
发明(设计)人: 代向东;刘贵山;常涛;栗志国;岑辉林;董军平 申请(专利权)人: 中标软件有限公司
主分类号: G06F9/30 分类号: G06F9/30
代理公司: 北京汇智英财专利代理事务所(普通合伙) 11301 代理人: 张玮玮
地址: 200030 上海市徐汇*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 寄存器 分配 优化 实现 方法
【说明书】:

发明涉及一种寄存器分配优化实现方法,包括如下步骤:步骤S1:通过Chaitin‑Briggs乐观图着色算法对整型寄存器进行冲突图着色;步骤S2:在需要溢出变量的地方,通过save指令把对应的整型寄存器保存到缓冲寄存器中;步骤S3:通过Chaitin‑Briggs乐观图着色算法对需要溢出的变量进行冲突图着色;步骤S4:对溢出的变量建立冲突图,根据优先级为其分配缓冲寄存器;步骤S5:未分配到缓冲寄存器的溢出变量被溢出至内存内。本发明利用现代处理器的缓冲寄存器,提供了一种高效的溢出策略,使得有限的缓冲寄存器在需要被溢出到内存中的整型变量之间达到一个最优的分配,从而提高代码执行的效率,减少访存开销。

技术领域

本发明涉及数据分配优化技术领域,具体涉及一种寄存器分配优化实现方法。

背景技术

寄存器是CPU中一种数量相对较少的高速存储装置。和普通的存储器相比,有限的大小以及相对较快的存储速度使得寄存器成为绝大多数机器体系结构中的临界资源。因此寄存器分配作为编译器后端的一个环节,就需要编译程序对其进行有效的配置。寄存器分配是指编译器将程序中出现的值指派给处理器有限物理寄存器的过程。寄存器分配算法在编译优化中具有重要的地位。现代体系结构处理器都含有多级存储体,而且存储体的速度与容量成反比关系。在所有的存储体中,寄存器是运行速度最快、容量最少的存储体,因此合理地分配寄存器资源,能够减少寄存器压力,降低关键变量的访存开销,提升程序的性能。

寄存器分配决定了哪些变量(变量、临时变量、常量)在程序执行的过程中需要被装入寄存器。在RISC体系结构中,除去数据传送外的绝大多数操作都在寄存器中进行,而在现代CISC结构的执行中,寄存器到寄存器的操作也比相应的内存存取操作要快,正是由于这些原因,寄存器分配就显得尤为重要。

寄存器分配的目标是通过合理的分配方法从而减少寄存器的溢出。即使是再好的优化算法,有限数目的寄存器也会导致必不可少的溢出,那么优化的关键就在于如何最大限度的减少溢出的代价。通过启发式信息确立每个活跃变量的溢出代价,当需要溢出的时候,就优先溢出那些代价值小的变量,同时尽量把寄存器分配给那些代价值高的变量。这样就能使寄存器分配的总体代价尽可能缩小。

寄存器分配是编译器中一个历久弥新的问题,因为它是编译器在输出汇编代码前必须经历的阶段。寄存器分配算法的好坏,关系着生成代码的性能和大小。为了追求极致性能,很多编译器都在寄存器分配上做了很多文章,不惜引入非常复杂的算法,好的寄存器分配能够提高程序执行速度超过250%。

对于寄存器的优化,目前寄存器分配算法有chaitin-briggs图着色算法、线性扫描算法(linear scan),对寄存器分配问题的整数线性规划算法(integer linearprogramming),chow等人提出的基于优先级的寄存器分配算法,Nickerson提出的复合寄存器分配算法等。关于寄存器分配算法,目前GCC支持CB(chaitin-briggs图着色算法)与priority(基于优先级的寄存器分配算法),默认使用CB。提出对缓冲寄存器的分配采用基于优先权的着色策略。

寄存器在着色过程完成后,某些分配不到硬件寄存器的变量就会溢出。但是溢出涉及到内存访问,会增加程序执行的时间。如果能对寄存器分配进行优化,减少溢出数量,对于程序的性能将会有所提升。

已有技术是从优化算法上考虑的,在现代cpu的体系结构中,提供了一种高速缓冲(cache)。它是专用于二进制翻译的硬件,对它的操作类似于内存,仅仅有保存(save)和恢复(restore)两条指令。和内存相比,它最大的不同就是具有更快的操作周期,一般只有1到2拍,因此利用它保存溢出的变量会带来相当的收益。但是缓冲寄存器有限的数目又局限了它不能像内存那样被任意使用,如何在溢出的变量之间对它进行合理的分配就显得格外重要。

cache是内存和寄存器之间的一种高速缓存,由于cpu中寄存器的数量相对较少,将程序执行过程中的某些变量临时保存到cache中,可以避免大量的内存IO操作。对于程序的性能,将会有很大提升。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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