K. Skadron and P.S. Ahuja
In Newsletter of the IEEE Technical Committee on Computer Architecture, pp. 65-70, Jan. 2001.
Even sophisticated branch-prediction techniques necessarily suffer some mispredictions, and even relatively small mispredict rates hurt performance substantially in current-generation processors. This suggests the study of multipath execution, in which the processor simultaneously executes code from both the taken and not-taken outcomes of a branch. This paper describes HydraScalar, a simulator built on the SimpleScalar toolkit (version 2.0) to accurately model a wide-issue, out-of-order execution multipath processor. The paper describes the simulator's mechanisms for instruction fetch, branch handling, branch-confidence prediction, and multiple-path management. Because multipath execution is so sensitive to branch prediction, HydraScalar significantly expands SimpleScalar's modeling of branch and instruction-fetch effects, therefore adding a number of features that are beneficial regardless of whether multipath or conventional superscalar, out-of-order execution is being modeled.