A comparison of the effect of branch prediction on multithreaded and scalar architectures

  • Authors:
  • Prasad N. Golla;Eric C. Lin

  • Affiliations:
  • Southern Methodist University, Dallas TX;Southern Methodist University, Dallas TX

  • Venue:
  • ACM SIGARCH Computer Architecture News
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Speculative instructions execution requires dynamic branch predictors to increase the performance of a processor by executing from predicted branch target routines. Conventional Scalar architectures such as the Superscalar or Multiscalar architecture executes from a single stream, while a Multithreaded architecture executes from multiple streams at a time. Several aggressive branch predictors have been proposed with high prediction accuracies. Unfortunately, none of the branch predictors can provide 100% accuracy. Therefore, there is an inherent limitation on speculative execution in real implementation. In this paper, we show that Multithreaded architecture is a better candidate for utilizing speculative execution than Scalar architectures. Generally the branch prediction performance degradation is compounded for larger window sizes on Scalar architectures, while for a Multithreaded architecture, by increasing the number of executing threads, we could sustain a higher performance for a large aggregated speculative window size. Hence, heavier workloads may increase performance and utilization for Multithreaded architectures. We present analytical and simulation results to support our argument.