gem5 中一些自带脚本

2024-05-08 06:18
文章标签 自带 脚本 gem5

本文主要是介绍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.

这篇关于gem5 中一些自带脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969541

相关文章

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意