GEM5上的DRAMSim2仅打印刷新命令

时间:2018-04-09 10:02:11

标签: memory arm gem5

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

1 个答案:

答案 0 :(得分: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