TY - JOUR
T1 - Using hyperprediction to compensate for delayed updates in value predictors
AU - Zhao, Q.
AU - Lee, S. J.
AU - Lilja, D. J.
PY - 2005/9
Y1 - 2005/9
N2 - Value prediction has been proposed as a technique to break true data dependences in order to increase the instruction-level parallelism available in programs. Recent work has pointed out, however, that the delay inherent in updating the value prediction table with the actual correct value can introduce a substantial number of wrong value predictions, which can then decrease the overall processor performance. The authors propose and systematically study a technique that they call 'hyperprediction' to compensate for the delay in updating the value prediction table. This approach accurately computes and records the number of outstanding instances of an instruction, which is the number of times an instruction has requested a value to be predicted since the last time the corresponding entry in the value prediction table was updated. With this information, the value predictor can provide reliable predictions for the currently requesting instance of an instruction based on both the currently stored value and the number of outstanding instances. They show how the hyperprediction technique can be implemented in a stride value predictor, a context-based predictor and a hybrid predictor. Their simulations using an extension to the SimpleScalar tool set and integer and floating-point programs from the SPEC95 and SPEC2000 benchmark suites indicate that this technique can consistently improve both the value prediction accuracy and the overall processor performance for each of the different types of value predictors.
AB - Value prediction has been proposed as a technique to break true data dependences in order to increase the instruction-level parallelism available in programs. Recent work has pointed out, however, that the delay inherent in updating the value prediction table with the actual correct value can introduce a substantial number of wrong value predictions, which can then decrease the overall processor performance. The authors propose and systematically study a technique that they call 'hyperprediction' to compensate for the delay in updating the value prediction table. This approach accurately computes and records the number of outstanding instances of an instruction, which is the number of times an instruction has requested a value to be predicted since the last time the corresponding entry in the value prediction table was updated. With this information, the value predictor can provide reliable predictions for the currently requesting instance of an instruction based on both the currently stored value and the number of outstanding instances. They show how the hyperprediction technique can be implemented in a stride value predictor, a context-based predictor and a hybrid predictor. Their simulations using an extension to the SimpleScalar tool set and integer and floating-point programs from the SPEC95 and SPEC2000 benchmark suites indicate that this technique can consistently improve both the value prediction accuracy and the overall processor performance for each of the different types of value predictors.
UR - http://www.scopus.com/inward/record.url?scp=24944494404&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=24944494404&partnerID=8YFLogxK
U2 - 10.1049/ip-cdt:20045148
DO - 10.1049/ip-cdt:20045148
M3 - Article
AN - SCOPUS:24944494404
SN - 1350-2387
VL - 152
SP - 596
EP - 608
JO - IEE Proceedings: Computers and Digital Techniques
JF - IEE Proceedings: Computers and Digital Techniques
IS - 5
ER -