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

相关文章

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编码的应用场景注意

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from