[发明专利]基于模调度实现循环指令调度的编译方法及装置有效
申请号: | 201110128054.2 | 申请日: | 2011-05-17 |
公开(公告)号: | CN102200924A | 公开(公告)日: | 2011-09-28 |
发明(设计)人: | 程旭;谭明星;刘先华;张吉豫 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 调度 实现 循环 指令 编译 方法 装置 | ||
1.一种基于模调度实现循环指令调度的编译方法,包括由编译器执行的下列步骤:
读入并解析源程序,获取控制流图信息;
建立循环体结构的数据依赖约束和资源依赖约束;
在对所述循环体结构执行模调度过程中,针对检测指令调度结果发生的数据依赖冲突和/或资源冲突根据符合相应约束的回溯模型解决。
2.按照权利要求1所述的方法,其特征在于,所述读入并解析源程序,获取控制流图信息,具体包括:
读入高级语言源程序,并通过控制流分析技术对高级语言的前端进行解析,获取基本块,并获取表述所述基本块的程序结构的所述控制流图信息。
3.按照权利要求1所述的方法,其特征在于,所述针对循环体结构建立数据依赖约束和资源依赖约束,具体包括:
根据所述控制流图信息建立所述数据依赖约束,根据目标处理器的资源信息建立所述资源依赖约束。
4.按照权利要求1至3任一项所述的方法,其特征在于,在对所述循环体结构执行模调度过程中,针对检测指令调度结果发生的数据依赖冲突和/或资源冲突根据符合相应约束的回溯模型解决,具体包括:
根据预先对处理器执行可执行程序时采用典型输入数据收集的剖视信息指导对循环指令的模调度;
针对循环体中每一条需要调度指令当前节点的调度结果进行所述数据依赖冲突的检测和/或所述资源冲突的检测;
针对检测到所述调度结果会发生所述数据依赖冲突和/或所述资源冲突,则相应地使用符合所述数据依赖约束的回溯模型和符合所述资源约束的回溯模型消除。
5.按照权利要求4所述的方法,其特征在于,其中各步骤具体为:
根据所述剖视信息中的值剖视信息识别循环体结构,并初始化所述数据依赖冲突和所述资源冲突;根据所述剖视信息中的路径剖视信息指导从控制依赖到数据依赖的转换过程;
在假定启动间距条件下,采用摆动模调度算法选择对当前指令的调度位置,并设置相应的调度优先级;
若检测选择的所述当前指令的调度位置会产生所述数据依赖冲突,则依据所述符合数据依赖约束的回溯模型中的回溯节点选择目标和约束条件选取部分指令节点作为回溯节点,取消对所述回溯节点选择的调度位置,并更新所述回溯节点的调度优先级;若检测选择的所述当前指令的调度位置会产生所述资源冲突,则依据所述符合资源约束的回溯模型中的回溯节点选择目标和约束条件选取部分指令节点作为回溯节点,取消所有与所述回溯节点发生资源冲突的节点,并更新所述回溯节点的调度优先级。
6.按照权利要求5所述的方法,其特征在于,还包括:重组循环体结构,编译生成可执行程序,具体包括:
根据所述剖释信息分析模调度收益,若判断所述模调度收益能保证调度结果有效,则根据调度优先级将相应指令调度到选择的调度位置上,并依据产生的循环入口代码和循环出口代码重组所述循环体结构,将所述源程序编译成可执行程序。
7.一种基于模调度实现循环指令调度的编译器装置,其特征在于,包括依次连接的控制流信息获取模块、约束建立模块以及模调度执行模块,其中:
控制流信息获取模块,用于通过读入并解析源程序获取基本块,并获取表述所述基本块的程序结构的所述控制流图信息;
约束建立模块,用于根据所述控制流图信息和目标处理器的资源信息建立循环体结构的数据依赖约束和资源约束;
模调度执行模块,用于在对所述循环体结构执行模调度过程中,针对检测指令调度结果发生的数据依赖冲突和/或资源冲突,根据符合相应约束的回溯模型解决。
8.按照权利要求7所述的编译器装置,其特征在于,还包括与所述模调度执行模块连接的剖视信息收集模块,其中:
剖视信息收集模块,用于在处理器执行可执行程序时根据典型输入数据收集并向所述模调度执行模块反馈剖视信息,其中包括值剖视信息和路径剖视信息;
所述模调度执行模块根据所述剖视信息指导所述模调度,包括根据所述值剖视信息识别所述循环体结构,并初始化所述模调度对应的所述约束,根据所述路径剖视信息指导从控制依赖到数据依赖的转换;在假定启动间距的条件下进行指令调度位置的选择,并设置相应的调度优先级;若检测到所选择的指令调度位置会发生数据依赖冲突,则使用符合所述数据依赖约束的回溯模型消除该冲突;若检测到所选择的指令调度位置会发生资源冲突,则使用符合所述资源约束的回溯模型消除该冲突。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110128054.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:太阳能电池元件及其装置
- 下一篇:钾铷铯矾的提取方法