Before the cpu starts executing the code in src/base/loader/* loads the binary into memory (the instructions) and the code in src/arch/**/process.cc builds up a stack frame as appropriate for the architecture/OS that you're simulating.
Ali On 05.02.2013 18:22, Tao Zhang wrote: > Hi Yinchong, > > I am not quite sure the exact meaning of "memory initialization" you mentioned (DRAM initialization steps? or Data initialization). If you care about how data is accessed by the gem5, I may give you some clue. > > In SE mode, your host machine first allocates a large memory space for your benchmark. The data is actually in this memory space. Gem5 remembers the starting address so that it knows where the data should be read from or written to your host machine. On the other hand, the virtual main memory only behaves like a timing model but never stores the real data. As a result, it seems the data has been initialized prior to the simulation. > > -Tao > > On 02/05/2013 01:06 PM, Yinchong Feng wrote: > >> I think that it's Main Memory. >> It shows like below: >> >> 0: 0: system.physmem: Write of size 4096 on address 0x0 >> 0: system.physmem: 00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 ELF >> 0: system.physmem: 00000010 02 00 28 00 01 00 00 00 34 9c 00 00 34 00 00 00 ( 4 4 >> 0: system.physmem: 00000020 f0 c2 09 00 02 00 00 05 34 00 20 00 08 00 28 00 pB 4 ( >> 0: system.physmem: 00000030 14 00 12 00 06 00 00 00 34 00 00 00 34 80 00 00 4 4 >> 0: system.physmem: 00000040 34 80 00 00 00 01 00 00 00 01 00 00 04 00 00 00 4 >> 0: system.physmem: 00000050 04 00 00 00 04 00 00 00 38 01 00 00 38 81 00 00 8 8 >> 0: system.physmem: 00000060 38 81 00 00 20 00 00 00 20 00 00 00 04 00 00 00 8 >> 0: system.physmem: 00000070 04 00 00 00 07 00 00 00 d4 d6 07 00 d4 d6 08 00 TV TV >> >> Do you have any idea? >> Thanks, Yinchong >> >> 2013/2/5 Tao Zhang <tao.zhang.0...@gmail.com> >> >>> do you mean cache or main memory? >>> >>> -Tao >>> >>> On 02/05/2013 11:46 AM, Yinchong Feng wrote: >>> >>>> Hi All, >>>> >>>> I'm new at using gem5, and I'm trying to run benchmarks on gem5 in SE mode. I feel confused about the momory initialization in SE mode. When I ran the bianries with debug-flags MemoryAccess, MemDepUnit and MemTest, I saw that the memory was initialized before the real simulation starting. Could you please tell me where the data is from? >>>> >>>> Best regards, Yinchong >>>> >>>> _______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users [1] >>> >>> _______________________________________________ >>> gem5-users mailing list >>> gem5-users@gem5.org >>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users [1] >> >> _______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users [1] > > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users [1] Links: ------ [1] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users