anonymous <spamfolder3 <at> gmail.com> writes:

> 
> Hi, 
> 
> I have a question about cache block locations. 
> 
> I have a C struct with 2 integer members
> 
> I have an array of these structs. 
> I am accessing the array and subsequently
> the data members
> 
> Now I am catching the pkt as they come into 
> timing request in cache_impl.hh file. 
> 
> When I print out the data location
> through the total length of the block
> I see each data member coming in its own block
> 
> this is surprising to me since they are both
> part of the same struct. 
> 
> Additionally I printed the memory address of both
> and they are not remotely near each other
> 
> How is this possible? 
> How does gem5 store arrays and member variables?
> 
> Thanks for any help
> 


To make this more clear 
I print out the dataPtr() of the packet

These are the 64 byte blocks printed out
and the starrting address of the block

I have the two members set to 
int 100 
and int 200 which you can see

c80000000  --0x6859050
00000000  
0e18360000  
210000000  
ff1f00ff700  
11040000  
70c08760000  
310000000  

640000000  --0x68731a0
68675340000  
402a5c60000  
210000000  
1038760000  
387d5340000  
b0988360000  
210000000  

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to