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