编译装置制造方法及图纸

技术编号:2847314 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术的目的为提供一种可以对循环处理实施利用软件流水线的优化处理的编译装置,该软件流水线的执行周期数削减的效果较大。该编译装置将源程序转换成可进行并行处理的处理器用机器语言程序;具备:语法分析部,对上述源程序进行语法分析,来转换成用中间语言所描述的程序即中间程序;优化部,对上述中间程序进行优化;转换部,将优化后的上述中间程序转换成机器语言程序;上述优化部在上述中间程序中包含的循环处理中,通过插入在操作数间传输数据的指令即传输指令,来变更数据依赖关系,进行软件流水线。

【技术实现步骤摘要】

本专利技术涉及一种将用C语言等高级语言所描述的源程序转换成机器语言程序的编译装置,特别涉及到编译装置的循环处理的高速化。
技术介绍
编译程序用来将用高级语言所描述的源程序转换成由机器语言的指令串组成的机器语言程序。编译程序在向机器语言程序的转换时,要进行指令的排序,以使机器语言程序的执行效率得到提高。将其称为“指令调度”。另外,如何使循环处理的执行效率得到提高,是在语言处理系统的
早就在研讨的研究课题之一。一般来说,循环处理由for语句、while语句等的控制语句和由0个以上的运算式构成的下述本体,并且在满足由控制语句所规定的重复条件之前,反复执行本体。这种循环处理中的执行单位被称为“迭代”(イタレ一ション),迭代只按和控制语句所示的重复数相同的次数进行派生。假设,控制语句描述为将本体重复100次,则导致从该本体派生100个迭代。为了使循环处理的执行效率得到提高,不言而喻,可以使这种多个迭代的全部或一部分并行执行。为了实现迭代的并行执行,以往众所周知,对循环处理的本体(下面,也称为“循环本体”。)实施被称为软件流水线的优化技术,是较为有效的(例如,参见日本特开平10-974本文档来自技高网...

【技术保护点】
一种编译装置,将源程序转换成可进行并行处理的处理器用机器语言程序,其特征为,    具备:    语法分析单元,对上述源程序进行语法分析,转换成用中间语言所描述的程序即中间程序;    优化单元,对上述中间程序进行优化;    转换单元,将优化后的上述中间程序转换成机器语言程序;    上述优化单元在上述中间程序中包含的循环处理中,通过插入在操作数间传输数据的指令即传输指令,来变更数据依赖关系,执行软件流水线。

【技术特征摘要】
JP 2005-6-6 165999/20051.一种编译装置,将源程序转换成可进行并行处理的处理器用机器语言程序,其特征为,具备语法分析单元,对上述源程序进行语法分析,转换成用中间语言所描述的程序即中间程序;优化单元,对上述中间程序进行优化;转换单元,将优化后的上述中间程序转换成机器语言程序;上述优化单元在上述中间程序中包含的循环处理中,通过插入在操作数间传输数据的指令即传输指令,来变更数据依赖关系,执行软件流水线。2.根据权利要求1所述的编译装置,其特征为,上述优化单元,具有循环路径检测部,制作在上述中间程序中存在的指令间的数据依赖图,从该数据依赖图中检测出循环路径,该循环路径是追踪与某个指令有关的数据依赖并最后返回原来指令的闭合路径;插入部,插入上述传输指令,该传输指令将所检测出的上述循环路径中所包含的输送依赖的参数作为操作数的一部分;软件流水线部,对插入传输指令后的上述中间程序实施软件流水线。3.根据权利要求2所述的编译装置,其特征为,上述插入部,具有指令选择部,用来选择指令,该指令是所检测出的上述循环路径中真依赖的依赖目标,并为输送依赖且反依赖的依赖源;指令置换部,通过将在所选择出的上述指令中使用的第1寄存器置换为第2寄存器,来置换该指令;传输指令插入部,用来插入上述传输指令,该传输指令将上述第1寄存器中所存储的值传输给上述第2寄存器。4.根据权利要求3所述的编译装置,其特征为上述循环路径检测部至少检测出1个上述循环路径中数据依赖的等待时间总计为最大的循环路径,上述指令选择部在存在多个上述等待时间总计为最大的循环路径时,从作为多个循环路径的输送依赖的依赖源或依赖目标的指令之中,选择...

【专利技术属性】
技术研发人员:道本昌平瓶子岳人小川一川端辉雄
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1