Cherry: Checkpointed Early Resource Recycling in Out-of-order Microprocessors
Authors:
Abstract:
This paper presents CHeckpointed Early Resource RecYcling (Cherry), a hybrid
mode of execution based on ROB and checkpointing that decouples resource
recycling and instruction retirement. Resources are recycled early, resulting
in a more efficient utilization. Cherry relies on state checkpointing and
rollback to service exceptions for instructions whose resources have been
recycled. Cherry leverages the ROB to (1) not require in-order execution as a
fallback mechanism, (2) allow memory replay traps and branch mispredictions
without rolling back to the Cherry checkpoint, and (3) quickly fall back to
conventional out-of-order execution without rolling back to the checkpoint or
flushing the pipeline.
We present a Cherry implementation with early recycling at three different
points of the execution engine: the load queue, the store queue, and the
register file. We report average speedups of 1.06 and 1.26 in SPECint and
SPECfp applications, respectively, relative to an aggressive conventional
architecture. We also describe how Cherry and speculative multithreading can
be combined and complement each other.
Web Site:
http://www.csl.cornell.edu/~martinez