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

Reply via email to