Review Board 2.0.15


cpu: simple: Add support for using branch predictors

Review Request #2095 - Created Nov. 29, 2013 and submitted

Information
Andreas Sandberg
gem5
default
Reviewers
Default
Changeset 9991:ae26c5a9ba33
---------------------------
cpu: simple: Add support for using branch predictors

This changesets adds branch predictor support to the
BaseSimpleCPU. The simple CPUs normally don't need a branch predictor,
however, there are at least two cases where it can be desirable:

  1) A simple CPU can be used to warm the branch predictor of an O3
     CPU before switching to the slower O3 model.

  2) The simple CPU can be used as a quick way of evaluating/debugging
     new branch predictors since it exposes branch predictor
     statistics.

Limitations:
  * Since the simple CPU doesn't speculate, only one instruction will
    be active in the branch predictor at a time (i.e., the branch
    predictor will never see speculative branches).

  * The outcome of a branch prediction does not affect the performance
    of the simple CPU.
X86/quick/(fs|se) pass (modulo the additional statistics). We have used it for a long time to warm branch predictors in several SMARTS-like sampling strategies with good results.
Review request changed
Updated (Feb. 9, 2014, 11:53 a.m.)

Status: Closed (submitted)