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

相关文章

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

python写个唤醒睡眠电脑的脚本

《python写个唤醒睡眠电脑的脚本》这篇文章主要为大家详细介绍了如何使用python写个唤醒睡眠电脑的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 环境:win10python3.12问题描述:怎么用python写个唤醒睡眠电脑的脚本?解决方案:1.唤醒处于睡眠状

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情