Skip to main content

Tolerating Branch Predictor Latency on SMT

  • Conference paper
High Performance Computing (ISHPC 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2858))

Included in the following conference series:

Abstract.

Simultaneous Multithreading (SMT) tolerates latency by executing instructions from multiple threads. If a thread is stalled, resources can be used by other threads. However, fetch stall conditions caused by multi-cycle branch predictors prevent SMT to achieve all its potential performance, since the flow of fetched instructions is halted.

This paper proposes and evaluates solutions to deal with the branch predictor delay on SMT. Our contribution is two-fold: we describe a decoupled implementation of the SMT fetch unit, and we propose an inter-thread pipelined branch predictor implementation. These techniques pro-ve to be effective for tolerating the branch predictor access latency.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agarwal, V., Hrishikesh, M., Keckler, S., Burger, D.: Clock rate versus IPC: The end of the road for conventional microarchitectures. In: Procs. of the 27th Intl. Symp. on Computer Architecture (June 2000)

    Google Scholar 

  2. Ho, R., Mai, K., Horowitz, M.: The future of wires. In: Proceedings of the IEEE (April 2001)

    Google Scholar 

  3. Hrishikesh, M., Burger, D., Keckler, S., Shivakumar, P., Jouppi, N., Farkas, K.: The optimal logic depth per pipeline stage is 6 to 8 FO4 inverter delays. In: Procs. of the 29th Intl. Symp. on Computer Architecture (May 2002)

    Google Scholar 

  4. Jacobson, Q., Rottenberg, E., Smith, J.: Path-based next trace prediction. In: Procs. of the 30th Intl. Symp. on Microarchitecture (December 1997)

    Google Scholar 

  5. Jiménez, D., Keckler, S., Lin, C.: The impact of delay on the design of branch predictors. In: Procs. of the 33rd Intl. Symp. on Microarchitecture (December 2000)

    Google Scholar 

  6. Jiménez, D.: Reconsidering complex branch predictors. In: Procs. of the 9th Intl. Conf. on High Performance Computer Architecture (February 2003)

    Google Scholar 

  7. Michaud, P., Seznec, A., Uhlig, R.: Trading conflict and capacity aliasing in conditional branch predictors. In: Procs. of the 24th Intl. Symp. on Computer Architecture (June 1997)

    Google Scholar 

  8. Ramirez, A., Santana, O.J., Larriba-Pey, J.L., Valero, M.: Fetching instructions streams. In: Procs. of the 35th Intl. Symp. on Microarchitecture (November 2002)

    Google Scholar 

  9. Reinman, G., Calder, B., Austin, T.: Optimizations enabled by a decoupled front-end architecture. IEEE Trans. on Computers 50(4), 338–355 (2001)

    Article  Google Scholar 

  10. Seznec, A., Fraboulet, A.: Effective ahead pipelining of instruction block address generation. In: Procs. of the 30th Intl. Symp. on Computer Architecture (June 2003)

    Google Scholar 

  11. Sherwood, T., Perelman, E., Calder, B.: Basic block distribution analysis to find periodic behavior and simulation points in applications. In: Procs. of the Intl. Conf. on Parallel Architectures and Compilation Techniques (September 2001)

    Google Scholar 

  12. Shivakumar, P., Jouppi, N.: CACTI 3.0, an integrated cache timing, power and area model. TR 2001/2, Compaq WRL (August 2001)

    Google Scholar 

  13. Tullsen, D.: Simulation and modeling of a simultaneous multithreading processor. In: 22nd Computer Measurement Group Conference (December 1996)

    Google Scholar 

  14. Tullsen, D., Eggers, S., Emer, J., Levy, H., Lo, J., Stamm, R.: Exploiting choice: Instruction fetch and issue on an implementable simultaneous multithreading processor. In: Procs. of the 23rd Intl. Symp. on Computer Architecture (May 1996)

    Google Scholar 

  15. Tullsen, D., Eggers, S., Levy, H.: Simultaneous multithreading: Maximizing onchip parallelism. In: Procs. of the 22nd Intl. Symp. on Computer Architecture (June 1995)

    Google Scholar 

  16. Yamamoto, W., Nemirovsky, M.: Increasing superscalar performance through multistreaming. In: Procs. of the Intl. Conf. on Parallel Architectures and Compilation Techniques (June 1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Falcón, A., Santana, O.J., Ramírez, A., Valero, M. (2003). Tolerating Branch Predictor Latency on SMT. In: Veidenbaum, A., Joe, K., Amano, H., Aiso, H. (eds) High Performance Computing. ISHPC 2003. Lecture Notes in Computer Science, vol 2858. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39707-6_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39707-6_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20359-9

  • Online ISBN: 978-3-540-39707-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics