[发明专利]程序变换方法和程序变换系统无效
申请号: | 99100822.7 | 申请日: | 1999-02-23 |
公开(公告)号: | CN1228558A | 公开(公告)日: | 1999-09-15 |
发明(设计)人: | 磯崎博子 | 申请(专利权)人: | 日本电气株式会社 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
代理公司: | 中原信达知识产权代理有限责任公司 | 代理人: | 穆德骏,余朦 |
地址: | 日本*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 变换 方法 系统 | ||
本发明一般涉及一种程序变换方法,一种程序变换系统,和一种存储程序变换程序的存储介质。具体地讲,本发明涉及一种用于把由编程语言描述的源程序变换(编译)为由计算机、中央处理器(CPU)等可执行的语言(机器语言、汇编语言等)描述的目标程序的程序变换方法和程序变换系统。
图15是日本未审查专利公开1-118931中公开的一种现有程序变换系统的结构实例的方框图。
图15中所示的程序变换系统是由一个第一程序存储部分151,一个编译器152,一个第二程序存储部分153,一个第三程序存储部分154,一个输入数据存储部分155,一个程序执行部分156,一个第四程序存储部分157,和一个剖析(parsing)结果存储部分158构成的。
首先,编译器152从第一程序存储部分151读出一个由C语言之类的编程语言描述的源程序,临时地产生一个由机器语言、汇编语言之类的语言描述的目标程序,并且把临时产生的目标程序存储在第二程序存储部分153。
在这里,临时产生的目标程序是通过把源程序以描述的顺序次序变换为机器语言、汇编语言等的代码而产生的程序。尽管临时产生的目标程序是可以由计算机、中央处理器(CPU)等执行的,由于只是把源程序变换成源程序代码顺序次序的代码,所以它固有的冗余部分使得以临时产生形式保持的整体目标程序的长度(代码量)很大。因此适于存储临时产生的目标程序的主存储器需要大的存储容量。此外,目标程序执行周期变得很长,因而降低了效率。
因此,需要产生一种有效和优化的目标程序。此后把上述处理中从源程序变换为依照源程序中描述的顺序次序代码的目标程序称为“临时目标程序”,以区别于优化后的最终目标程序。
有各种优化目标程序的方法。在这里,在一个过程中对指令的排列优化编码。过程的意思是指计算机或CPU要执行的算术运算之类的一组处理,通常称为函数或子程序。在整个说明书和权利要求中,将把这种处理组统称为“过程”。
在一个程序中,在程序的某一部分的一些过程(此后称为“主调用(caller)”辅助过程)的执行中需要调用其它过程(此后称为“被调用(callee)”辅助过程)。因此,当把源程序变换成目标程序并把所得的目标程序存储在主存储器中时,如果一个主调用辅助过程的指令代码和一个与前者最为相关的一个主调用辅助过程的指令代码物理地相互紧挨着排列,那么一个过程调用指令可以从长跳转指令变为短跳转指令。
通过这种改变可以减少整个目标程序的代码量。结合这种改变,在计算机或CPU中执行目标程序的执行速度可以是较高的。把将来具有很可能相继执行的指令代码排列在目标程序的物理上紧挨的位置上称为过程指令代码的排列优化。
接下来,程序执行部分156从第四程序存储部分157读出一个过程调用频率剖析程序,并执行之。即,程序执行部分156从第二程序存储部分153读出临时目标程序。与之结合,程序执行部分156还读出存储在输入数据存储部分155中由操作员输入的输入数据。然后,程序执行部分156模拟临时目标程序的执行,并且结合这种模拟执行,累计临时目标程序中某一过程中其它过程的调用发生的次数。把累计的结果作为过程参考频率剖析结果存储在剖析结果存储部分158中。
借此,编译器152从剖析结果存储部分158读出过程参考频率剖析结果,以计算任意两个过程之间的参考关系的紧密性。根据所得的紧密性,进行指令代码的排列优化,以产生最终目标过程,存储在第三程序存储部分154中。
另一方面,图16是日本未审查专利公开9-34725中公开的一个现有程序变换系统的结构实例的方框图。
图16中所示的程序变换系统一般是由一个源程序存储部分161,一个编译器162和一个目标程序存储部分163构成的。
编译器162一般是由一个剖析部分164,一个过程调用发生计数部分165,一个代码产生部分166,一个过程调用计数数据存储部分167,一个特定空间排列程序确定部分168,一个目标程序输出部分169构成的。在这里,一个特定空间的意思是设定在一个程序空间的一部分中的一个有限代码量的特定区。
剖析部分164从源程序存储部分161读出要剖析的源程序,并且剖析形成源程序的语法。过程调用计数部分165计算在剖析语法时剖析部分164识别出的每个过程的有关过程的调用次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于日本电气株式会社,未经日本电气株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/99100822.7/2.html,转载请声明来源钻瓜专利网。