gem5/build_opts
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
..
ALPHA cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
ALPHA_MESI_Two_Level ruby: rename MESI_CMP_directory to MESI_Two_Level 2014-01-04 00:03:33 -06:00
ALPHA_MOESI_CMP_directory SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
ALPHA_MOESI_CMP_token SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
ALPHA_MOESI_hammer SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
ALPHA_Network_test SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
ARM cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
MIPS SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
NULL arch: Resurrect the NOISA build target and rename it NULL 2013-09-04 13:22:57 -04:00
POWER SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
SPARC SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
X86 SE/FS: Pull FULL_SYSTEM out of the build_opts files 2012-01-28 07:24:53 -08:00
X86_MESI_Two_Level ruby: rename MESI_CMP_directory to MESI_Two_Level 2014-01-04 00:03:33 -06:00