• DocumentCode
    299718
  • Title

    Next cache line and set prediction

  • Author

    Calder, Brad ; Grunwald, Dirk

  • Author_Institution
    Dept. of Comput. Sci., Colorado Univ., Boulder, CO, USA
  • fYear
    1995
  • fDate
    22-24 June 1995
  • Firstpage
    287
  • Lastpage
    296
  • Abstract
    Accurate instruction fetch and branch prediction is increasingly important on today´s wide-issue architectures. Fetch prediction is the process of determining the next instruction to request from the memory subsystem. Branch prediction is the process of predicting the likely out-come of branch instructions. Several researchers have proposed very effective fetch and branch prediction mechanisms including branch target buffers (BTB) that store the target addresses of taken branches. An alternative approach fetches the instruction following a branch by using an index into the cache instead of a branch target address. We call such an index a next cache line and set (NLS) predictor. A NLS predictor is a pointer into the instruction cache, indicating the target instruction of a branch. In this paper we examine the use of NLS predictors for efficient and accurate fetch and branch prediction. Previous studies associated each NLS predictor with a cache line and provided only one-bit conditional branch predictors. Our study examines the use of NLS predictors with highly accurate two-level correlated conditional branch architectures. We examine the performance of decoupling the NLS predictors from the cache line and storing them in a separate tag-less memory buffer. Our results show that the decoupled architecture performs better than associating the NLS predictors with the cache line, that the NLS architecture benefits from reduced cache miss rates, and it is particularly effective for programs containing many branches. We also provide an in-depth comparison between the NLS and BTB architectures, showing that the NLS architecture is a competitive alternative to the BTB design.
  • Keywords
    computer architecture; performance evaluation; branch prediction; branch target buffers; fetch prediction; instruction fetch; next cache line and set prediction; performance; two-level correlated conditional branch architectures; Buffer storage; Computer architecture; Computer science; Decoding; Degradation; Distributed computing; Permission; Pipelines; Process design;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 1995. Proceedings., 22nd Annual International Symposium on
  • Conference_Location
    Santa Margherita Ligure, Italy
  • ISSN
    1063-6897
  • Print_ISBN
    0-89791-698-0
  • Type

    conf

  • Filename
    524569