如何运行 没有缓存的fs模式下的Gem5模拟器?

How to run Gem5 simulator in fs mode without cache?

我可以 运行 fs 模式下的 gem5,但现在我想从系统中删除缓存。那么我需要在 gem5/configs/example/fs.py 文件中做哪些更改才能成功删除缓存和 运行。

缓存默认禁用,使用--caches --l2cache启用它们

那么问题就归结为如何观察缓存是打开还是关闭了。

我试过以下方法:

  • 调查m5out/config.ini.

    该文件包含以树形式表示的系统配置。

    以下条目仅在我们传递缓存标志时出现:

    [system]
    children=l2
    
    [system.cpu]
    children=dcache icache
    
  • 运行 一些带缓存和不带缓存的基准测试,请注意它们在没有缓存的情况下速度较慢。

    这里有一些例子:https://github.com/cirosantilli/linux-kernel-module-cheat/tree/f3503b4cc810556df3c736d0a147cc54e05efc83#gem5-cache-size

  • 查看 Linux 内核特殊文件系统,如 /sys

    不幸的是,目前无法使用:Why doesn't the Linux kernel see the cache sizes in the gem5 emulator in full system mode?

缓存对默认 ARM 没有太大影响 --cpu-type=AtomicSimpleCPU

您可能想使用 --cpu-type=HPI

HPI 更详细,这使得模拟速度较慢。

TODO 更详细地了解 AtomicSimpleCPU,以及为什么缓存在那里无关紧要。

TODO 检查 X86 DerivO3CPUAtomicSimpleCPU。屏蔽日期:https://github.com/cirosantilli-work/gem5-issues/issues/2