[发明专利]在运行时的软件流水线有效

专利信息
申请号: 201480011194.3 申请日: 2014-03-27
公开(公告)号: CN105009076B 公开(公告)日: 2020-07-28
发明(设计)人: H.荣;H.朴;吴佑峰 申请(专利权)人: 英特尔公司
主分类号: G06F9/38 分类号: G06F9/38;G06F9/46
代理公司: 中国专利代理(香港)有限公司 72001 代理人: 杨美灵;付曼
地址: 美国加利*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 运行 软件 流水线
【权利要求书】:

1.一种用于执行流水线的装置,包括:

第一模块,用于确定对于由动态编译器处理一个或多个循环的性能水平;

第二模块,用于执行代码优化以对所述一个或多个循环产生在规定时期内实现所确定的性能水平的流水线调度;以及

第三模块,用于对所述一个或多个循环建立依赖图并且基于所述性能水平将每个依赖图分区成级,其中所述性能水平通过计算最小启动间隔MII来确定,其中所述MII是通过Howard迭代策略算法基于所述依赖图来计算的,其中作为计算所述MII的副产物,能够在后续调度期间识别关键操作并且向所述关键操作给予优先级。

2.如权利要求1所述的装置,还包括:

第四模块,用于确定调整的局部调度是否实现所述性能水平;和

第五模块,用于如果所调整的局部调度未实现所述性能水平则确定是否已发生所述规定时期。

3.如权利要求2所述的装置,其中所述执行的代码优化包括分配硬件资源并且对每个分区级中包括的指令解决局部依赖来产生局部调度。

4.如权利要求3所述的装置,其中所述执行的代码优化包括调整所述局部调度来解决循环承载依赖并且创建所述调整的局部调度。

5.如权利要求4所述的装置,其中所述执行的代码优化包括如果所述调整的局部调度未实现所述性能水平并且未发生所述规定时期则使指令从它们的当前级移到下一个级来产生下一个迭代调度。

6.如权利要求5所述的装置,其中重复所述执行的代码优化以使用所述下一个迭代调度来产生新的调整的局部调度,只要所述规定时期直到所述调整的局部调度实现所述性能水平才发生即可。

7.一种执行流水线的方法,包括:

确定对于由动态编译器处理一个或多个循环的性能水平;

执行代码优化以对所述一个或多个循环产生在规定时期内实现所确定的性能水平的流水线调度;以及

对所述一个或多个循环建立依赖图并且基于所述性能水平将每个依赖图分区成级,其中所述性能水平通过计算最小启动间隔MII来确定,其中所述MII是通过Howard迭代策略算法基于所述依赖图来计算的,其中作为计算所述MII的副产物,能够在后续调度期间识别关键操作并且向所述关键操作给予优先级。

8.如权利要求7所述的方法,还包括:

确定调整的局部调度是否实现所述性能水平;以及

如果所述调整的局部调度未实现所述性能水平则确定是否已发生所述规定时期。

9.如权利要求8所述的方法,其中所述执行的代码优化包括分配硬件资源并且对每个分区级中包括的指令解决局部依赖来产生局部调度。

10.如权利要求9所述的方法,其中所述执行的代码优化包括调整所述局部调度来解决循环承载依赖并且创建所述调整的局部调度。

11.如权利要求10所述的方法,其中所述执行的代码优化包括如果所述调整的局部调度未实现所述性能水平并且未发生所述规定时期则使指令从它们的当前级移到下一个级来产生下一个迭代调度。

12.如权利要求11所述的方法,其中重复所述执行的代码优化以使用所述下一个迭代调度来产生新的调整的局部调度,只要所述规定时期直到所述调整的局部调度实现所述性能水平才发生即可。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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