gem5(1)——环境搭建
引言
之前曾经接触过gem5,不过只是停留在利用gem5完成一些简单的工作,并没有对gem5的源代码以及具体的配置做深入的学习。
本次的目标是打算对gem5的配置文件(即具体的System配置)以及源代码(即gem5每个功能的实现)有深入的学习和理解。
虚拟机环境
我使用的是最新的Ubuntu 22.04:
环境 | 版本 |
---|---|
虚拟机 | VMware Workstation 16.2.4 |
系统 | Ubuntu Server 22.04.1 LTS |
CPU | Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz |
内存 | 8GB |
安装依赖
首先,更换apt源为阿里云源,以加快下载速度:
1 | $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak |
插入以下内容:
1 | deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse |
然后,更新apt源并安装所需的依赖:
1 | $ sudo apt update |
编译gem5
从gem5的官方仓库克隆源码:
1 | $ git clone https://gem5.googlesource.com/public/gem5 |
利用SCons命令编译gem5,以编译x86架构的处理器为例:
1 | $ cd gem5 |
编译完成后的输出如下图所示:
在build/X86
目录下生成的gem5.opt
文件,即为编译好的gem5可执行文件。
此外,除了支持x86
架构,gem5还支持ARM
、MIPS
、RISC-V
等架构,具体的参数为修改build/ISA
中的ISA
为对应的架构名即可。
gem5的后缀名代表的含义是编译时的优化参数,除了opt
外,还有debug
、fast
,具体的含义可以参考官方文档。
运行gem5
以gem5自带的测试程序为例,运行gem5的命令为:
1 | $ build/X86/gem5.opt \ |
其中,--cpu-type
参数指定了使用的CPU类型,--caches
参数指定了使用的缓存类型,--cmd
参数指定了运行的程序。
运行结果如下图所示:
参考文献
评论
评论插件加载失败
正在加载评论插件