Skip to Main Content
Recent research has shown that it is possible to overcome the parallelism limits imposed by dataflow by predicting instruction results based on previously produced values or a sequence thereof. Unlike branch prediction schemes where prediction accuracies of 90% and above are the norms, data value prediction schemes have been able to correctly predict only about 40-70% of the result-producing instructions. In order to further improve the performance of data value predictors, it is very important to do a thorough analysis of the instructions that are currently unpredictable. In this paper, we study the characteristics of unpredictability of data values. The major insights obtained from this stud, are: (i) An instruction often becomes unpredictable due to multiple causes. This means that tackling a single cause in isolation will not provide substantial improvements in prediction accuracy. (ii) Among the different causes, control flow fluctuations are a major cause. (iii) Load instructions are a significant component of unpredictable instructions. Future data value predictors need to tackle these causes, and provide "better contexts" so as to convert current unpredictability into predictability.