[发明专利]一种面向VLIW体系结构的多元启发式指令选择方法有效
申请号: | 201510135366.4 | 申请日: | 2015-03-26 |
公开(公告)号: | CN104699466B | 公开(公告)日: | 2017-07-18 |
发明(设计)人: | 陈书明;胡勇华;孙海燕;王霁;扈啸 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 湖南兆弘专利事务所(普通合伙)43008 | 代理人: | 周长清 |
地址: | 410073 湖南省长沙市砚瓦池正街47号中国*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 vliw 体系结构 多元 启发式 指令 选择 方法 | ||
技术领域
本发明涉及VLIW(Very LongInstruction Word,超长指令字)体系结构的编译优化技术领域,尤其涉及一种面向VLIW体系结构的多元启发式指令选择方法。
背景技术
基本块调度是提高代码的指令级并行度的重要处理过程之一,它在保证产生相同结果的前提下,通过重新安排指令的执行顺序来充分发挥硬件的性能,因而是流水线体系结构或者多功能单元的超长指令字体系结构中提高代码执行效率的重要途径。
对于流水线体系结构,基本块调度通常是采用表调度方法,采用该方法在调度过程中,需要维持2个序列:一是已经调度过(被发射)的结点序列Scheds;二是每一个时间点的候选指令集合Cands。候选指令集合Cands有两个子集:一是到基本块末尾具有最大延迟时间的第一候选指令集合ACands;二是第一候选指令集合ACands中最早开始时间小于或等于等于当前时间的第二候选指令集合BCands。
基于表调度方法对基本块的指令进行重排的流程如下:
1)获得各指令到基本块末尾的最大可能延迟;
2)从基本块的无环有向图(Directed Acyclic Graph,DAG)的根结点向叶结点方向遍历,找出候选指令集合Cands;
3)从候选指令集合Cands中找到到达基本块末尾具有最大延迟时间的指令到第一候选指令集合ACands;
4)从ACands中选择合适的指令到已经调度过的结点序列Scheds;
5)反复进行2)、3)、4)三个步骤的处理直到基本块内的所有指令全部都到已经调度过的结点序列Scheds中,已经调度过的结点序列Scheds中的指令顺序即指令重排后的指令顺序。
在基本块调度中,影响指令重排结果的核心因素是每一个时间点的指令的选择。在表调度方法中,具体就是从候选指令集合Cands中的选择指令。然而,当第一候选指令集合ACands中的指令数量大于1时,则存在具体选择哪条指令的问题。
目前对于解决指令选择的问题有一些启发式策略,例如:
策略一:从第一候选指令集合ACands中选择延迟时间最大或具有最小ETime的结点n,其中ETime是为了避免停顿该结点应当被调度的最早时间;
策略二:如果体系结构有多条流水线,并且每条流水线都有若干候选结点,则优先选择最近没有为它调度指令的那些流水线上的候选结点;
策略三:优先选择那些在选择之后能使新产生的候选指令集合Cands 的元素个数最大的指令。
上述三种策略对于功能单元丰富的流向量超长指令字处理器而言,一方面没有考虑处理器内标量处理单元和向量处理单元的区分;另一方面没有考虑指令间数据依赖关系所隐含的相应功能单元之间的关联性,因此其均不适用于在VLIW体系结构中进行较好的指令选择。
由于流向量超长指令字处理器具有超标量机器的特征,因此目前对于超标量系统,指令调度还存在通过使用成组启发式的贪婪法来实现的策略。该贪婪法是尽可能地用就绪指令填充有效指令槽实现,具体方法是:假设所考虑的处理机有n个可并行执行的部件P1...Pn,并且每一个部件Pi可以执行类别为PClass(i)的指令,用表调度算法中所用的数据结构的n个副本来模拟这些功能部件,并由IClass函数确定具体指令inst所对应的类别,当且仅当PClass(i) = IClass (inst)时指令inst能够由执行部件Pi执行。但该贪婪方法是从在表调度方法的基础上修改而来的,其仍然没有考虑处理器内处理单元与指令之间的硬件特性,以及指令间数据依赖关系所隐含的功能单元之间的关联性。
综上所述,上述指令选择策略对于流向量VLIW处理器均不能较好地反映代码与功能单元之间的关联关系,也不能反映代码在处理器上一段时间内的执行特征,因此无法充分地发掘VLIW类处理器中指令的并行性,同时难以充分发挥硬件的性能。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、指令选择合理且并行度高的面向VLIW体系结构的多元启发式指令选择方法,能够针对VLIW体系结构的特性,充分考虑指令与处理单元之间的硬件特性以及数据与功能单元的关联性。
为解决上述技术问题,本发明提出的技术方案为:
一种面向VLIW体系结构的多元启发式指令选择方法,步骤包括:
1)获取各功能单元的候选指令集中所有可发射指令,所述可发射指令为所有数据依赖指令均已执行完的指令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510135366.4/2.html,转载请声明来源钻瓜专利网。