Title :
Partial resolution in branch target buffers
Author_Institution :
Comput. Sci. Dept., US Air Force Acad., Colorado Springs, CO, USA
fDate :
10/1/1997 12:00:00 AM
Abstract :
Branch target buffers, or BTBs, are small caches for program branching information. Like data caches, addresses are divided into equivalence classes based on their low order bits. Unlike data caches, however, complete resolution of a single address from within an equivalence class is not required for correct execution. Substantial savings are therefore possible by employing partial resolution, using fewer tag bits than necessary to uniquely identify an address. We present the relationship between the number of tag bits in a branch target buffer and prediction accuracy, based on dynamic simulations of the SPECINT92 benchmark suite. For a 512 entry BTB, on average only two tag bits are necessary to obtain 99.9 percent of the accuracy obtainable with a full tag; no more than nine tag bits are required to obtain identical prediction accuracy. This suggests that microprocessors can achieve substantial area savings in their BTB tag stores by employing partial resolution
Keywords :
buffer storage; computer architecture; equivalence classes; performance evaluation; SPECINT92 benchmark suite; branch target buffer; branch target buffers; caches; dynamic simulations; equivalence classes; partial resolution; program branching information; Accuracy; Cache memory; Computer architecture; Costs; Frequency; Hardware; Logic; Microarchitecture; Microprocessors; Predictive models;
Journal_Title :
Computers, IEEE Transactions on