Branch prediction, instruction-window size, and cache size: Performance trade-offs and simulation techniques

Kevin Skadron, Pritpal S. Ahuja, Margaret Rose Martonosi, Douglas W. Clark

Research output: Contribution to journalArticlepeer-review

64 Scopus citations


Design parameters interact in complex ways in modern processors, especially because out-of-order issue and decoupling buffers allow latencies to be overlapped. Trade-offs among instruction-window size, branch-prediction accuracy, and instruction- and data-cache size can change as these parameters move through different domains. For example, modeling unrealistic caches can under- or overstate the benefits of better prediction or a larger instruction window. Avoiding such pitfalls requires understanding how all these parameters interact. Because such methodological mistakes are common, this paper provides a comprehensive set of SimpleScalar simulation results from SPECint95 programs, showing the interactions among these major structures. In addition to presenting this database of simulation results, major mechanisms driving the observed trade-offs are described. The paper also considers appropriate simulation techniques when sampling full-length runs with the SPEC reference inputs. In particular, the results show that branch mispredictions limit the benefits of larger instruction windows, that better branch prediction and better instruction cache behavior have synergistic effects, and that the benefits of larger instruction windows and larger data caches trade off and have overlapping effects. In addition, simulations of only 50 million instructions can yield representative results if these short windows are carefully selected.

Original languageEnglish (US)
Pages (from-to)1260-1281
Number of pages22
JournalIEEE Transactions on Computers
Issue number11
StatePublished - Nov 1999

All Science Journal Classification (ASJC) codes

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics


  • Branch prediction
  • Cache
  • Instruction window size
  • Microarchitecturs
  • Out-of-order execution
  • Register-update unit
  • Sampling
  • Simulation
  • Trade-offs


Dive into the research topics of 'Branch prediction, instruction-window size, and cache size: Performance trade-offs and simulation techniques'. Together they form a unique fingerprint.

Cite this