【Gem5】获取构建教程

gem5-tutorial-hpca-2023

  • 打开网址:
    github

  • 创建教程代码空空间
    “Code” -> “Codespaces” ->
    “Create Codespace on master”

GitHub Codespaces 是一个由 GitHub 提供的云端开发环境,它允许开发者在浏览器中直接进行代码的开发、编辑和测试,无需在本地计算机上安装任何开发工具或配置环境。这使得开发者可以更快速地开始一个新项目,同时也方便了团队成员之间的协作,因为每个人都可以在相同的云端环境中工作。

1 介绍

1.1 Gem5是什么

gem5架构模拟器提供了一个通过对底层硬件的行为进行建模来评估计算机系统的平台。它使研究人员能够模拟复杂计算机系统的性能和行为,包括CPU、内存系统和互连。这使得研究不同微架构和架构选择的性能以及不同工作负载的影响,而无需构建和测试真实系统。

在这里插入图片描述

Gem5是一个开源的计算机架构模拟器,它结合了系统级架构和处理器微架构。Gem5的前身是密歇根大学的m5项目和威斯康星大学的GEMS项目。这两个项目于2011年合并,形成了现在的Gem5。Gem5被广泛应用于学术界和工业界,支持多种指令集架构(ISA),包括Arm、x86、MIPS、Power、RISC-V、SPARC等,并且提供了多种CPU模型,如Simple CPU、Minor CPU、O3 CPU等。它是一个模块化、离散事件驱动的计算机系统模拟器平台,主要由C++和Python编写。Gem5支持两种主要模式:全系统模式(FS)和系统调用模式(SE),能够模拟完整的基于Linux的操作系统,或者模拟系统调用。此外,Gem5还包括了两种不同的缓存系统:Classic和Ruby 3。

1.2 Gem5可以用来做什么

  1. 教育用途
  2. Research
  3. Industrial R&D(Research and Development) 工业研发

1.3 获取并构建gem5

  1. Gem5开发语言
    模拟配置是用 Python 编写的,它与核心 CPP 模拟器交互。 在本教程中,我们将仅在 Python 级别进行工作。但是添加CPP代码对于扩展gem5的功能是必要的。
    在这里插入图片描述

  2. Gem5运行层次
    在这里插入图片描述

  • 主机host:正在使用的实际硬件
  • 模拟器Simulator:在主机上运行,向guest开放硬件
  • 访客guest:在Simulated硬件Hardware上运行的代码
    gem5 上运行的操作系统是 guest OS
    gem5模拟硬件
  • 模拟器的代码:运行本机执行/模拟guest代码
  • guest代码:(或基准、工作负载等)
    在 gem5 上运行,而不是在主机上运行。
  • 模拟器的性能: 在主机上运行模拟的时间 你感受到的Wallclock时间
  • 模拟得出的性能: 模拟器预测的时间 guest代码在模拟器上运行的时间
  1. 下载\构建 gem5
    1. 安装依赖
    > sudo apt install build-essential git m4 scons zlib1g zlib1g-dev \
    libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
    python3-dev python-is-python3 libboost-all-dev pkg-config libhdf5-dev libpng-dev
    
    //可能需要安装:
    > apt-get install libcapstone-dev
    
    1. 克隆源代码
    > git clone https://github.com/gem5/gem5.git
    > cd gem5
    //在编译时需要指定系统配置的缓存一致性协议:
    > scons build/X86/gem5.opt -j$(nproc) PROTOCOL=MESI_Three_Level
    
    1. 最后编译成功
    > ...
    > scons: done building targets
    
  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在輸入......

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值