Abstract
Conditional branch induced control hazards cause significant performance loss in modern out-of-order superscalar processors. Dynamic branch prediction techniques help alleviate the penalties associated with conditional branch instructions. However, branches still constitute one of the main hurdles towards achieving higher ILP. Dynamic branch prediction relies on the temporal locality of and spatial correlations between branches. Branch decoupling is yet another mechanism that exploits the innate lead in the branch schedule with respect to the rest of the computation. The compiler is responsible for generating the two maximally decoupled instruction streams: branch stream and program stream. Our earlier work on trace based evaluation of branch decoupling demonstrates a performance advantage of between 12% to 46% over 2-level branch prediction. However, how much of these gains are achievable through static, compiler driven decoupling is not known. This paper answers the question partially. A novel decoupling algorithm that integrates graph bi-partitioning and scheduling, was deployed in the GNU C compiler to generate a two instruction stream executable. These executables were targeted to branch decoupled architecture simulator with superscalar cores for the branch stream and program stream processors. Simulations show an average performance improvement of 7.7% and 5.5% for integer and floating point benchmarks of the SPEC2000 benchmark suite respectively.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Burger, D., Austin, T.: The simplescalar tool set, ver 2.0. Technical Report 1342 Computer Science Department, University of Wisconsin-Madison (1997)
Chappell, R., Tseng, F., Patt, Y., Yoaz, A.: Difficult-path branch prediction using subordinate microthreads. In: Proceedings of IEEE 29th Annual International Symposium on Computer Architecture, ISCA (2002)
Cormen, T., Leiserson, C., Rivest, R.: Introduction to algorithms, 2nd edn. MIT Press, Cambridge (1990)
De Micheli, G.: Synthesis and optimization of digital circuits. McGraw Hill, Inc, New York (1994)
Fields, B., Bodik, R., Hill, M.: Slack: Maximizing performance under technological constraints. In: Proceedings of IEEE International Symposium on Computer Architecture, ISCA (2002)
Kernighan, B., Lin, S.: An efficient heuristic procedure for partitioning graphs. The Bell System Technical Journal (1970)
Lengauer, T.: Combinatorial algorithms for integrated circuit layout. John Wiley and Sons, Chichester (1990)
Nadkarni, A., Tyagi, A.: A trace based evaluation of speculative branch decoupled architectures. In: Proceedings of IEEE International Conference on Computer Design, ICCD (2000)
Sair, S., Charney, M.: Memory behavior of the spec2000 benchmark suite. Technical Report RC-21852, IBM T.J. Watson Research Center (2000)
Smith, J., Weiss, S., Pang, N.: A simulation study of decoupled architecture computers. IEEE Transactions on Computers (1986)
Stallman, R.: Gnu compiler collection internals. Free Software Foundation (2002)
Standard Performance and Evaluation Corporation. SPEC CPU2000 V1.2 (2000)
Tyagi, A.: Branch decoupled architectures. In: Proceedings of the Workshop on Interaction between Compilers and Computer Architecture, 3rd International Symposium on High-Performance Computer Architecture (1997)
Tyagi, A., Ng, H., Mohapatra, P.: Dynamic branch decoupled architecture. In: Proceedings of the IEEE International Conference on Computer Design (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ramarao, P., Tyagi, A. (2005). An Integrated Partitioning and Scheduling Based Branch Decoupling. In: Srikanthan, T., Xue, J., Chang, CH. (eds) Advances in Computer Systems Architecture. ACSAC 2005. Lecture Notes in Computer Science, vol 3740. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572961_21
Download citation
DOI: https://doi.org/10.1007/11572961_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29643-0
Online ISBN: 978-3-540-32108-8
eBook Packages: Computer ScienceComputer Science (R0)