The Community for Technology Leaders
1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425) (1999)
Newport Beach, California
Oct. 12, 1999 to Oct. 16, 1999
ISSN: 1089-795X
ISBN: 0-7695-0425-6
pp: 294
Soner Onder , Michigan Technological University
Jun Xu , University of Illinois at Urbana-Champaign
Rajiv Gupta , University of Arizona
A sequence of branch instructions in the dynamic instruction stream forms a branch sequence if at most one non-branch instruction separates each consecutive pair of branches in the sequence. We propose a branch prediction scheme in which branch sequence history is explicitly maintained to identify frequently encountered branch sequences at runtime and when the first branch in the sequence is encountered, the outcomes of the all of the branches in the sequence are predicted. We have designed an implementation of a branch sequence predictor which provides overall misprediction rates that are comparable with the gshare single branch predictor. Using this branch sequence predictor we have devised a new instruction fetch mechanism. By saving the instructions following the first branch belonging to a branch sequence in a sequence table, the proposed mechanism eliminates fetches of non-consecutive instruction cache lines containing these instructions and therefore delays associated with their fetching is avoided. Experiments comparing the proposed fetch mechanism with a simple fetch mechanism based upon a single branch prediction for Spec95 benchmarks demonstrate that the total number of I-cache lines fetched during execution decreases by as much as 15%, the number of useful instructions per fetched cache line increases by as much as 18%, and the overall IPCs achieved on a superscalar processor increase by as much as 17% for some benchmarks.
branch sequence prediction, sequence table, fetch bandwidth, speculative execution

R. Gupta, S. Onder and J. Xu, "Caching and Predicting Branch Sequences for Improved Fetch Effectiveness," 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425)(PACT), Newport Beach, California, 1999, pp. 294.
1145 ms
(Ver 3.3 (11022016))