[发明专利]一种超长指令字结构下延迟槽调度方法及其系统有效
申请号: | 201210347706.6 | 申请日: | 2012-09-18 |
公开(公告)号: | CN102880449A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 朱浩;彭楚;王东辉;洪缨;侯朝焕 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 超长 指令 结构 延迟 调度 方法 及其 系统 | ||
1.一种超长指令字结构下延迟槽调度方法,其特征在于包括以下步骤:
对当前基本块内指令进行局部调度,所述局部调度完成后判断是否有剩余指令延迟槽,若没有,则调度结束;否则将可填充入指令延迟槽但开销较大的指令放入局部备选指令缓存;
对分支目标基本块内指令进行全局调度,选取可填充入指令延迟槽的指令放入全局备选指令缓存;
从所述局部备选指令缓存和/或所述全局备选指令缓存中选取指令填充入所述剩余指令延迟槽。
2.根据权利要求1所述的调度方法,其特征在于,所述局部调度包括:
根据当前基本块内指令间的依赖关系,获取局部备选指令集合和局部相关指令集合;
根据所述局部相关指令集合查找与所述局部备选指令集合中各指令元素存在于同一指令并行包的指令元素,构成局部相关指令子集合;
根据目标体系结构结构下指令延迟槽的数目、所述局部备选指令集合和所述集合中的指令数目、以及所述局部相关指令子集合,从所述局部备选指令集合中选取指令填充入指令延迟槽。
3.根据权利要求1所述的调度方法,其特征在于,在将可填充入指令延迟槽但开销较大的指令放入局部备选指令缓存之前,还包括:
删除所述局部备选指令集合中不能使性能提高的指令。
4.根据权利要求权1所述的调度方法,其特征在于,所述对分支目标基本块内指令进行全局调度,选取可填充入指令延迟槽的指令放入全局备选指令缓存进一步包括:
根据分支目标基本块内指令间的依赖关系,获取全局备选指令集合和全局相关指令集合;
根据所述全局相关指令集合查找与所述全局备选指令集合中指令元素存在于相同指令并行包的指令元素,构成全局相关指令子集合;
根据当前剩余延迟槽的数目、所述全局备选指令集合和所述集合中的指令数目、以及所述全局相关指令子集合,从所述全局备选指令集合中选取可填充入指令延迟槽的指令放入全局备选指令缓存。
5.根据权利要求4所述的调度方法,其特征在于,从所述备选指令集合中选取可以填充入指令延迟槽的指令放入全局备选指令缓存之前,还包括:
删除所述全局备选指令集合中不能使性能提高的指令。
6.根据权利要求1所述的调度方法,其特征在于,从所述局部备选指令缓存和/或所述全局备选指令缓存中选取指令填充入所述剩余指令延迟槽进一步包括:
判断所述局部备选指令缓存是否为空,如果是,则从所述全局备选指令缓存中选取指令填充入指令延迟槽,否则从所述局部备选指令缓存和所述全局备选指令缓存中选取性能最优的指令填充入剩余指令延迟槽。
7.根据权利要求1至6中任一权利要求所述的调度方法,其特征在于,所述指令是汇编指令。
8.一种超长指令字结构下延迟槽调度系统,其特征在于包括:
局部调度单元,用于对当前基本块内指令进行局部调度,所述局部调度完成后判断是否有剩余指令延迟槽,若没有,则调度结束;否则将可填充入指令延迟槽但开销较大的指令放入局部备选指令缓存;
全局调度单元,用于对分支目标基本块内指令进行全局调度,选取可填充入指令延迟槽的指令放入全局备选指令缓存;
平衡调度单元,用于从所述局部备选指令缓存和/或所述全局备选指令缓存中选取指令填充入所述剩余指令延迟槽。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210347706.6/1.html,转载请声明来源钻瓜专利网。