[发明专利]在运行时的软件流水线有效
申请号: | 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所述的方法,其中重复所述执行的代码优化以使用所述下一个迭代调度来产生新的调整的局部调度,只要所述规定时期直到所述调整的局部调度实现所述性能水平才发生即可。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480011194.3/1.html,转载请声明来源钻瓜专利网。