Gem5 (2) Help Document of System Emulation

本文详细介绍gem5模拟器的各类选项,包括CPU类型、内存配置、缓存参数、指令跟踪、并行模拟等,为用户提供全面的gem5使用指导。

编辑于2020/4/6

Options:
  -h, --help            show this help message and exit
  -n NUM_CPUS, --num-cpus=NUM_CPUS
  --sys-voltage=SYS_VOLTAGE
                        Top-level voltage for blocks running at system
                        power supply
  --sys-clock=SYS_CLOCK
                        Top-level clock for blocks running at system
                        speed
  --list-mem-types      List available memory types
  --mem-type=MEM_TYPE   type of memory to use
  --mem-channels=MEM_CHANNELS
                        number of memory channels
  --mem-ranks=MEM_RANKS
                        number of memory ranks per channel
  --mem-size=MEM_SIZE   Specify the physical memory size (single memory)
  --enable-dram-powerdown
                        Enable low-power states in DRAMCtrl
  --memchecker
  --external-memory-system=EXTERNAL_MEMORY_SYSTEM
                        use external ports of this port_type for caches
  --tlm-memory=TLM_MEMORY
                        use external port for SystemC TLM cosimulation
  --caches
  --l2cache
  --num-dirs=NUM_DIRS
  --num-l2caches=NUM_L2CACHES
  --num-l3caches=NUM_L3CACHES
  --l1d_size=L1D_SIZE
  --l1i_size=L1I_SIZE
  --l2_size=L2_SIZE
  --l3_size=L3_SIZE
  --l1d_assoc=L1D_ASSOC
  --l1i_assoc=L1I_ASSOC
  --l2_assoc=L2_ASSOC
  --l3_assoc=L3_ASSOC
  --cacheline_size=CACHELINE_SIZE
  --ruby
  -m TICKS, --abs-max-tick=TICKS
                        Run to absolute simulated tick specified including
                        ticks from a restored checkpoint
  --rel-max-tick=TICKS  Simulate for specified number of ticks relative to the
                        simulation start tick (e.g. if restoring a checkpoint)
  --maxtime=MAXTIME     Run to the specified absolute simulated time in
                        seconds
  -P PARAM, --param=PARAM
                        Set a SimObject parameter relative to the root node.
                        An extended Python multi range slicing syntax can be
                        used for arrays. For example:
                        'system.cpu[0,1,3:8:2].max_insts_all_threads = 42'
                        sets max_insts_all_threads for cpus 0, 1, 3, 5 and 7
                        Direct parameters of the root object are not
                        accessible, only parameters of its children.
  --list-cpu-types      List available CPU types
  --cpu-type=CPU_TYPE   type of cpu to run with
  --list-bp-types       List available branch predictor types
  --list-indirect-bp-types
                        List available indirect branch predictor types
  --bp-type=BP_TYPE                            type of branch predictor to run
                        with                       (if not set, use the
                        default branch predictor of                       the
                        selected CPU)
  --indirect-bp-type=INDIRECT_BP_TYPE
                        type of indirect branch predictor to run with
  --list-hwp-types      List available hardware prefetcher types
  --l1i-hwp-type=L1I_HWP_TYPE
                                               type of hardware prefetcher to
                        use with the L1                       instruction
                        cache.                       (if not set, use the
                        default prefetcher of                       the
                        selected cache)
  --l1d-hwp-type=L1D_HWP_TYPE
                                               type of hardware prefetcher to
                        use with the L1                       data cache.
                        (if not set, use the default prefetcher of
                        the selected cache)
  --l2-hwp-type=L2_HWP_TYPE
                                               type of hardware prefetcher to
                        use with the L2 cache.                       (if not
                        set, use the default prefetcher of
                        the selected cache)
  --checker
  --cpu-clock=CPU_CLOCK
                        Clock for blocks running at CPU speed
  --smt                                        Only used if multiple programs
                        are specified. If true,                       then the
                        number of threads per cpu is same as the
                        number of programs.
  --elastic-trace-en    Enable capture of data dependency and instruction
                        fetch traces using elastic trace probe.
  --inst-trace-file=INST_TRACE_FILE
                        Instruction fetch trace file input to
                        Elastic Trace probe in a capture simulation and
                        Trace CPU in a replay simulation
  --data-trace-file=DATA_TRACE_FILE
                        Data dependency trace file input to
                        Elastic Trace probe in a capture simulation and
                        Trace CPU in a replay simulation
  -l, --lpae
  -V, --virtualisation
  --dist                Parallel distributed gem5 simulation.
  --dist-sync-on-pseudo-op
                        Use a pseudo-op to start dist-gem5 synchronization.
  --is-switch           Select the network switch simulator process for
                        adistributed gem5 run
  --dist-rank=DIST_RANK
                        Rank of this system within the dist gem5 run.
  --dist-size=DIST_SIZE
                        Number of gem5 processes within the dist gem5 run.
  --dist-server-name=DIST_SERVER_NAME
                        Name of the message server host DEFAULT: localhost
  --dist-server-port=DIST_SERVER_PORT
                        Message server listen port DEFAULT: 2200
  --dist-sync-repeat=DIST_SYNC_REPEAT
                        Repeat interval for synchronisation barriers among
                        dist-gem5 processes DEFAULT: --ethernet-linkdelay
  --dist-sync-start=DIST_SYNC_START
                        Time to schedule the first dist synchronisation
                        barrier DEFAULT:5200000000000t
  --ethernet-linkspeed=ETHERNET_LINKSPEED
                        Link speed in bps DEFAULT: 10Gbps
  --ethernet-linkdelay=ETHERNET_LINKDELAY
                        Link delay in seconds DEFAULT: 10us
  -I MAXINSTS, --maxinsts=MAXINSTS
                        Total number of instructions to
                        simulate (default: run forever)
  --work-item-id=WORK_ITEM_ID
                        the specific work id for exit & checkpointing
  --num-work-ids=NUM_WORK_IDS
                        Number of distinct work item types
  --work-begin-cpu-id-exit=WORK_BEGIN_CPU_ID_EXIT
                        exit when work starts on the specified cpu
  --work-end-exit-count=WORK_END_EXIT_COUNT
                        exit at specified work end count
  --work-begin-exit-count=WORK_BEGIN_EXIT_COUNT
                        exit at specified work begin count
  --init-param=INIT_PARAM
                        Parameter available in simulation with m5
                        initparam
  --initialize-only     Exit after initialization. Do not simulate time.
                        Useful when gem5 is run as a library.
  --simpoint-profile    Enable basic block profiling for SimPoints
  --simpoint-interval=SIMPOINT_INTERVAL
                        SimPoint interval in num of instructions
  --take-simpoint-checkpoints=TAKE_SIMPOINT_CHECKPOINTS
                        <simpoint file,weight file,interval-length,warmup-
                        length>
  --restore-simpoint-checkpoint
                        restore from a simpoint checkpoint taken with --take-
                        simpoint-checkpoints
  --take-checkpoints=TAKE_CHECKPOINTS
                        <M,N> take checkpoints at tick M and every N ticks
                        thereafter
  --max-checkpoints=MAX_CHECKPOINTS
                        the maximum number of checkpoints to drop
  --checkpoint-dir=CHECKPOINT_DIR
                        Place all checkpoints in this absolute directory
  -r CHECKPOINT_RESTORE, --checkpoint-restore=CHECKPOINT_RESTORE
                        restore from checkpoint <N>
  --checkpoint-at-end   take a checkpoint at end of run
  --work-begin-checkpoint-count=WORK_BEGIN_CHECKPOINT_COUNT
                        checkpoint at specified work begin count
  --work-end-checkpoint-count=WORK_END_CHECKPOINT_COUNT
                        checkpoint at specified work end count
  --work-cpus-checkpoint-count=WORK_CPUS_CHECKPOINT_COUNT
                        checkpoint and exit when active cpu count is reached
  --restore-with-cpu=RESTORE_WITH_CPU
                        cpu type for restoring from a checkpoint
  --repeat-switch=REPEAT_SWITCH
                        switch back and forth between CPUs with period <N>
  -s STANDARD_SWITCH, --standard-switch=STANDARD_SWITCH
                        switch from timing to Detailed CPU after warmup period
                        of <N>
  -p PROG_INTERVAL, --prog-interval=PROG_INTERVAL
                        CPU Progress Interval
  -W WARMUP_INSTS, --warmup-insts=WARMUP_INSTS
                        Warmup period in total instructions (requires
                        --standard-switch)
  --bench=BENCH         base names for --take-checkpoint and --checkpoint-
                        restore
  -F FAST_FORWARD, --fast-forward=FAST_FORWARD
                        Number of instructions to fast forward before
                        switching
  -S, --simpoint        Use workload simpoints as an instruction offset for
                        --checkpoint-restore or --take-checkpoint.
  --at-instruction      Treat value of --checkpoint-restore or --take-
                        checkpoint as a                 number of
                        instructions.
  --spec-input=SPEC_INPUT
                        Input set size for SPEC CPU2000 benchmarks.
  --arm-iset=ARM_ISET   ARM instruction set.
  -c CMD, --cmd=CMD     The binary to run in syscall emulation mode.
  -o OPTIONS, --options=OPTIONS
                        The options to pass to the binary, use " "
                        around the entire string
  -e ENV, --env=ENV     Initialize workload environment from text file.
  -i INPUT, --input=INPUT
                        Read stdin from a file.
  --output=OUTPUT       Redirect stdout to a file.
  --errout=ERROUT       Redirect stderr to a file.
  --chroot=CHROOT       The chroot option allows a user to alter the search
                        path for processes running in SE mode. Normally, the
                        search path would begin at the root of the filesystem
                        (i.e. /). With chroot, a user can force the process to
                        begin looking atsome other location (i.e.
                        /home/user/rand_dir).The intended use is to trick
                        sophisticated software which queries the __HOST__
                        filesystem for information or functionality. Instead
                        of finding files on the __HOST__ filesystem, the
                        process will find the user's replacment files.
  --interp-dir=INTERP_DIR
                        The interp-dir option is used for setting the
                        interpreter's path. This will allow to load the guest
                        dynamic linker/loader itself from the elf binary. The
                        option points to the parent folder of the guest /lib
                        in the host fs
  --redirects=REDIRECTS
                        A collection of one or more redirect paths to be used
                        in syscall emulation.Usage: gem5.opt [...] --redirects
                        /dir1=/path/to/host/dir1 --redirects
                        /dir2=/path/to/host/dir2

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值