IEEE Transactions on Computers · 1993 · 146 citations · 32 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureData StructuresPerformance-based DesignBranch PredictionBuffer ManagementCachingMemory HierarchyMemory Hierarchy DesignPerformance OptimizationBranch Prediction OptimizationBranch Target BuffersBranch Target PredictionBuffer DesignComplexityPrediction
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.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
32
Computer architecture and parallel processing
Yigal Hoffner · Microprocessors and Microsystems · 1985 · 1.2K citations
A study of branch prediction strategies
James E. Smith · 1998 · 794 citations · Full text
Richard M. Russell · Communications of the ACM · 1978 · 697 citations · Full text
Branch Prediction Strategies and Branch Target Buffer Design
Two-level adaptive training branch prediction
Tse-Yu Yeh, Yale N. Patt · 1991 · 569 citations · Full text