gem5模拟器入门(一)——环境配置

news2024/9/24 13:20:55

什么是gem5?

gem5是一个模块化的离散事件驱动的计算机系统模拟器平台。这意味着:

  1. GEM5 的组件可以轻松重新排列、参数化、扩展或更换,以满足您的需求。
  2. 它将时间的流逝模拟为一系列离散事件。
  3. 它的预期用途是以各种方式模拟一个或多个计算机系统。
  4. 它不仅仅是一个模拟器;它是一个模拟器平台,可让您使用任意数量的预制组件来构建自己的模拟系统。

        gem5 主要用 C++ 和 Python 编写,大多数组件都是在 BSD 风格的许可证下提供的。 它可以模拟一个完整的系统,其中设备和操作系统处于完整系统模式(FS 模式),或者仅用户空间程序,其中系统服务由模拟器在系统调用仿真模式(SE 模式)下直接提供。 对在 CPU 模型上执行 Alpha、ARM、MIPS、Power、SPARC、RISC-V 和 64 位 x86 二进制文件有不同级别的支持,包括两个简单的单个 CPI 模型、一个无序模型和一个按顺序流水线模型。 内存系统可以灵活地构建为缓存和横杆,也可以使用Ruby模拟器来构建,后者提供了更灵活的内存系统建模。

        gem5 模拟器是用于计算机系统架构研究的模块化平台,包括系统级架构和处理器微架构。gem5 是一个社区主导的项目,采用开放式治理模式。

        gem5 最初是为学术界的计算机体系结构研究而设计的,但它已经发展到学术界、工业界研究和教学的计算机系统设计中使用。

1.git仓库clone

        当您在当前代码库之上构建新模型和新功能时,gem5 模拟器对于研究最有用。 因此,使用 gem5 的最常见方法是下载源代码并自行构建。

        要下载 gem5,您可以使用 git 检出到当前稳定的分支。 如果你不熟悉版本控制或 git,git 书(免费在线提供)是了解有关 git 的更多信息并更习惯使用版本控制的好方法。 gem5 的规范版本托管在 GitHub 上。

git clone https://github.com/gem5/gem5

克隆源码后,可以使用 scons 构建 gem5。

2.Scon安装

scons是一个Python写的自动化构建工具,和GNU make相比优点明显:

1、 移植性:python能运行的地方,就能运行scons
2、 扩展性:理论上scons只是提供了python的类,scons使用者可以在这个类的基础上做所有python能做的事情。比如想把一个已经使用了Makefile大型工程切换到scons,就可以保留原来的Makefile,并用python解析Makefile中的编译选项、源/目标文件等,作为参数传递给scons,完成编译。
3、 智能:Scons继承了autoconf/automake的功能,自动解析系统的include路径、typedef等;“以全局的观点来看所有的依赖关系”
 

pip install scons              # 最新版本
pip install scons==4.0.1       # 指定版本
pip install 'scons>=4.0.1'     # 最小版本

3.编译gem5

        构建 gem5 可能需要几分钟的时间,在大型服务器上需要几分钟,在笔记本电脑上需要 45 分钟。 gem5 必须建立在 Unix 平台上。 Linux 在每次提交时都会进行测试,有些人也能够使用 MacOS,尽管它没有定期测试。 强烈建议在虚拟机上运行时不要尝试编译 gem5。 在笔记本电脑上使用 VM 运行时,gem5 可能需要一个多小时才能编译。 构建 gem5 提供了有关构建 gem5 及其依赖关系的更多详细信息。

cd gem5
scons build/X86/gem5.opt -j <NUMBER OF CPUs ON YOUR PLATFORM>

至此gem5编译完成。

4.示例运行

        现在您已经有了 gem5 二进制文件,您可以运行您的第一个模拟了! gem5 的接口是 Python 脚本。 gem5 二进制文件读取并执行提供的 Python 脚本,该脚本创建被测系统并执行模拟器。 在此示例中,脚本创建了一个非常简单的系统,并执行“hello world”二进制文件。 有关该脚本的更多信息,请参阅 Learning gem5 书籍的“简单配置”一章。

build/X86/gem5.opt configs/learning_gem5/part1/simple.py

运行此命令后,您将看到 gem5 的输出!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数码论坛|基于SprinBoot+vue的数码论坛系统(源码+数据库+文档)

数码论坛系统 目录 基于SprinBootvue的数码论坛系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2 管理员功能模块 3 用户后台管理模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&am…

STM32-11-电容触摸按键

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32电容触摸按键 电容触摸按键原理&#xff1a; 无手指触摸&#xff1a;上电时&…

DSP开发入门

视频&#xff1a; 创龙TI 最新DSP CPU核心架构 C66x 以及 KeyStone I 架构 DSP TMS320C6655/57以及TMS320C6678视频教程全集_哔哩哔哩_bilibili 2024年硬汉科技手把手教您学DSP28335视频教程持续更新中_哔哩哔哩_bilibili DSP芯片介绍 DSP选型 TI的DSP 分为三大系列&#…

基于Android的家庭理财APP的设计与实现(论文+源码)_kaic

摘 要 随着我国居民收入和生活水平的提高&#xff0c;家庭理财成为人们热议的焦点问题。在需求分析阶段&#xff0c;系统从用户的实际需求出发&#xff0c;确定了用户账户管理、记账、数据分析和提醒功能等几个核心需求。用户账户管理包括用户注册、登录和密码找回等基本操作…

游戏私域运营指南 | 降低买量成本,精细化游戏私域运营看这篇就懂了!

私域是什么&#xff1f;这个概念在零售行业已经盛行多年&#xff0c;但在游戏行业提及得并不多&#xff0c;从业者们可能更熟悉的 近似概念是“社区运营”。 那么首先&#xff0c;让我们明确定义&#xff1a;相对于社交媒体、搜索引擎、电商平台等需要通过付费投放来进行高效流…

webshell工具-冰蝎流量特征和加密方式

一、冰蝎原理 1.1 简介 冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端&#xff0c;由于通信流量被加密&#xff0c;传统的WAF、IDS 设备难以检测&#xff0c;给威胁狩猎带来较大挑战。冰蝎其最大特点就是对交互流量进行对称加密&#xff0c;且加密密钥是由随…

【前端常见面试题整理】

开放性的题目 自我介绍 突出学习能力 我想换工作的主要原因是 介绍项目 平时是如何学习前端开发的 主要就是两个途径&#xff0c;一个是查阅官方文档&#xff0c;然后就是在网上查找技术资料或者视频去学习。平时没事的时候也会看看github&#xff0c;同时关注一些社区和IT网…

浅说线性DP(上)

前言 在说线性dp之前&#xff0c;我们先来聊一聊动态规划是啥&#xff1f; 动态规划到底是啥&#xff1f; 动态规划是普及组内容中最难的一个部分&#xff0c;也是每年几乎必考的内容。它对思维的要求极高&#xff0c;它和图论、数据结构不同的地方在于它没有一个标准的数学…

Rust最新版安装(v1.78.0+)

系统&#xff1a;Windows 11 专业版 23H2rustc&#xff1a;1.78.0 配置环境变量和设置配置文件 新建文件夹“C:\Rust\Rustup”和“C:\Rust\Cargo”。【以管理员身份运行】打开CMD 设置系统环境变量&#xff0c;如下设置RUSTUP_DIST_SERVER&#xff0c;其余同理 C:\Windows\S…

中国教育 AI 产品正在成为百万美国学生的辅导老师;李飞飞:大模型不存在主观感觉能力丨 RTE 开发者日报 Vol.213

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、…

编程5年的老哥说:我代码里从来不用锁,谁爱...

技多不压身&#xff01; 大家好&#xff0c;我是 javapub。 今天一个朋友找我吐槽&#xff0c;说自己平时在工作中几乎用不到需要上锁的场景&#xff0c;就算有也只是并发很小、或者直接从有业务设计上就规避掉了。但一到面试&#xff0c;都是各种锁题&#xff0c;很头疼。 面…

YYDS!哈工大博士PyTorch笔记火了!!

Pytorch是目前常用的深度学习框架之一&#xff0c;它凭借着对初学者的友好性、灵活性&#xff0c;发展迅猛&#xff0c;它深受学生党的喜爱&#xff0c;我本人也是使用的Pytorch框架。 比起 TF 的框架环境配置不兼容&#xff0c;和 Keras 由于高度封装造成的不灵活&#xff0c…

三、Ollama导入大模型(.Net8+SemanticKernel+Ollama)本地运行自己的大模型

Ollama导入大模型 一、导入Ollama大模型1、使用run命令2、使用Modelfile方式 二、导入自定义大模型&#xff08;Ollama官网以外的大模型&#xff09;三、使用OpenWebUI导入大模型 Ollama可以导入官方提供的大模型&#xff0c;也可以导入huggingface上的自定义大模型&#xff08…

以太坊现货ETF获批:引发ETH价格暴涨,市场热议达到高潮

2024年5月24日&#xff0c;北京时间&#xff0c;以太坊现货ETF正式获得美国证券交易委员会&#xff08;SEC&#xff09;的批准&#xff0c;成为继比特币之后&#xff0c;美国主权政府承认的又一加密货币基金产品。这一意外的利好消息引发了加密货币市场的狂欢&#xff0c;以太坊…

东软的第三个研发基地,为什么选择了武汉?

继沈阳、大连之后&#xff0c;东软集团在国内打造的第三个研发基地——武汉东软软件园&#xff0c;于2024年5月25日正式开园。 “占地面积158亩、建筑面积14万余平方米的武汉东软软件园&#xff0c;从开工到竣工仅仅用了18个月的时间。这样的建设速度&#xff0c;充分体现了武汉…

香橙派Kunpeng Pro性能测评:高效能小型服务器开发板的全面体验

香橙派 Kunpeng Pro 是一款面向开发者和教育市场的高性能单板计算机&#xff0c;其搭载了鲲鹏处理器&#xff0c;可提供 8TOPS INT8 计算能力&#xff0c;提供了 8GB 和 16GB 两种内存版本&#xff0c;开发板结合了鲲鹏全栈根技术&#xff0c;全面使能高校计算机系统教学和原生…

3D Web轻量化平台HOOPS Web Platform在数字工厂中的应用实例

今天我们来聊聊HOOPS工具对大型数据的处理和可视化管理。这里是一个数字工厂的仪表盘展示&#xff0c;您可以在仪表盘上看到包括工厂的能源消耗、计划产量等数据信息&#xff0c;以及各种制造机器的生产量。 HOOPS中文网http://techsoft3d.evget.com/ 我们的HOOPS工具&#xf…

window.location.search取不到值

window.location.search window.location.search没有值的原因&#xff1a; URL中使用了 hash &#xff08;指URL中带有#符号&#xff09;,导致URL后面携带的参数被location.hash截取走了&#xff0c;你再使用window.location.search得到的就是空值 打印 window.location 其实…

网络侦察技术

网络侦察技术 收集的信息网络侦察步骤搜索引擎检索命令bing搜索引擎Baidu搜索引擎Shodan钟馗之眼(zoomeye) whois数据库&#xff1a;信息宝库查询注册资料 域名系统网络拓扑社交网络跨域拓展攻击 其它侦察手段社会工程学社会工程学常见形式Web网站查询 其它非技术侦察手段总结网…

通过代码重用攻击绕过现代XSS防御

XSS已有近二十年的历史了&#xff0c;但它仍然是Web上最常见的漏洞之一。因此&#xff0c;已经发展了许多机制来减轻漏洞的影响。我经常会误以为这些机制可以作为针对XSS的保护。今天&#xff0c;我们将了解为什么情况并非如此。我们将在代码重用攻击领域探索一种相对较新的技术…