Logo image
Branch merging for scheduling concurrent executions of branch operations
Journal article   Peer reviewed

Branch merging for scheduling concurrent executions of branch operations

C.-M. Chen, C.-T. King and Y.-Y. Chen
IEE Proceedings: Computers and Digital Techniques, Vol.143(6), pp.369-375
1996

Abstract

Code scheduling Multiway branching Optimising compiler Superscalar VLIW
Branches are a major limiting factor to instruction-level parallelism. One solution is to execute several branches simultaneously using multiway branching architectures. Such architectures are especially important when the instruction issue width becomes large. The authors study the problem of compile-time scheduling of branch operations on such architectures: an optimisation called branch merging. The scheduling attempts to bring profitable branches together for concurrent execution. It is shown that finding the optimal solution to the branch merging problem is NP-hard. A heuristic is then proposed, which relies on a cost model to direct the merging of branches and their associated basic blocks. Merged branches are then scheduled together for concurrent execution. The authors used simulation to evaluate the effectiveness of the proposed algorithm. Experiments on selected benchmark programs show that the heuristic achieves roughly a 10% performance improvement on multiway branching architectures. © IEE, 1996.

Metrics

1 Record Views

Details

Logo image