GEM5上的DRAMSim2仅打印刷新命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GEM5上的DRAMSim2仅打印刷新命令相关的知识,希望对你有一定的参考价值。

我已经在fs模式和DRAMSim2内存类型中成功设置了GEM5。我使用的命令是:

build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/prakhar/full_system_2/disks/linux-arm-ael.img --mem-type=DRAMSim2

一切都很好。现在,我在DRAMSim2代码中添加了一些注释来分析代码流并研究命令序列。然后,我再次编译ARM系统以保存更改。

scons build/ARM/gem5.opt

现在,当我再次以fs模式运行gem5 arm时,它只显示了刷新命令的注释。像这样:

6 0----------
refresh...
6 0----------
refresh...
6 0----------
refresh...
6 0----------
refresh...
6 0----------
refresh...
6 0----------
refresh...
6 0----------
refresh...
6 0----------
refresh...
6 0----------

为什么我不能看到其他命令,如ACT,READ,WRITE等。即使在操作系统启动时,也应该进行一些读,写,操作?我在/gem5/ext/dramsim2/DRAMSim2/MemoryController.cpp中添加了评论

在gem5中添加DRAMSim2的步骤:

  1. 转到gem5目录中的ext / dramsim2。
  2. 克隆DRAMSim2:git clone git://github.com/dramninjasUMD/DRAMSim2.git
  3. 通过scons重新构建系统。
  4. 再次以fs模式运行 - 最后添加--mem-type = DRAMSim2。

在ext / dramsim2 / DRAMSim2中有一个文件MemoryController.cpp.In该文件有一个函数update()。有一个不同命令的开关案例,如READ,WRITE,ACTIVATE。在每个命令的相应情况下,我有在阅读案例中添加了cout,如cout <<“read ....”,cout <<“刷新...”用于刷新案例。再次重建系统并使用fs模式和--mem-type = DRAMSim2运行。现在我只是得到“刷新......”而不是其他人的评论,但是应该有其他评论也像“读取...”,所有这些都是因为在启动操作系统时有一些读,写,激活。

答案

我昨天尝试并得到了解决方案。最初我使用的是命令:

build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/prakhar/full_system_2/disks/linux-arm-ael.img --mem-type=DRAMSim2

在这个命令中,默认的cpu类型是AtomicSimpleCpu,它只提供刷新命令。现在我已经指定了cpu类型为TimingSimpleCPU并且它提供了所有命令。

命令是:

build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/prakhar/full_system_2/disks/linux-arm-ael.img --mem-type=DRAMSim2 --cpu-type=TimingSimpleCPU

以上是关于GEM5上的DRAMSim2仅打印刷新命令的主要内容,如果未能解决你的问题,请参考以下文章

GEM5中使用DRAMSim2

gem5+dramsim2

如何刷新其活动的 MenuitemSelected 上的片段?

如何刷新片段上的列表视图

当另一个片段中的数据发生更改时,如何刷新一个片段中的 RecyclerView

HTML代码片段