Title :
Improving branch predictors by correlating on data values
Author :
Heil, Timothy H. ; Smith, Zak ; Smith, J.E.
Author_Institution :
Dept. of Electr. & Comput. Eng., Wisconsin Univ., Madison, WI, USA
Abstract :
Branch predictors typically use combinations of branch PC bits and branch histories to make predictions. Recent improvements in branch predictors have come from reducing the effect of interference, i.e. multiple branches mapping to the same table entries. In contrast, the branch difference predictor (BDP) uses data values as additional information to improve the accuracy of conditional branch predictors. The BDP maintains a history of differences between branch source register operands, and feeds these into the prediction process. An important component of the BDP is a rare event predictor (REP) which reduces learning time and table interference. An REP is a cache-like structure designed to store patterns whose predictions differ from the norm. Initially, ideal interference-free predictors are evaluated to determine how data values improve correlation. Next, execution driven simulations of complete designs realize this potential. The BDP reduces the misprediction rate of five SPEC95 integer benchmarks by up to 33% compared to gshare and by up to 15% compared to Bi-Mode predictors
Keywords :
discrete event simulation; parallel processing; performance evaluation; SPEC95 integer benchmarks; branch PC bits; branch difference predictor; branch predictors; branch source register operands; data values; execution driven simulations; rare event predictor; Feeds; History; Impedance; Indexing; Interference; Microarchitecture; Microscopy; Out of order; Personal communication networks; Very large scale integration;
Conference_Titel :
Microarchitecture, 1999. MICRO-32. Proceedings. 32nd Annual International Symposium on
Conference_Location :
Haifa
Print_ISBN :
0-7695-0437-X
DOI :
10.1109/MICRO.1999.809440