2004 年 11 月 北 京 航 空航 天 大 学 学 报 November 2004
第 卷 第 期
30 11 JournaI of Beijing University of Aeronautics and Astronautics VoI . 30 No . 11
软件流水中的循环展开优化
李文龙 刘 利 汤志忠
(清华大学 计算机科学与技术系,北京 100084 )
摘 要:在软件流水中应用循环展开可以实现分数值的启动间距,提高资
源的利用率,同时基于展开的优化技术可以降低程序的资源需求和关键路径的长度.
提出了基于程序特性的展开因子算法 (
UTBPC UnroIIing Times Based Program Character-
istics),解决了循环展开的核心问题———展开因子的确定,同时提出了基于展开的软
件数据预取优化技术,提高了软件数据预取的效率 所有这些都在 (
. ORC Open Re-
search CompiIer )中实现,并对 SPEC 2000 中的程序进行了测试,平均性能提高了2 .
6 % . 实验结果表明新提出的算法和基于展开的数据预取优化技术提高了编译器的整
体性能.
关 键 词:计算机软件;软件流水;循环展开;展开因子;数据预取
中图分类号:
TP 311
文献标识码: 文 章编 号: ( )
A 1001-5965 2004 11-1111-05
Loop unrolling optimization for software pipelining
Li WenIong Liu Li Tang Zhizhong
( , , , )
Dept . of Computer Science and TechnoIogy Tsinghua University Beijing 100084 China
:
Abstract Loop unroIIing can make software pipeIining achieve fractionaI initiation intervaI and improve re-
source utiIization . Optimizations based on unroIIing can reduce resource reguirements and the heights of criticaI
paths . An aIgorithm named UTBPC( )
unroIIing times based program characteristics for determining