------When c5fc0 misses (block_aligned of c5fd0)
872000: system.cpu0.dcache: WriteReq c5fd0 miss
873000: system.cpu0.dcache: getTimingPacket WriteReq for address c5fd0 size 8
873000: system.cpu0.dcache: getBusPacket created ReadExReq address c5fc0 size 32
914000: system.cpu0.dcache: ReadExResp addr: c5fc0 data : 0 size 32

***Isn't there a WriteResp here, perhaps there isn't a print on this path, but 
the request is for 8 bytes. 

------When c5fc0 hits
1016000: system.cpu0.dcache: access for WriteReq address c5fc0 size 8
1016000: system.cpu0.dcache: WriteReq c5fc0 hit state: f (M) valid: 1 writable: 
1 readable: 1 dirty: 1 tag: 31 data: 0
1016000: system.cpu0.dcache: WriteResp addr: c5fc0 data : ac size 8

Ali


On Jun 16, 2013, at 9:54 PM, biswabandan panda <biswa....@gmail.com> wrote:

> Hi Ali,
> I did understand the flow from other caches to L1 and why the data needs to 
> be kept consistent. But I am asking about the case when the response is from 
> L1 to CPU. It seems (from my previously mentioned example) that when there is 
> a store hit, the data that is being sent from L1 to CPU is of 8 bytes and 
> when a miss occurs,  it is  of 64 bytes. What you send to the CPU, should it 
> not be independent of cache? Is the CPU making use of the data that is sent 
> from Cache in case of store request? Thank you once again for your time.
> 
> 
> 
> On Mon, Jun 17, 2013 at 1:30 AM, Ali Saidi <sa...@umich.edu> wrote:
> Remember that the cache much coherently update the line. The request in 8 
> bytes, but line is likely 64 bytes. In the case of a miss the cache that is 
> handling the write (L1) must get the entire line and replace the 8 bytes, 
> otherwise any other data in the line would be incorrect. In the case of a hit 
> the data is written into the line, in the case of a miss the line is 
> requested from another cache or the memory system with exclusive access 
> permission and then the write completes.
> 
> Thanks,
> Ali
> 
> 
> On Jun 16, 2013, at 12:15 PM, biswabandan panda <biswa....@gmail.com> wrote:
> 
>> Hi Ali,
>>         
>>   I have been trying to track store requests and responses between processor 
>> and cache.
>> There is a case
>> When there is a write hit, the response from dcache to processor is 
>> writeResp with size 8 and no new data is copied into the packet.
>> If write miss, the response from dcache to procesor is readExResp with size 
>> 32 (assuming block size is 32) and data which is got by filling the cache.
>> 
>> Example:
>> ------When c5fc0 misses (block_aligned of c5fd0)
>> 872000: system.cpu0.dcache: WriteReq c5fd0 miss
>> 873000: system.cpu0.dcache: getTimingPacket WriteReq for address c5fd0 size 8
>> 873000: system.cpu0.dcache: getBusPacket created ReadExReq address c5fc0 
>> size 32
>> 914000: system.cpu0.dcache: ReadExResp addr: c5fc0 data : 0 size 32
>> ------When c5fc0 hits
>> 1016000: system.cpu0.dcache: access for WriteReq address c5fc0 size 8
>> 1016000: system.cpu0.dcache: WriteReq c5fc0 hit state: f (M) valid: 1 
>> writable: 1 readable: 1 dirty: 1 tag: 31 data: 0
>> 1016000: system.cpu0.dcache: WriteResp addr: c5fc0 data : ac size 8
>> 
>> Will it not affect the execution path? When there is a miss, the data that 
>> is sent is different from when there is a hit in the cache -- should it not 
>> depend on cache?
>> 
>> 
>> 
>> On Sat, Jun 15, 2013 at 9:33 PM, Ali Saidi <sa...@umich.edu> wrote:
>> Are you looking at a request or a response. The request very well could not 
>> have any data associated with it, but the response will.
>> 
>> Ali
>> 
>> On Jun 14, 2013, at 1:00 AM, biswabandan panda <biswa....@gmail.com> wrote:
>> 
>>> Hi,
>>>      In an unmodified copy of gem5, I made the data in packet.hh as public 
>>> and tried to print it in schedSendTiming. It shows 0 as value for all the 
>>> packets when I print it using (int)*(pkt->data). 
>>> Is the data that is fetched from cache being sent to cpu? If yes how do I 
>>> track(print) it?
>>> Thank you once again for your time.
>>> 
>>> 
>>> On Fri, Jun 14, 2013 at 11:14 AM, Ali Saidi <sa...@umich.edu> wrote:
>>> Actual data is stored in the caches.
>>> 
>>> Ali
>>> 
>>> On Jun 13, 2013, at 11:49 PM, biswabandan panda <biswa....@gmail.com> wrote:
>>> 
>>>> 
>>>> Hi,
>>>>   I have modified the access function in cache to service a miss as hit 
>>>> even when a particular block is not found. (This is just to collect some 
>>>> statistics). I initially had assumed that gem5 does not store actual data 
>>>> in cache and hence if a request misses at L1, if I just do "insertBlock, 
>>>> memcpy and satisfyCpuSideRequest" and return true so that recvTimingReq 
>>>> follows hit path, there ll be no error except that my simulation results 
>>>> (ipc, misses, hits etc) will not be correct.
>>>> But when I run the same, I get this error
>>>> panic: fault (unalign) detected @ PC (0x120046574=>0x120046578)
>>>> When I googled for this error in one of the replies it says PC value is 
>>>> corrupted. If gem5 did not store any data in cache, I by my code would 
>>>> have modified only the timing parameter. How did this happen? If gem5 
>>>> stores actual data, how do I print it?
>>>> I also get this error for few other benchmarks
>>>> panic: Tried to access unmapped address 0x8.
>>>> 
>>>> 
>>>> Any pointers would be of great help. 
>>>> 
>>>> -- 
>>>> 
>>>> thanks&regards
>>>> BISWABANDAN
>>>> http://www.cse.iitm.ac.in/~biswa/
>>>> 
>>>> “We might fall down, but we will never lay down. We might not be the best, 
>>>> but we will beat the best! We might not be at the top, but we will rise.”
>>>> 
>>>> 
>>>> _______________________________________________
>>>> gem5-users mailing list
>>>> gem5-users@gem5.org
>>>> 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
>>> 
>>> 
>>> 
>>> -- 
>>> 
>>> thanks&regards
>>> BISWABANDAN
>>> http://www.cse.iitm.ac.in/~biswa/
>>> 
>>> “We might fall down, but we will never lay down. We might not be the best, 
>>> but we will beat the best! We might not be at the top, but we will rise.”
>>> 
>>> 
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-users@gem5.org
>>> 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
>> 
>> 
>> 
>> -- 
>> 
>> thanks&regards
>> BISWABANDAN
>> http://www.cse.iitm.ac.in/~biswa/
>> 
>> “We might fall down, but we will never lay down. We might not be the best, 
>> but we will beat the best! We might not be at the top, but we will rise.”
>> 
>> 
>> _______________________________________________
>> gem5-users mailing list
>> gem5-users@gem5.org
>> 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
> 
> 
> 
> -- 
> 
> thanks&regards
> BISWABANDAN
> http://www.cse.iitm.ac.in/~biswa/
> 
> “We might fall down, but we will never lay down. We might not be the best, 
> but we will beat the best! We might not be at the top, but we will rise.”
> 
> 
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> 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