[发明专利]程序优化方法无效

专利信息
申请号: 200980128545.8 申请日: 2009-07-17
公开(公告)号: CN102099786A 公开(公告)日: 2011-06-15
发明(设计)人: 米津武纪 申请(专利权)人: 松下电器产业株式会社
主分类号: G06F9/45 分类号: G06F9/45;G06F12/08
代理公司: 北京德琦知识产权代理有限公司 11018 代理人: 杨晶;王琦
地址: 日本*** 国省代码: 日本;JP
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 程序 优化 方法
【说明书】:

技术领域

本发明涉及缩短程序的执行时间的编译方法,更具体地,涉及基于抑制因高速缓存未命中而引起的性能下降的编译器的程序优化方法。

背景技术

本申请在此将2008年7月22日申请的日本专利申请2008-188386号的包括说明书、附图、权利要求书在内的全部内容作为参考,并纳入到本说明书中。

近年来,CPU的处理能力有所提高,因此,为了缩短程序的执行时间,缩短存储器访问所需的时间就变得重要。

作为缩短存储器访问所需时间的方法之一,目前广泛已知一种使用高速缓冲存储器的方法。在访问处理中程序具有局部性,这就是通过使用高速缓冲存储器能够缩短存储器访问所需时间的原因。

访问处理中的局部性包括:

·时间局部性(在不久的将来访问相同的数据的可能性高)、以及

·空间局部性(在不久的将来访问附近的数据的可能性高)。

由于程序具有这种访问处理中的局部性,因此存储在高速缓冲存储器中的数据可被视为在不久的将来被访问的可能性高。因此,如果将能够比主存储器更高速被访问的存储器使用于高速缓冲存储器,则能够明显缩短存储器访问所需的时间。

在具有高速缓冲存储器的计算机系统中,如果在程序执行过程中发生高速缓存未命中(キヤツシユミス),则程序的执行时间延长。因此,在按照地址顺序执行一系列的命令代码时,或者重复执行纳入高速缓冲存储器范围的命令代码时,存储命令代码的高速缓冲存储器的功效会变大。但是,在现实的程序中,基于处理性能、程序的开发效率、存储器大小的限制、程序的可读性等原因,会使用分支、循环、子程序等结构。因此,在执行现实的程序时,无法完全地抑制高速缓存未命中的发生。

作为抑制因高速缓存未命中而引起的性能下降的方法之一,已知一种在正在执行的程序中预先将不久的将来被执行的可能性高的数据预取(プリフエツチ)到高速缓冲存储器中的方法。为了提高预取的效果,该方法会在执行程序之前,对程序中的分支和循环的重复次数等进行解析,执行对高速缓存未命中进行预测的处理。但是,由于分支目的地和循环的重复次数等是在程序执行过程中动态确定的,因此,在多数情况下,在程序执行前的静态解析中无法正确地进行预测。如此,在基于程序的静态解析结果进行预取的方法中,存在对高速缓存未命中的预测易于产生错误的问题。

另外,作为更有效地抑制因高速缓存未命中而引起的性能下降的方法,提出了一种在执行基于编译器的程序优化时,使用程序的动态解析结果(以下称为轮廓(プロフアイル)信息)的方法。例如,在专利文献1中,公开了一种虚拟执行程序的一次编译结果来计算出轮廓信息,根据计算出的轮廓信息进行二次编译的方法。据此,在专利文献1中,能够取得在合适的位置插入有预取命令的目标文件。

专利文献2中公开了一种基于轮廓信息,使带条件的分支命令中的分支方向具有侧重性的方法。另外,专利文献3中公开了一种提高利用了空间局部性的高速缓存效率的方法。

专利文献1:日本特开平7-306790号

专利文献2:日本特开平11-149381号

专利文献3:日本特开2006-309430号

但是,在各专利文献所公开的现有方法中,需要取得程序的动态解析结果即轮廓信息。为了取得上述信息,剖析(プロフアイリング)的算法和编译器需要特殊的方法,为此,需要高度的技术和累积了经验的分析技术。

另外,在利用了空间局部性的现有方法中,在系统运行时的运行和多个任务的运行中,未运行的处理部分的源代码有时会被配置在高速缓冲存储器中。但如果这样,配置在高速缓冲存储器中的源代码会阻碍在高速缓冲存储器中配置必要的处理。

发明内容

本发明的目的在于提供一种能够廉价且容易地抑制因高速缓存未命中而引起的性能下降的基于编译器的程序优化方法。

本发明的基于编译器的程序优化方法,由在将高级语言程序转换为机器语言程序时进行程序转换的编译器执行,所述程序优化方法包括:

范围确定步骤,根据包含在所述高级语言程序中的描述,确定所述机器语言程序的一个程序部分为实施程序优化的处理范围;以及

配置确定步骤,确定位于所述处理范围内的命令代码的配置位置,

所述描述为用于指定所述高级语言程序所具有的多个处理块之间的相关关系的描述,

所述范围确定步骤在所述机器语言程序之中将相当于由所述描述指定了所述相关关系的所述处理块的程序部分确定为所述处理范围,

所述配置确定步骤根据由所述描述指定的所述相关关系,针对每个所述处理块,确定位于所述处理范围内的命令代码的配置位置。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于松下电器产业株式会社,未经松下电器产业株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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