gem5/src/cpu/pred
Andrew Bardsley 0e8a90f06b cpu: `Minor' in-order CPU model
This patch contains a new CPU model named `Minor'. Minor models a four
stage in-order execution pipeline (fetch lines, decompose into
macroops, decompose macroops into microops, execute).

The model was developed to support the ARM ISA but should be fixable
to support all the remaining gem5 ISAs. It currently also works for
Alpha, and regressions are included for ARM and Alpha (including Linux
boot).

Documentation for the model can be found in src/doc/inside-minor.doxygen and
its internal operations can be visualised using the Minorview tool
utils/minorview.py.

Minor was designed to be fairly simple and not to engage in a lot of
instruction annotation. As such, it currently has very few gathered
stats and may lack other gem5 features.

Minor is faster than the o3 model. Sample results:

     Benchmark     |   Stat host_seconds (s)
    ---------------+--------v--------v--------
     (on ARM, opt) | simple | o3     | minor
                   | timing | timing | timing
    ---------------+--------+--------+--------
    10.linux-boot  |   169  |  1883  |  1075
    10.mcf         |   117  |   967  |   491
    20.parser      |   668  |  6315  |  3146
    30.eon         |   542  |  3413  |  2414
    40.perlbmk     |  2339  | 20905  | 11532
    50.vortex      |   122  |  1094  |   588
    60.bzip2       |  2045  | 18061  |  9662
    70.twolf       |   207  |  2736  |  1036
2014-07-23 16:09:04 -05:00
..
2bit_local.cc branch predictor: move out of o3 and inorder cpus 2013-01-24 12:28:51 -06:00
2bit_local.hh branch predictor: move out of o3 and inorder cpus 2013-01-24 12:28:51 -06:00
bi_mode.cc cpu: implement a bi-mode branch predictor 2014-06-30 13:50:03 -04:00
bi_mode.hh cpu: implement a bi-mode branch predictor 2014-06-30 13:50:03 -04:00
bpred_unit.cc cpu: implement a bi-mode branch predictor 2014-06-30 13:50:03 -04:00
bpred_unit.hh cpu: implement a bi-mode branch predictor 2014-06-30 13:50:03 -04:00
bpred_unit_impl.hh cpu: add consistent guarding to *_impl.hh files. 2013-10-17 10:20:45 -05:00
BranchPredictor.py cpu: implement a bi-mode branch predictor 2014-06-30 13:50:03 -04:00
btb.cc trace: reimplement the DTRACE function so it doesn't use a vector 2011-04-15 10:44:32 -07:00
btb.hh branch predictor: move out of o3 and inorder cpus 2013-01-24 12:28:51 -06:00
ras.cc ISA,CPU,etc: Create an ISA defined PC type that abstracts out ISA behaviors. 2010-10-31 00:07:20 -07:00
ras.hh branch predictor: move out of o3 and inorder cpus 2013-01-24 12:28:51 -06:00
sat_counter.hh branch predictor: move out of o3 and inorder cpus 2013-01-24 12:28:51 -06:00
SConscript cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
tournament.cc cpu: remove local/globalHistoryBits params from branch pred 2013-05-14 18:39:47 -04:00
tournament.hh branch predictor: move out of o3 and inorder cpus 2013-01-24 12:28:51 -06:00