[发明专利]针对已调度汇编代码的控制流图重构方法有效
申请号: | 201310565945.3 | 申请日: | 2013-11-14 |
公开(公告)号: | CN103577242B | 公开(公告)日: | 2016-11-02 |
发明(设计)人: | 应欢;王雷欧;王东辉;洪缨 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/44 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种针对已调度汇编代码的控制流图重构方法,包括:对源程序进行静态分析,根据全局延迟槽列表信息,获取源程序所有可能的执行路径,由此构建指令流图;其中,指令流图中的每个结点代表一条指令;遍历指令流图中的各个结点,根据各个结点的入度和出度信息,创建基本块,生成控制流图;基于控制流图,分析各基本块中的各个执行包,对执行包建立汇编级数据依赖图;根据源体系结构指令集信息,确定执行包中各条指令的时间戳信息;根据各条指令的时间戳信息,进行指令的跨块或跨包移动;根据汇编级数据依赖图,修改各条指令的时间戳信息;根据各条指令修改后的时间戳信息,重排序各条指令,由此复原源程序中每条指令的等价执行。 | ||
搜索关键词: | 针对 调度 汇编 代码 控制 流图重构 方法 | ||
【主权项】:
一种针对已调度汇编代码的控制流图重构方法,其特征在于,所述方法包括:对源程序进行静态分析,根据全局延迟槽列表信息,获取源程序所有可能的执行路径,由此构建指令流图;其中,指令流图中的每个结点代表一条指令,每一条边代表一条指令到另一条指令一种可能的执行序关系;遍历所述指令流图中的各个结点,根据所述各个结点的入度和出度信息,创建基本块,生成控制流图;基于控制流图,分析各基本块中的各个执行包,对所述执行包建立汇编级数据依赖图;根据源体系结构指令集信息,确定所述执行包中各条指令的时间戳信息;根据所述各条指令的时间戳信息,进行指令的跨块或跨包移动;其中,所述进行指令的跨块或跨包移动包括:在[TW]大于当前执行包的基准时间Tb1时,比较[TW]和当前基本块中的最后一个执行包的基准时间Tb2;在[TW]大于当前基本块中最后一个执行包的基准时间Tb2时,当前指令进行跨块移动;在[TW]不大于当前基本块中最后一个执行包的基准时间Tb2时,当前指令进行跨包移动;其中,[TW]为对当前指令的写回时间TW的下取整;根据所述汇编级数据依赖图,修改所述各条指令的时间戳信息;根据各条指令修改后的时间戳信息,重排序所述各条指令,由此复原所述源程序中每条指令的等价执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310565945.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种增强氢化丁腈复合材料的制备方法
- 下一篇:一种低温熔盐回收碳纤维的方法