【技术实现步骤摘要】
本专利技术是关于将用C语言等高级语言描述的源程序变换成机器语言程序的程序变换方法及程序变换装置,特别是关于对编译器(compiler)的信息输入及编译器中的优化。
技术介绍
以往,已提出了各种将由高级语言描述的源程序变换成机器语言指令串的编译器。但是,简单的编译器却不能避免例如由高速缓冲存储器的错误等的影响所造成的性能恶化。因此,近些年来,提出了根据该源程序内的信息及该源程序的评测(profile)信息,实现减少高速缓冲存储器错误的优化的编译器(例如,参照日本专利特开2001-166948号公报及日本专利特开平7-129410号公报)。但是,在现有的技术中,只着眼于自身的任务实现优化处理。为此,依然不能考虑到系统内其他任务产生的影响,当在单一处理器上多个任务分时操作时、及在各具有本地高速缓冲存储器的多个处理器上多个任务进行操作时,由于高速缓冲存储器的高速缓冲存储错误等影响,以计算机系统整体看时,存在性能大幅下降的问题。这样的问题不仅限于编译器,在OS(Operating System)、及硬件调度器(hardware scheduler)进行任务调度(task scheduling)时,也会根据任务调度的结果,性能大幅度下降。因此,需要系统软件的程序员人工进行试行错误性的数据配置等工作,需要大量的开发工时。
技术实现思路
本专利技术是为了解决上述课题而提出的,其目的在于提供程序变换方法等,在系统软件开发时,提高计算机系统整体的执行性能,并且可以减少系统软件的开发工时。为了达到上述目的,本专利技术所涉及的程序变换方法,是将由高级语言描述的源程序变换成机器语言 ...
【技术保护点】
一种程序变换方法,将由高级语言描述的源程序变换成机器语言程序,其特征在于,包括:解析步骤,对上述源程序进行词法分析和语法分析;中间代码变换步骤,根据上述解析步骤的分析结果,将上述源程序变换成中间代码;提示信息接受步骤 ,接受用于提高上述机器语言程序执行效率的提示信息;优化步骤,根据上述提示信息,对上述中间代码进行优化;以及机器语言程序变换步骤将优化后的上述中间代码变换成机器语言程序,在上述提示信息中,包含与成为变换对象的上述源程序 所对应的执行对象以外的执行对象有关的信息。
【技术特征摘要】
JP 2005-3-16 075916/20051.一种程序变换方法,将由高级语言描述的源程序变换成机器语言程序,其特征在于,包括解析步骤,对上述源程序进行词法分析和语法分析;中间代码变换步骤,根据上述解析步骤的分析结果,将上述源程序变换成中间代码;提示信息接受步骤,接受用于提高上述机器语言程序执行效率的提示信息;优化步骤,根据上述提示信息,对上述中间代码进行优化;以及机器语言程序变换步骤将优化后的上述中间代码变换成机器语言程序,在上述提示信息中,包含与成为变换对象的上述源程序所对应的执行对象以外的执行对象有关的信息。2.如权利要求1所述的程序变换方法,其特征在于在上述提示信息中,包含表示还含有与变换对象相对应的执行对象以外的执行对象、而应作为优化对象的数据的信息;上述优化步骤,包括根据上述提示信息,对作为优化对象的数据,进行可有效使用高速缓冲存储器的调整的高速缓存行调整步骤。3.如权利要求1所述的程序变换方法,其特征在于上述优化步骤包括高速缓存行调整步骤,该高速缓存行调整步骤根据上述提示信息,对作为优化对象的数据,进行可有效使用高速缓冲存储器的调整;上述高速缓存行调整步骤中,对作为优化对象的数据调整数据配置,以使该数据所占的高速缓冲存储器上的行数减少。4.如权利要求1所述的程序变换方法,其特征在于上述优化步骤包括高速缓存行调整步骤,该高速缓存行调整步骤根据上述提示信息,对作为优化对象的数据,进行可有效使用高速缓冲存储器的调整;上述高速缓存行调整步骤中,对于包括作为优化对象的数据的循环进行循环分割,以便在该循环的迭代中,可以以高速缓冲存储器的行为单位对该数据进行存取。5.如权利要求1所述的程序变换方法,其特征在于在上述提示信息中,包含与也包括与变换对象相对应的执行对象以外的执行对象、而应作为优化对象数据的实际配置地址有关的信息;上述优化步骤,包括根据上述提示信息,设定与作为优化对象的数据在高速缓冲存储器上所配置的集有关的信息的配置集信息设定步骤。6.如权利要求1所述的程序变换方法,其特征在于在上述提示信息中,包含表示还包括与变换对象相对应的执行对象以外的执行对象、而作为优化对象的数据被配置在高速缓冲存储器的某个集中的信息;上述优化步骤包括配置集信息设定步骤,该配置集信息设定步骤根据上述提示信息,设定与作为优化对象的数据在高速缓冲存储器上所配置的集有关的信息。7.如权利要求1所述的程序变换方法,其特征在于上述优化步骤包括配置集信息设定步骤,该配置集信息设定步骤根据上述提示信息,设定与作为优化对象的数据在高速缓冲存储器上所配置的集有关的信息;上述配置集信息设定步骤中,根据上述提示信息,确定作为优化对象的数据被配置在高速缓冲存储器的某个集中,从而不会产生因上述提示信息所指定的数据被配置在高速缓冲存储器上的同一个集中而相互冲突的情况。8.如权利要求1所述的程序变换方法,其特征在于上述优化步骤包括配置集信息设定步骤,该配置集信息设定步骤根据上述提示信息,设定与作为优化对象的数据在高速缓冲存储器上所配置的集有关的信息;上述配置集信息设定步骤中,根据上述提示信息,确定作为变换对象的执行对象中所包含的数据配置,以使映射到高速缓冲存储器的各集中的数据数均等。9.如权利要求1所述的程序变换方法,其特征在于上述优化步骤,包括配置集信息设定步骤,根据上述提示信息,设定与作为优化对象的数据在高速缓冲存储器上所配置的集有关的信息;以及提示信息输出步骤,将由上述配置集信息设定步骤所确定的配置信息作为提示信息输出。10.如权利要求1所述的程序变换方法,其特征在于上述优化步骤包括配置集信息设定步骤,该配置集信息设定步骤根据上述提示信息,设定与作为优化对象的数据在高速缓冲存储器上所配置的集有关的信息;上述配置集信息设定步骤中,根据上述提示信息,在由上述提示信息所指定的数据中,对于分配给预定数量以上的处理器的数据,确定将该数据配置在不被分配给高速缓冲存储器的主存储器上的区域。11.如权利要求1所述的程序变换方法,其特征在于在上述提示信息中,包含表示还包括与变换对象相对应的执行对象以外的执行对象、而各执行对象被分配在某个处理器的信息;上述优化步骤包括配置集信息设定步骤,该配置集信息设定步骤根据上述提示信息,设定与作为优化对象的数据在高速缓冲存储器上所配置的集有关的信息。12.如权利要求1所述的程序变换方法,其特征在于上述优化步骤包括处理器分配步骤,该处理器分配步骤根据上述提示信息,将作为变换对象的上述执行对象分配给该执行对象被执行的某个处理器;上述处理器分配步骤中,根据上述提示信息,将上述执行对象分配给该执行对象被执行的某个处理器,以便不会产生因上述提示信息所指定的数据被配置在高速缓冲存储器上的同一个集中而相互冲突的情况、或同一数据被分散配置在多个处理器中的情况。13.如权利要求1所述的程序变换方法,其特征在于上述优化步骤包括处理器分配步骤,该处理器分配步骤根据上述提示信息,将作为变换对象的上述执行对象分配给执行该执行对象的某个处理器;上述处理器分配步骤中,根据上述提示信息,将上述执行对象分配给执行该执行对象的某个处理器,以使映射到各处理器的本地高速缓冲存储器各集中的数据数均等。14.如权利要求1所述的程序变换方法,其特征在于上述优化步骤,包括处理器分配步骤,根据上述提示信息,将作为变换对象的上述执行对象分配给执行该执行对象的某个处理器;以及提示信息输出步骤,将与上述处理器分配步骤所确定的执行对象的处理器分配有关的信息作为提示信息进行输出。15.一种程序变换方法,接受至少1个目标文件,将该目标文件变换成机器语言程序,其特征在于,包括提示信息接收步骤,接...
【专利技术属性】
技术研发人员:瓶子岳人,滨田智雄,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。