• DocumentCode
    895907
  • Title

    Branch target buffer design and optimization

  • Author

    Perleberg, Chris H. ; Smith, Alan Jay

  • Author_Institution
    Dept. of Electr. Eng. & Comput. Sci., California Univ., Berkeley, CA, USA
  • Volume
    42
  • Issue
    4
  • fYear
    1993
  • fDate
    4/1/1993 12:00:00 AM
  • Firstpage
    396
  • Lastpage
    412
  • Abstract
    A branch target buffer (BTB) can reduce the performance penalty of branches in pipelined processors by predicting the path of the branch and caching information used by the branch. Two major issues in the design of BTBs that achieves maximum performance with a limited number of bits allocated to the BTB implementation are discussed. The first is BTB management. A method for discarding branches from the BTB is examined. This method discards the branch with the smallest expected value for improving performance; it outperforms the least recently used (LRU) strategy by a small margin, at the cost of additional complexity. The second issue is the question of what information to store in the BTB. A BTB entry can consist of one or more of the following: branch tag, prediction information, the branch target address, and instructions at the branch target. Various BTB designs, with one or more of these fields, are evaluated and compared
  • Keywords
    buffer storage; instruction sets; pipeline processing; branch tag; branch target address; branch target buffer design; branches; caching; complexity; instructions; least recently used; optimization; performance penalty; pipelined processors; prediction information; Cache memory; Central Processing Unit; Costs; Decoding; Design optimization; Modems; NASA; Pipeline processing; Sun; Terrorism;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/12.214687
  • Filename
    214687