# 前言
华中科技大学研究生课程计算机系统设计实验,希望能帮到学弟学妹们
# 安装 Docker
实验文档建议使用 Docker,我之前没有安装过 Docker,因此安装一下。
启用 Hyper-V 和 linux 子系统,应该是可选的只用打开 Linux 子系统。
Windows | Docker Docs 下载 Docker Desktop for Windows
默认安装即可
启动 ubuntu
安装成功
# 测试 GEM5 SE 和 FS 模式,成功运行 PARSEC 2.1 负载
# 测试 SE 模式
启动容器,测试 Gem5 SE 模式
./build/ARM/gem5.opt ./configs/example/se.py -c ./tests/test-progs/hello/bin/arm/linux/hello |
# 测试 FS 模式
可以发现在 /usr/local/src/full_system_images
目录下已有磁盘镜像,且 SysPaths.py
已配置 disk image
完整路径, Benchmarks.py
已修改 image 文件名
运行,输入如下命令:
./build/X86/gem5.opt ./configs/example/fs.py |
此时再开一个终端进入同一个容器,使用 telnet
连接系统
telnet 127.0.0.1 3456 |
# 运行 PARSEC 2.1 负载
M5_PATH=/usr/local/src/full_system_images ./build/X86/gem5.opt ./configs/example/fs.py -n 2 --script=../benchmark/TR-09-32-parsec-2.1-alpha-files/blackscholes_4c_test.rcS --disk-image x86root-parsec.img --kernel x86_64-vmlinux-2.6.22.9.smp |
再打开另一个终端进入同一容器,使用 telnet
连接系统
# 使用 GEM5+NVMain 模拟器构建并模拟一个真实计算机系统并对主存模块仿真
# 混合编译
scons EXTRAS=nvmain ./build/X86/gem5.opt |
# SE 模式非易失性内存仿真
M5_PATH=/usr/local/src/full_system_images ./build/X86/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/x86/linux/hello --caches --l2cache --mem-type=NVMainMemory --nvmain-config=../nvmain/Config/PCM_ISSCC_2012_4GB.config |
结果正确输出了,但是中间有许多 warning 不知道怎么解决
# 在 NVMain 中实现 FPC 压缩方案
# 编译
scons --build-type=fast |
在单独使用 nvmain 的过程中,出现了 gem5_scons 的相关错误,将 nvmain/SConscript 中的第 36 行注释,也就是 from gem5_scons import Transform # 这行注释即可
# 参考
Configure and Run PARSEC-2.1 Benchmark in Gem5 (pfzuo.github.io)
Install and Run GEM5 in Unbuntu 14.04 (pfzuo.github.io)
NVMain 和 Gem5 环境搭建 - 简书 (jianshu.com)
计算机系统设计实验 | 想学打球的菜鸡 (yux20000304.github.io)