我想用轻量级 CPU 以全系统 (FS) 模式启动 Linux 内核以节省时间,在启动完成后创建一个检查点,然后用更详细的 CPU 恢复检查点以研究基准,如:http: //gem5.org/Checkpoints
但是,当我尝试使用时,-r 1 --restore-with-cpu=
我无法观察到新旧 CPU 之间的周期差异。
我正在研究的衡量标准是缓存大小如何影响基准运行所需的周期数。
我正在使用的设置在以下位置进行了详细描述:为什么 Linux 内核在完整系统模式下看不到 gem5 模拟器中的缓存大小?我正在查看循环计数,因为目前我无法直接使用 Linux 内核查看缓存大小。
例如,如果我使用HPI
带有命令(摘录)的详细而缓慢的模型从头开始启动 Linux 内核:
./build/ARM/gem5.opt --cpu-type=HPI --caches --l1d_size=1024 --l1i_size=1024 --l2cache --l2_size=1024 --l3_size=1024
然后更改缓存大小,随着缓存大小按预期变好,基准测试确实变得更快。
但是,如果我第一次启动时不--cpu-type=HPI
使用 ,它使用更快的AtomicSimpleCPU
模型:
./build/ARM/gem5.opt --caches --l1d_size=1024 --l1i_size=1024 --l2cache --l2_size=1024 --l3_size=1024
然后我创建检查点m5 checkpoint
并尝试恢复更快的 CPU:
./build/ARM/gem5.opt --restore-with-cpu=HPI -r 1 --caches --l1d_size=1024 --l1i_size=1024 --l2cache --l2_size=1024 --l3_size=1024
然后更改缓存大小没有区别:我总是得到与 相同的循环计数AtomicSimpleCPU
,表明修改后的还原不成功。
如果我尝试从 x86 切换AtomicSimpleCPU
到DerivO3CPU
.
邮件列表中相关的旧线程:http: //thread.gmane.org/gmane.comp.emulators.m5.users/14395
测试于:fbe63074e3a8128bdbe1a5e8f6509c565a3abbd4