[发明专利]程序编译方法和编译器无效
申请号: | 200710141856.0 | 申请日: | 2007-08-14 |
公开(公告)号: | CN101369233A | 公开(公告)日: | 2009-02-18 |
发明(设计)人: | 汪文俊;王诤;周武;钟忻 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京市中咨律师事务所 | 代理人: | 李峥;刘瑞东 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 编译 方法 编译器 | ||
技术领域
本发明涉及数据处理技术,特别涉及对源程序进行编译的技术。
背景技术
近年来,需要高度专用的嵌入式微处理器,例如数字信号处理器(Digital Signal Processor,DSP),来实时处理数字化的模拟信号,例如处理音频、视频、图像、和通信等的数据。
通常的数据处理方法对大的数据组,例如阵列的不同元素执行相同或几乎相同的操作。在此情况下,由于单个指令(例如加载、存储、整数相加等)只对单个数据元素进行操作,所以通常的数据处理方法的效率非常低。
由此,人们设计并开发了单指令多数据(Single Instruction MultipleData,SIMD)体系结构,其通过对并行向量的不同数据元素执行相同类型的计算,来提高程序的数据处理性能。现有的大多数高性能处理器支持SIMD体系结构,这些处理器包括多个功能单元,一些功能单元用于处理标量数据,而另一些功能单元组合在一起用于处理结构化的SIMD向量数据。SIMD体系结构通常用于处理进行高性能计算的向量数据或多媒体数据,例如使用三元(r,g,b)格式进行编码的颜色信息,或者使用四元(x,y,z,w)格式进行编码的坐标信息等等。
有关SIMD体系结构的具体细节参见以下文献1-4:
Dorit Nuzman,Ira Rosen和Ayal Zaks的“Auto-Vectorization ofInterleaved Data for SIMD”,PLDI’06 June 10-16,2006,Ottawa,Ontario,Canada,p.132-142(文献1);
Alexandre E.Eichenberger,Peng Wu和Kevin O’Brien的“Vectorization for SIMD Architectures with Alignment Constraints”,PLDI’04,June 9-11,2004,Washington,DC,USA,p.82-93(文献2);
A.Krall和S.Lelait的“Compilation techniques for multimediaprocessors”,International Journal of Parallel Programming,28(4):347-361,2000(文献3);以及
R.Leupers的“CodeO ptimization Techniques for EmbeddedProcessors.Methods,Algorithms,and Tools”,Kluwer Academic Publisher,Boston,2000(文献4),本发明在此通过参考引入上述文献的整个内容。
尽管SIMD体系结构极大地提高了数据处理能力,但是SIMD体系结构要求向量操作数的内存地址是向量对齐的,即要求向量的指针是向量对齐的(vector aligned)。因此,在对源程序进行编译的过程中,在将向量的操作数加载到寄存器之前,需要判断指针是否向量对齐,如果指针没有向量对齐,则需要对齐指针,并在对加载有操作数的寄存器进行操作之前,需要旋转(移位)寄存器。
实际上,大多数SIMD指令的向量的指针是向量对齐的,因此没有必要进行上述判断,但是,对于编译器来说,很难确定向量的指针是否是向量对齐的。因此,对指针本身是向量对齐的向量,在编译过程中,产生了很多繁琐而无用的代码,从而增加了代码的复杂性,降低了程序的数据处理能力。
发明内容
为了解决上述现有技术中存在的问题,本发明提供了对源程序进行编译的方法和对源程序进行编译的编译器。
根据本发明的一个方面,提供了一种对源程序进行编译的方法,其特征在于,包括:在对上述源程序进行语法分析时,识别与向量对齐有关的暗示;以及在生成代码时,根据上述识别出的与向量对齐有关的暗示生成简化的代码。
根据本发明的另一个方面,提供了一种对源程序进行编译的编译器,其特征在于,包括:语法分析单元,在对上述源程序进行语法分析时,识别与向量对齐有关的暗示;以及代码生成单元,在生成代码时,根据上述识别出的与向量对齐有关的暗示生成简化的代码。
附图说明
相信通过以下结合附图对本发明具体实施方式的说明,能够使人们更好地了解本发明上述的特点、优点和目的,其中:
图1示出了根据本发明的一个实施例的对源程序进行编译的方法的流程图;以及
图2示出了根据本发明的另一个实施例的对源程序进行编译的编译器的方框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710141856.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:计算机系统的开机方法
- 下一篇:一种电子元件排及其印刷电路板