数据的快速及时供应对访存密集型程序的性能有着直接的影响.提出一种多倍数据供应MDS(Multiple Data Supply)的编译优化方法,在不增加处理器设计复杂度的前提下,利用现有处理器的高带宽,一次对内存进行多个数据的读写,减少访存次数,提高应用程序效率.在编译优化阶段,利用自动向量化技术,生成向量形式的树结构,增加一条新的扩展路径来处理从向量化的树结构到底层结构的扩展.针对向量化后树结构的多样性问题,设计新的优化遍以及RAC(Register Assignment Chain)替换算法进行专门处理.在龙芯3A处理器平台上,对SPEC—CPU2000的测试,CINT程序平均性能提升11.6%,CFP程序平均牲能撂井14.4%.
The rapid and timely supply of data has a direct impact on memory intensive application. This paper presents a MDS ( Multipie Data Supply) compiler opfmization method without increasing the complexity of processor design. Taking advantage of highbandwidth of existing processor, MDS mechanism reads or writes multiple data at once, reducing reading and writing numbers, improving program efficiency. At the stage of compiler optimization, MDS mechanism will convert source code to vector tree structure form and expand it to lower-level representation with a new path. According to the diversity of tree structure, this article designs new optimization pass and RAC ( Register Assignment Chain ) replacement algorithm to deal with. The experimental result for SPECCPU2000 show 11.6% improvement of integer benchmarks and 14.4% improvement of floating-point benchmarks on Godson-3A platform.