[发明专利]一种面向DSP芯片的指令调度方法无效
申请号: | 201110002454.9 | 申请日: | 2011-01-07 |
公开(公告)号: | CN102063288A | 公开(公告)日: | 2011-05-18 |
发明(设计)人: | 汤睿;范高生 | 申请(专利权)人: | 四川九洲电器集团有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 徐宏;吴彦峰 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 dsp 芯片 指令 调度 方法 | ||
技术领域
本发明涉及计算机科学与技术中编译器技术,尤其涉及一种面向DSP(数字信号处理:Digital Signal Processing,简称DSP)芯片的指令调度方法。
背景技术
随着计算机技术多媒体技术的不断发展,音视频技术成为了当前计算机科学与技术研究领域的一个主流方向。但音视频数据量大,对芯片的计算能力有很高要求,所以要实现音视频技术的诸多高端应用,必须想办法提高芯片的处理能力。而现有技术中的DSP芯片的汇编代码一般限于某一具体功能。
发明内容
针对现有技术中存在的DSP芯片一般限于某一具体功能,因此有必要提供一种面向DSP芯片的指令调度方法。
本发明克服了现有技术的不足,提供提高程序运行速度的方法。本发明提供一种面向DSP芯片的指令调度方法,其包含以下步骤:
步骤A.构造汇编程序基本块语句之间的拓扑排序;
步骤B.在步骤A得到的拓扑排序的基础上,计算汇编语言程序基本块中每条指令的延迟值delay;
步骤C.从根节点到叶节点对数据依赖图进行遍历,在遍历的过程中选择指令进行调度,产生候选指令集;所述候选指令集分为两个集合:一个集合记录步骤B中具有最大delay值的指令;一个集合记录最早执行时间小于或者等于当前时间的指令集合;
步骤D.将步骤C中候选指令集合中delay值最大,并且其执行时间小于或等于当前时间的指令找出来,安排到当前的调度时间槽中,然后再根据数据依赖图,更新候选指令集合;
步骤E.输出调度以后的汇编语言代码。
优选地,所述步骤A中构造汇编程序基本块语句之间的拓扑排序基于线性调度算法。
优选地,所述步骤B中计算汇编语言程序基本块中每条指令的延迟值delay,其计算公式如下:
其中exectime(n)为执行第n条指令所需要的周期数,其中exectime(n)为执行第n条指令所需要的周期数,late_delay(n,m)=latency(linst(n),linst(m)+delay(m))+1;latency(linst(n),linst(m))用于计算两条指令之间需要保留的时钟周期数,也就是当两条相邻的语句之间具有数据依赖时,机器为了避免数据冒险而必须延迟的时间。
优选地,在步骤D执行完成后进行判断,如果指令调度完毕则执行步骤E,否则重复执行步骤C。
本发明的有益效果为:通过改变音视频处理方法生成的汇编代码来提高音视频处理方法的效率,优化DSP芯片的处理程序,通过建模的方式,实现了通用DSP芯片的优化,不限于市面上某一具体的DSP芯片。在发明中充分利用了所有DSP芯片中都存在或者相似的超长指令集VLIW的功能。
附图说明
图1为面向DSP芯片的指令调度方法的步骤示意图。
具体实施方式
下面结合附图对本发明作进一步阐述。
首先调用GCC(用于linux系统下编程的编译器)编译器生成计算机语言代码对应的汇编代码文件,然后以汇编文件为基础,进行下述一系列的面向DSP芯片的指令调度方法,生成同名的汇编代码文件,最后交给链接器生成可执行文件。
如图1所示的面向DSP芯片的指令调度方法的步骤示意图,其包含以下步骤:
步骤A.构造汇编程序基本块语句之间的拓扑排序;
步骤B.在步骤A得到的拓扑排序的基础上,计算汇编语言程序基本块中每条指令的延迟值delay;
步骤C.从根节点到叶节点对数据依赖图进行遍历,在遍历的过程中选择指令进行调度,产生候选指令集;所述候选指令集cands分为两个集合:一个集合mcands记录步骤B中具有最大delay值的指令;一个集合ecands记录最早执行时间etime小于或者等于当前时间curtime的指令集合;
步骤D.将步骤C中候选指令集合中delay值最大,并且其执行时间小于或等于当前时间的指令找出来,安排到当前的调度时间槽中,然后再根据数据依赖图,更新候选指令集合;
步骤E.输出调度以后的汇编语言代码。
优选地,所述步骤A中构造汇编程序基本块语句之间的拓扑排序基于线性调度算法。
优选地,所述步骤B中计算汇编语言程序基本块中每条指令的延迟值delay,其计算公式如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川九洲电器集团有限责任公司,未经四川九洲电器集团有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110002454.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于制造细长管的方法以及管的用途
- 下一篇:一次编程存储器的多值存储方法