当前位置: 首页 > news >正文

gem5教程第五章 了解gem5默认配置脚本

在本章中,我们将探讨如何使用gem5附带的默认配置脚本。
gem5附带了许多配置脚本,使您能够非常快速地使用gem5。
然而,一个常见的陷阱是在不完全理解所模拟内容的情况下使用这些脚本。在使用gem5进行计算机架构研究时,充分了解您正在模拟的系统非常重要。本章将引导您了解默认配置脚本的一些重要选项和部分。
在最后几章中,您从头开始创建了自己的配置脚本。
这非常强大,因为它允许您指定每个系统参数。
然而,有些系统的设置非常复杂(例如,全系统ARM或x86机器)。
幸运的是,gem5开发人员提供了许多脚本来引导构建系统的过程。

目录结构

gem5的所有配置文件都可以在configs/中找到。
目录结构如下图所示:

configs/boot:
bbench-gb.rcS  bbench-ics.rcS  hack_back_ckpt.rcS  halt.shconfigs/common:
Benchmarks.py   Caches.py  cpu2000.py    FileSystemConfig.py  GPUTLBConfig.py   HMC.py       MemConfig.py   Options.py     Simulation.py
CacheConfig.py  cores      CpuConfig.py  FSConfig.py          GPUTLBOptions.py  __init__.py  ObjectList.py  SimpleOpts.py  SysPaths.pyconfigs/dist:
sw.pyconfigs/dram:
lat_mem_rd.py  low_power_sweep.py  sweep.pyconfigs/example:
apu_se.py  etrace_replay.py  garnet_synth_traffic.py  hmctest.py    hsaTopology.py  memtest.py  read_config.py  ruby_direct_test.py      ruby_mem_test.py     sc_main.py
arm        fs.py             hmc_hello.py             hmc_tgen.cfg  memcheck.py     noc_config  riscv           ruby_gpu_random_test.py  ruby_random_test.py  se.pyconfigs/learning_gem5:
part1  part2  part3  READMEconfigs/network:
__init__.py  Network.pyconfigs/nvm:
sweep_hybrid.py  sweep.pyconfigs/ruby:
AMD_Base_Constructor.py  CHI.py        Garnet_standalone.py  __init__.py              MESI_Three_Level.py  MI_example.py      MOESI_CMP_directory.py  MOESI_hammer.py
CHI_config.py            CntrlBase.py  GPU_VIPER.py          MESI_Three_Level_HTM.py  MESI_Two_Level.py    MOESI_AMD_Base.py  MOESI_CMP_token.py      Ruby.pyconfigs/splash2:
cluster.py  run.pyconfigs/topologies:
BaseTopology.py  Cluster.py  CrossbarGarnet.py  Crossbar.py  CustomMesh.py  __init__.py  MeshDirCorners_XY.py  Mesh_westfirst.py  Mesh_XY.py  Pt2Pt.py

下面简要介绍每个目录:

boot/

这些是在全系统模式下使用的rcS文件。这些文件在Linux启动后由模拟器加载,并由shell执行。其中大部分用于在全系统模式下运行时控制基准测试。有些是实用函数,如hack_back_ckpt.rcS。这些文件在关于全系统仿真的章节中有更深入的介绍。

http://www.xdnf.cn/news/96373.html

相关文章:

  • eplan许可证与防火墙安全软件冲突
  • MobileNetV2:面向移动端的高效神经网络架构革新——突破轻量化模型的设计边界
  • 三目云台转动性能稳定性
  • C# 中的 `lock` 关键字本质
  • 3.6/Q1,GBD数据库最新文章解读
  • 鸿蒙中的并发线程间通信、线程间通信对象
  • 【计算机视觉】CV项目实战- SiamMask 单阶段分割跟踪器
  • 深入理解 java synchronized 关键字
  • 【C语言-选择排序算法】实现对十个数进行排序
  • 如何确定置信水平的最佳大小
  • 进行网页开发时,怎样把function()中变量值在控制台输出,查看?
  • 大模型框架技术全景与下一代架构演进
  • Ollama API 应用指南
  • leetcode - 字符串
  • 实现SpringBoot底层机制【Tomcat启动分析+Spring容器初始化+Tomcat 如何关联 Spring容器】
  • 微服务Nacos组件的介绍、安装、使用
  • 网络安全风险评估报告书模版(Word)
  • Python项目--基于计算机视觉的手势识别控制系统
  • 自建开源远程协助服务RustDesk —— 筑梦之路
  • 前端热门面试题day1
  • Redis 五大数据类型
  • 【Java面试笔记:基础】12.Java有几种文件拷贝方式?哪一种最高效?
  • 第一节:核心概念高频题-Vue3响应式原理与Vue2的区别
  • 一些基本的 Vue 规范
  • NoSQL 简单讲解
  • Java-File类详解(一篇讲透)
  • vue3+dhtmlx 甘特图真是案例
  • 线程入门2
  • 根据定义给出json_schema:
  • Spring Cloud Eureka 与 Nacos 深度解析:从架构到对比