[发明专利]程序转换装置以及编译程序无效
申请号: | 200810126963.0 | 申请日: | 2008-06-20 |
公开(公告)号: | CN101369235A | 公开(公告)日: | 2009-02-18 |
发明(设计)人: | 河野研二郎 | 申请(专利权)人: | 冲电气工业株式会社 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 雒运朴;李伟 |
地址: | 日本*** | 国省代码: | 日本;JP |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 转换 装置 以及 编译程序 | ||
技术领域
本发明涉及一种程序转换装置以及编译程序,其将用C语言等程序语言所记载的源代码转换为用电子计算机可执行的指令代码。
背景技术
近年来,逐渐发展为,在电子计算机的处理器中,使用独立地具有地址生成单元和运算执行单元的体系结构。在这样的体系结构中,例如,可以并行执行转送指令和运算指令。当设一个指令的执行周期数为一个周期时,以往执行转送指令和运算指令需要两个周期,然而通过独立地具有地址生成单元和运算执行单元,将转送指令和运算指令置换为同时即并行执行指令,由此可以将执行时间缩短为一个周期。
然而,对于将用C语言所记载的源代码转换为转送指令和运算指令等指令代码时,通过使用作为软件的C编译器,以该源代码为基础生成暂时中间代码,以所生成的中间代码为基础,进一步进行各种优化,生成最终的指令代码。此时,对于如上所述的并行执行指令,C编译器以中间代码为基础,将两个指令转换为一个并行执行指令。对于用于在这样的中间代码层次中的并行化的程序转换技术,参照专利文献1。
专利文献1:日本特开2001-282549号公报
然而,在以往的方法中,存在如下的缺点:当存在成为并行化的候补的两个指令,而要将它们移动到同时执行位置时,在它们之间存在具有依赖关系的其他指令的情况下,判别为不能统一地进行指令移动,不能进行并行化。在此,所谓依赖关系是指,由于后续指令参照由在先执行的指令更新的数据和标记等,导致某个指令的执行条件为先行指令的执行结果,或者,某个指令的执行结果为后行指令的执行条件的关系,在存在这样的关系的情况下,执行指令的指令顺序受到制约。
图1表示,由于存在依赖关系而不进行指令移动的具体例。在此,为了说明使用下述的伪中间指令。即,INSTPn(n为按指令顺序分配的编号)为可以成为并行化的对象的指令,例如,INSTP1及INSTP2意味着彼此之间可并行化。INSTNn表示不是并行化的对象的指令。在各指令后面的括弧内记载有其他指令的情况,是表示在该指令与本身之间有依赖关系。按图面的向下方向按指令顺序执行各指令。
参照图1中(a),分别地,INSTN1和INSTP5、INSTP2和INSTN4、INSTN3和INSTP5、INSTN4和INSTP2、INSTP5和INSTN1及INSTN3,在指令间有依赖关系。另外,INSTP2和INSTP5的两个指令为可并行化的指令。
在该情况下,可以尝试将INSTP2和INSTP5移动到同时执行位置。然而,由于INSTP2和INSTN4之间的依赖关系,不能移动到INSTP5的位置,另外,INSTP5,由于与INSTN3之间的依赖关系,而被判别为不能移动到INSTP2的位置。其结果,导致不能进行INSTP2和INSTP5的并行化,不能实现指令执行的高速化。
参照图1中(b),分别地,INSTN1和INSTP5、INSTP2和INSTN3、INSTN3和INSTP2、INSTN4和INSTP5、INSTP5和INSTN1及INSTN4,在指令间有依赖关系。另外,INSTP2和INSTP3的两个指令为可并行化的指令。
这种情况下,尝试将INSTP2和INSTP5移动到同时执行位置。然而,INSTP2,由于和INSTN3之间的依赖关系,而被判别为不能移动到INSTP5的位置,另外,INSTP5,由于和INSTN4之间的依赖关系,而被判别为不能移动到INSTP2的位置。其结果,这种情况下,也导致不能进行INSTP2和INSTP5的并行化。如以上的具体例,在以往的方法中,基于执行位置并行化的高速化是不充分的。
发明内容
本发明的目的在于,提供一种更彻底地实现指令执行的高速化的程序转换装置和编译程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于冲电气工业株式会社,未经冲电气工业株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810126963.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电容检测模块以及方法
- 下一篇:可控等效串联电阻的去耦电容器