Enhanced Modulo Scheduling For Loops With Conditional Branches

Enhanced Modulo Scheduling For Loops With Conditional Branches
复制标题

具有条件分支的循环的增强模调度

DOI:
10.1109/micro.1992.697013
复制
发表时间:
1992
期刊:
[1992] Proceedings the 25th Annual International Symposium on Microarchitecture MICRO 25
影响因子:
--
通讯作者:
J. Bockhaus
J. Bockhaus
中科院分区:
--
文献类型:
--
作者:
N. Warter;Grant E. Haab;K. Subramanian;J. Bockhaus

文献摘要

被引文献

相似文献

带有条件分支的循环有多个执行路径,这些路径与软件流水线不同。用于软件流水的模调度技术通过在调度之前将具有条件分支的循环转换为直线代码来解决这个问题。在本文中,我们提出了一种增强的模调度(EMS)技术,可以实现一个较低的最小启动间隔比模调度技术,依赖于分层约简或IF转换与谓词执行。这三种模并行技术已在一个原型编译器中实现。我们表明,现有的架构,支持一个分支每个周期,EMS执行约18%,优于分层约简。我们还表明,IF转换谓词执行优于EMS假设一个分支每个周期。但是,由于每个周期支持多个分支,EMS的性能应该与使用谓词执行的IF转换一样好,甚至更好。
Loops with conditionalbrancheshave multiple execution paths which are di(cid:14)cult to software pipeline. The modulo scheduling technique for software pipelining addresses this problem by converting loops with conditional branches into straight-line code before scheduling. In this paper we present an Enhanced Modulo Scheduling (EMS) technique that can achieve a lower minimum Initiation Interval than modulo schedulingtechniquesthat rely on either Hierarchical Reduction or If-conversion with Predicated Execution. These three modulo schedulingtechniques have been implemented in a prototype compiler. We show that for existing architectures which support one branch per cycle, EMS performs approximately 18% better than Hierarchical Reduction. We also show that If-conversion with Predicated Execution outperforms EMS assuming one branch per cycle. However, with hardware support for multiple branches per cycle, EMS should perform as well as or better than If-conversion with Predicated Execution.