在 GEM5 中启用指令缓存预取

问题描述

我注意到在 ARM 提供的 GEM5 完整系统(fs.py)中,HPI cpu 指令缓存没有使用预取器。源代码特别说明 # No prefetcher,this is handled by the core (HPI.py)。

我尝试向 ICache 添加一个预取器来调查这个问题。 config.ini 输出显示预取器确实包含在系统中,但检查 stats.txt 我发现它没有发出任何预取请求。我还花了一些时间阅读核心源代码,但无法识别似乎处理指令预取的任何组件。

我想知道这是为什么。我可以想到指令预取可以使 cpu 性能受益的场景,并且不知道实现它的技术问题。这让我特别困惑,因为系统似乎是为允许使用指令预取而构建的:配置脚本允许从命令行为 ICache 设置预取器,ICache 类派生自 Cache 和所以可以包含一个预取器,而 GEM5 中的预取器有一个 on_inst 属性,据说可以控制指令预取。

谁能解释这背后的逻辑,并可能建议为指令缓存启用预取的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)