Rapid Development of Flexible Validated Processor Models [abstract] (PDF)
David A. Penry, Manish Vachharajani, and David I. August
Liberty Research Group Technical Report 04-03, November 2004.
For a variety of reasons, most architectural evaluations use
simulation models. An accurate baseline model validated against
existing hardware provides confidence in the results of these
evaluations. Meanwhile, a meaningful exploration of the design space
requires a wide range of quickly-obtainable variations of the
baseline. Unfortunately, these two goals are generally considered to
be at odds; the set of validated models is considered exclusive of the
set of easily malleable models. Vachharajani et al. challenge this
belief and propose a modeling methodology they claim allows rapid
construction of flexible validated models. Unfortunately, they only
present anecdotal and secondary evidence to support their claims. In this paper, we present our experience using this methodology to
construct a validated flexible model of Intel's Itanium 2 processor.
Our practical experience lends support to the above claims. Our
initial model was constructed by a single researcher in only 11 weeks
and predicts processor cycles-per-instruction (CPI) to within 7.9% on
average for the entire SPEC CINT2000 benchmark suite. Our experience
with this model showed us that aggregate accuracy for a metric like
CPI is not sufficient. Aggregate measures like CPI may conceal
remaining internal ``offsetting errors'' which can adversely affect
conclusions drawn from the model. Using this as our motivation, we
explore the flexibility of the model by modifying it to target
specific error constituents, such as front-end stall errors. In
2 1/2 person-weeks, average CPI error was reduced to 5.4%.
The targeted error constituents were reduced more dramatically;
front-end stall errors were reduced from 5.6% to 1.6%. The swift
implementation of significant new architectural features on this model
further demonstrated its flexibility.