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调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

利用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.应用程序文件夹打开应用程序文件夹