gem5 中一些自带脚本

gem5 中一些自带脚本

这里使用gem5附带的默认配置脚本完成gem5的模拟仿真。 gem5自带许多配置脚本,可以快速使用gem5。 但是使用这些脚本的缺陷是不完全了解正在模拟的内容。 在使用gem5进行计算机体系结构研究以充分了解您正在模拟的系统时,这一点很重要。 这里简单的了解下默认配置脚本的一些重要选项和部分内容。

gem5的文件目录:

  • configs/boot:
    ammp.rcS halt.sh micro_tlblat2.rcS netperf-stream-udp-local.rcS

  • configs/common:
    Benchmarks.py cpu2000.py Options.py
    Caches.py FSConfig.py O3_ARM_v7a.py SysPaths.py
    CacheConfig.py CpuConfig.py MemConfig.py Simulation.py

  • configs/dram:
    sweep.py

  • configs/example:
    fs.py read_config.py ruby_mem_test.py ruby_random_test.py
    memtest.py ruby_direct_test.py ruby_network_test.py se.py

  • configs/ruby:
    MESI_Three_Level.py MI_example.py MOESI_CMP_token.py Network_test.py
    MESI_Two_Level.py MOESI_CMP_directory.py MOESI_hammer.py Ruby.py

  • configs/splash2:
    cluster.py run.py

  • configs/topologies:
    BaseTopology.py Cluster.py Crossbar.py MeshDirCorners.py Mesh.py Pt2Pt.py Torus.py

  • boot
    这些是在全系统模式下使用的rcS文件。 这些文件由Linux引导后由模拟器加载,并由shell执行。 大多数这些用于在全系统模式下运行时控制基准测试。 一些是效用函数,如hack_back_ckpt.rcS。 这些文件在全系统仿真的章节中有更深入的介绍。

  • comon
    该目录包含许多辅助脚本和功能来创建模拟系统。例如,Caches.py类似于前面创建的caches.py和caches_opts.py文件。

    Options.py包含可以在命令行中设置的各种选项。像CPU的数量,系统时钟等很多。这是一个很好的地方,看看你想要更改的选项是否已经有一个命令行参数。

    CacheConfig.py包含用于设置典型内存系统缓存参数的选项和功能。

    MemConfig.py提供了一些帮助函数来设置内存系统。

    FSConfig.py包含为许多不同类型的系统设置全系统仿真所必需的功能。全系统仿真在本章进一步讨论。

    Simulation.py包含许多帮助函数来设置和运行gem5。此文件中包含的许多代码管理保存和还原检查点。示例中的示例配置文件/使用此文件中的函数执行gem5模拟。这个文件是相当复杂的,但它也允许在如何运行模拟方面有很大的灵活性。

  • dram
    测试DRAM的脚本。

  • example
    此目录包含一些可用于开箱即用的运行gem5的gem5配置脚本。 具体来说,se.py和fs.py是非常有用的。 此目录中还有一些其他实用程序配置脚本。
  • ruby
    此目录包含Ruby的配置脚本及其包含的缓存一致性协议。 有关Ruby的更多细节,请参见Ruby章节。
  • splash2
    此目录包含用于运行splash2基准测试套件的脚本,其中有几个选项来配置模拟系统。
  • topologles
    此目录包含在创建Ruby缓存层次结构时可以使用的拓扑的实现。 有关Ruby的更多细节,请参见Ruby章节。

部分重要的选项:

–cpu-type=CPU_TYPE

The type of cpu to run with. This is an important parameter to always set. The default is atomic, which doesn’t perform a timing simulation.

–sys-clock=SYS_CLOCK

Top-level clock for blocks running at system speed.

–cpu-clock=CPU_CLOCK

Clock for blocks running at CPU speed. This is separate from the system clock above.

–mem-type=MEM_TYPE

Type of memory to use. Options include different DDR memories, and the ruby memory controller.

–caches

Perform the simulation with classic caches.

–l2cache

Perform the simulation with an L2 cache, if using classic caches.

–ruby

Use Ruby instead of the classic caches as the cache system simulation.

-m TICKS, –abs-max-tick=TICKS

Run to absolute simulated tick specified including ticks from a restored checkpoint. This is useful if you only want simulate for a certain amount of simulated time.

-I MAXINSTS, –maxinsts=MAXINSTS

Total number of instructions to simulate (default: run forever). This is useful if you want to stop simulation after a certain number of instructions has been executed.

-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. This is useful when you are running a command which takes options. You can pass both arguments and options (e.g., –whatever) through this variable.

–output=OUTPUT

Redirect stdout to a file. This is useful if you want to redirect the output of the simulated application to a file instead of printing to the screen. Note: to redirect gem5 output, you have to pass a parameter before the configuration script.

–errout=ERROUT

Redirect stderr to a file. Similar to above.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值