【Gem5】获取构建教程

  • gem5-tutorial-hpca-2023
    • 1 介绍
      • 1.1 Gem5是什么
      • 1.2 Gem5可以用来做什么
      • 1.3 获取并构建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
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/532115.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络安全加密算法---对称加密

三位同学一组完成数据的对称加密传输。 三位同学分别扮演图中 A、B 和 KDC 三个角色,说明 KA、KB,KAB 和发送的数据Data 的内容。 给出图中 2 和 3 中的数据,以及 Data 加密后的密文。可以完成多轮角色互换的通信 过程。其中一轮过程要求 K…

jni 开发 调用dll 函数的流程

jni 调用dll方法以及dll内调用java方法的流程 编写java类 public class abc{static{System.loadLibrary("abc.dll");}public String getResponse(String ReqStr) {return "ok";}public native void InitDiagObj();public native void CarryabcEntry(Stri…

Vulnhub:DEVCONTAINER: 1

目录 信息收集 arp nmap nikto whatweb WEB 信息收集 dirmap 文件上传 提权 系统信息收集 横向提权 信息泄露 get root 信息收集 arp ┌──(root㉿ru)-[~/kali/vulnhub] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:50:56:2f:dd…

一例简单的文件夹病毒的分析

概述 这是一个典型的文件夹病毒,使用xp时代的文件夹图标,通过可移动存储介质传播,会向http://fionades.com/ABIUS/setup.exe下载恶意载荷执行。 其病毒母体只是一个加载器,会在内存是解密加载一个反射型的dll,主要的…

python使用uiautomator2操作雷电模拟器9找图

接上篇文章python使用uiautomator2操作雷电模拟器9并遇到解决adb 连接emulator-5554 unauthorized问题-CSDN博客 搭建好uiautomator2后,主要就是使用了。 本文就利用uiautomator2的截屏、模拟点击和aircv的找图功能,实现对指定寻找的图片的位置的点击。…

观察者模式与发布-订阅模式的对决

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

javaWeb网上零食销售系统

1 绪 论 目前,我国的网民数量已经达到7.31亿人,随着互联网购物和互联网支付的普及,使得人类的经济活动进入了一个崭新的时代。淘宝,京东等网络消费平台功能的日益完善,使得人们足不出户就可以得到自己想要的东西。如今…

PCB学习记录---原理图

一、注释 NC:no connect,默认不连接 NF: no fix,默认不安装 0R: 0R的电阻,即可以短路 二、看图流程 1、看标题,了解功能 2、浏览有几个模块 3、找芯片对应的数据手册,了解芯片功能和使用 例如CH224&#xff…

gradio简单搭建——关键词匹配筛选【进一步优化】

gradio简单搭建——关键词匹配筛选[进一步优化] 任务回顾新的想法:无效元素筛选界面搭建数据处理与生成过程交互界面展示 任务回顾 在 apply \text{apply} apply方法的使用一节中,简单提到了任务目标:通过关键词的形式,在文本数据…

Harmony鸿蒙南向驱动开发-DAC

DAC(Digital to Analog Converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备。 DAC模块支持数模转换的开发。它主要用于: 作为过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自…

【讲解下Fiddler的安装和使用】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

支小蜜校园刷脸支付系统的优势在哪里?

在当今社会,校园欺凌问题日益受到人们的关注。校园欺凌不仅影响学生的身心健康,还可能导致其产生厌学、逃学甚至报复社会的行为。建立校园防欺凌系统对于学校而言,具有极其重要的意义。本文将详细探讨校园防欺凌系统对学校的好处。 一、保障…

3.1 基本形式 机器学习

从本章本节开始就开始正式介绍机器学习的算法了!我们首先登场的是---------线性模型。 w可以理解为权重,我们的x就是我们的样本点的各个特征数值,最后输出模型f(x)。其代表我们把样本点带入,以二分类为例&a…

金三银四面试题(十七):MySQL面试都问什么(2)

今天我们继续盘点那些高频的MySQL面试题。 说说InnoDB与MyISAM的区别 InnoDB 支持事务,MyISAM 不支持,对于InnoDB 每一条SQL 语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL 语言放在begin 和comm…

密码学基础--搞清RFC和PKCS(1)

目录 1. CryptoDriver里KeyElement格式 2. 挖掘RFC标准 3.小结 昨天从生成密钥对开始逐步了解了公钥、证书等各种编码方式,今天继续趁热打,做一个理论知识汇总。 Ps:我只是标准的翻译搬运工。 1. CryptoDriver里KeyElement格式 在 CryptoKeyElemen…

基于达梦数据库开发-python篇

文章目录 前言一、搭建demo前提初始化简单demo 二、可能出现的异常情况DistutilsSetupErrorNo module named dmPythonlist报错 总结 前言 出于信创的考虑,近年来基于国产数据库达梦的应用开发逐渐变多。本文将介绍在windows环境下基于DM8版本的python的简单开发使用…

【自控笔记】线性系统时域分析法

动态稳态性能 一阶系统 二阶系统 二阶系统单位阶跃 系统稳定性分析

【优选算法专栏】专题四:前缀和(一)

本专栏内容为:算法学习专栏,分为优选算法专栏,贪心算法专栏,动态规划专栏以及递归,搜索与回溯算法专栏四部分。 通过本专栏的深入学习,你可以了解并掌握算法。 💓博主csdn个人主页:小…

还不会免费将PDF转为Word?赶快试试这3种工具!

PDF文档格式转换是高频且刚需的办公需求,虽然很简单,但其实绝大部分人找不到合适的工具。 将PDF免费转为Word的方法有很多,这里主要介绍三种工具。 第一种使用最常见的Word软件,第二种使用免费转换网站pdf2doc,第三种…

cmocka入门教程

文章目录 摘要前言什么是mockmock示例cmocka安装使用mock function替换subfunction控制mock function的输入和输出 摘要 本文介绍cmocka中,mock的使用。 前言 在这之前,需要了解最基本的cmocka使用。如果之前有gtest的编程经验,掌握cmocka的…