0%

运行并使用gem5

运行使用gem5

使用gem5进行模拟实验

准备工作

直接使用官方给出的ubuntu18.04的docker镜像进行试验,相关依赖都已经安装:

1
2
sudo apt install docker.io
sudo docker pull ghcr.io/gem5/ubuntu-18.04_all-dependencies

把docker运行起来,并将gem5编译运行:

1
scons ./build/X86/gem5.opt -j72

完成编译后,就可以在build/X86目录下找到gem5.opt这个可执行文件,准备工作到此完成。

如何使用gem5运行自己写的负载

gem5可以把自己写的程序模拟并运行起来,常见的我们并不会使用全系统(意味着需要提供linux镜像)进行测试,更多的会使用se模式进行测试,下面给出了一段se模式下的模拟测试指令:

1
./build/X86/gem5.opt --outdir=./m5out ./configs/example/se.py --mem-size=16GB --cpu-clock=1GHz --l1d_size=32kB --l1i_size=32kB --l2_size=512kB --l3_size=8MB --mem-type=SimpleMemory --cpu-type=DerivO3CPU --caches --l2cache --l3cache --num-cpu=4 --cmd=./benchmark/microbench/sps/sps --options="100000 32 64"

其余的参数代表了se系统各个部分的参数配置,其中–cmd后接的参数为自己的可执行文件,–options后接的是可执行文件的命令行参数。

如何在gem5中添加自己的模块延迟