Gem5模拟器,scon和模拟脚本时具体在做啥?
admin
2024-03-02 12:54:47
0

查了很多篇帖子,包括官网,对于scon在做啥只知道SCons利用SConstruct文件文件来查找和编译所有的Gem5源代码,执行完后生成一个gem5/build目录,得到相应的二进制文件。但你又不知道整个过程是在干啥,在查阅了n篇资料后,整理了一下自己的思路,记录如下:

一、scon在干啥?

我们在构建gem5模拟器的时候,可以选择不同处理器的配置(X86、ARM、ALPHA),Gem5的构建是通过scons工具来完成的,可以通过进入解压gem5源文件的目录运行下面的命令来完成构建。假设我们在构建Gem5模拟器的时候使用如下语句:

scons build/X86/gem5.opt -j2

其中“build”项指明了构建gem5模拟器的目录;“X86”项指明了对构建模拟器的配置信息包括指令集结构、CPU模型等,这是在初次构建的过程中所使用的方法,在之后的模拟中可以通过在构建项后面加选项的方式来改变模拟器的配置;gem5.opt项指明了要构建的gem5的二进制文件,申明了所要用到的编译器标志集(对编译器的配置以产生不同的二进制文件),不同的文件具有不同的特点和优势,现在可用的类别有:gem5.debug, gem5.opt, gem5.fast, gem5.prof and gem5.perf。他们各自的特点如下:

  • gem5.debug 关闭了优化。保证变量不会被优化掉,功能不会被意料外的内联(inlined),以及控制流行为正常。该版本与gdb类的工具合作良好,然而关闭优化会造成该版本明显慢于其它版本。当使用gdb或valgrind等工具并且不希望任何细节被模糊掉时应该选择该版本,否则建议选择其它版本。包含多种debug标志,在开发以及测试阶段使用,模拟速度慢。
  • gem5.opt 打开程序优化的同时保留了部分debug标志(例如,断言和DPRINTFs)。可以在试验阶段通过debug标志监控系统组件状态,模拟速度比debug类型得二进制要快。即该版本良好地平衡了模拟速度与调试观察,是所有环境中最优的版本。
  • gem5.fast 打开优化并关闭调试部分。编译优化程度最高,没有debug标志,最优的模拟速度,代价是不能进行运行时错误检查与调试输出。一般完成功能验证后,使用该二进制文件进行模拟实验。如果确信所有功能可以正确运行并想要获得峰值性能,建议使用该版本。
  • gem5.prof 类似于gem5.fast,但仍然保留了一些功能(instrumentation)可以用于gprof分析工具。该版本不常用,但可以用于找出gem5中应当被注意的部分以提升性能。不常用。
  • gem5.perf 同gem5.prof,但是instrumentation使用google perftools,允许被google-pprof分析。该分析版本是gem5.prof的补充,可能可以在所有基于Linux的系统中替换gem5.prof。不常用。

 二、运行GEM5模拟脚本时在干啥?

假设现在我们已经创建了一个简单的模拟脚本(即simple.py),我们可以运行Gem5了。Gem5可以接受许多参数,但只需要一个位置参数,即模拟脚本。因此,我们可以简单地从根Gem5目录运行Gem5,如下所示:

build/X86/gem5.opt configs/tutorial/simple.py

整个过程将python脚本传递给gem5二进制文件进行模拟,具体来说,应该就是模拟器根据指定的参数分析整个体系结构的指令的存储过程,存储内容,运行原理,以及tick周期等。

三、总结

gem5是计算机体系结构模拟平台,如果非得找一个实体说它是什么,那它应该是个将CPU内存,外设都以对象化形式表示并且希望用最精简的模块组合这些对象模块以实现最理想最复杂功能的芯片。只不过这个芯片是用软件设计的,功能有点类似与七巧板的拼图,你想拼什么图,就去找什么样的板,最终能够方便快捷的用其支持的CPU模型,内存模型,系统模型对象快速组装出一台用软件实现的计算机。然后根据用软件构建的这台虚拟机的运行二进制程序后的trace的内容,分析这个体系结构的指令的存储过程,存储内容,运行原理,以及tick周期。因此这个模拟平台通常都被计算机体系结构设计者和研究者广泛使用。


参考资料:

(8条消息) gem5学习4——Build System_ivy_reny的博客-CSDN博客

(8条消息) GEM5教程--gem5开始之旅(一)_人间之清欢的博客-CSDN博客

(8条消息) Gem5 学习 1 - Gem5 及其 文件结构_小张的学习手册的博客-CSDN博客

gem5模拟器使用介绍(一) - 张同光 - 博客园 (cnblogs.com)

(8条消息) gem5与Armv8模拟器的设计原理指导与使用指导_yuyezhulan的博客-CSDN博客

相关内容

热门资讯

洽洽食品:2025年上半年净利... 8月21日消息,洽洽食品公告,2025年上半年营业收入27.52亿元,同比下降5.05%。净利润88...
超20家钛白粉生产企业宣布涨价 8月21日消息,经历价格持续低迷,临近“金九银十”,钛白粉企业再次集中宣布涨价。近日市场传出涨价函显...
为促进生猪市场平稳运行,国家将... 8月21日消息,近期,由于夏季天气炎热、消费季节性偏弱,加之前期二次育肥生猪出栏,猪肉市场供应有所增...
云南锗业:上半年净利润2215... 8月21日消息,云南锗业发布2025年半年度报告,报告期内实现营业收入5.29亿元,同比增长52.1...
好丽友见手青薯片:这不是一次口... 新消费导读如果你把「见手青味薯片」理解为一次猎奇上新,那你就有点低估了这件事。这不是一款新口味,而是...
Thoma Bravo将私有化... 8月21日消息,私募股权公司Thoma Bravo当地时间8月21日宣布达成最终协议,将以全现金交易...
苏宁帮客宣布战略升级,苏宁再度... 4月7日上午消息,苏宁易购旗下服务品牌“苏宁帮客”宣布战略升级,明确家电服务、社区生活服务、新能源服...
岚图汽车3月销量增长50%,岚... 日前,岚图汽车发布3月销量数据:当月交付15019辆,同比增长50%,环比增长80%;1月~3月累计...
宝丰能源深度透视:业绩巅峰难阻... 本文来源:时代商业研究院 作者:郝文然 图源:图虫创意来源|时代商业研究院作者|郝文然编辑|韩迅20...
ST西发:董事长罗希被留置 公... 新京报贝壳财经讯 4月7日,ST西发公告,公司实际控制人、董事长罗希先生因涉嫌违法被西藏自治区监察委...