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博客

相关内容

热门资讯

造假泛滥、虫入车间、产能拉胯:... 订阅 快刀财经 ▲ 做您的私人商学院世界药房的致命短板。作者:朱末来源:快刀财经(ID:kuai...
影石创新股价“脚踝斩”,刘靖康... 出品|达摩财经近日,第三方数据公司IDC发布了2026年一季度全球手持智能相机行业报告。报告数据显示...
美股半导体股,集体上涨 美股半... 6月29日,美股三大指数集体高开,道指涨0.29%,纳指涨0.96%,标普500指数涨0.55%。 ...
三只*ST股,将摘星脱帽 st... 6月29日晚间,A股三家*ST公司公告称将“摘星脱帽”。 具体来看,*ST艾艾发布关于撤销退市风险警...
【就业创业典型】大棚逐梦人:一... 编者按:近年来,延安市残疾人工作坚持以习近平新时代中国特色社会主义思想为指导,以促进残疾人事业全面高...
公募基金锚定新质生产力,多维赋... 6月22日消息,中国证监会主席吴清近日在2026陆家嘴论坛上表示,资本市场与新质生产力双向奔赴、相互...
液冷服务器概念震荡走强,冰轮环... 6月22日消息,午后液冷服务器概念震荡走强,冰轮环境9天5板,此前康盛股份涨停,大元泵业、川润股份、...
涉留神峪煤矿事故,国家矿山安全... 6月22日消息,国家矿山安全监察局山西局监察执法八处三级调研员耿青禄涉嫌严重违法,涉通洲集团留神峪煤...
周立成拟任中国投资协会秘书长 6月22日消息,中国投资协会发布关于中国投资协会第五届理事会届中调整负责人人选的公示:周立成,男,汉...
以防长称以军已做好对伊采取独立... 据央视新闻,以色列国防部长卡茨日前在与军事记者的闭门谈话中,阐述了以色列在黎巴嫩、伊朗及加沙地带等多...