K. Skadron and P.S. Ahuja
In Newsletter of the IEEE Technical Committee on
Computer Architecture, pp. 65-70, Jan. 2001.
Abstract
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.