GEM5上的DRAMSim2仅打印刷新命令

问题描述 投票:1回答:1

我已经在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运行。现在我只是得到“刷新......”而不是其他人的评论,但是应该有其他评论也像“读取...”,所有这些都是因为在启动操作系统时有一些读,写,激活。

memory arm gem5
1个回答
0
投票

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

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
© www.soinside.com 2019 - 2024. All rights reserved.