On Fri, 4 Mar 2011, sunitha p wrote:
thank u very much...for ur reply
to give the work in detail..
1. in allocateBlock ( ) ---> after finding a victim block for replacement
and before its checked for dirty(), an invalidating function is called with
the block
2. invalidating ( ) ----> am generating a new packet with a new command ,
with the victim blk's tag and address and sending across
cpuSidePort->sendTiming(inv_pkt);
3. when it goes to handlesnoop ( )
- am finding the block :
if(packet == new command)
{
BlkType *blk = tags->findBlock(pkt->getAddr());
if(blk && blk->isValid())
{
if(blk->isDirty() )
{
allocateWriteBuffer(writebackBlk(blk), time, true);
}
tags->invalidateBlk(blk);
}
}
the error nw i got is
m5.debug: build/ALPHA_SE/sim/eventq.hh:490: void
EventQueue::schedule(Event*, Tick): Assertion `!event->scheduled()' failed.
Program aborted at cycle 999131000
Aborted
it works fine, if i dnt consider the dirty blocks.
am not able to get this error..help me..
On Fri, Mar 4, 2011 at 10:40 PM, Nilay Vaish <[email protected]> wrote:
On Fri, 4 Mar 2011, sunitha p wrote:
Hi,,,
thanks for ur immediate reply...
actually..am trying to put inclusion property between L1 and L2...
When i find a victim block for replacement in L2..am trying to invalidate
the same block in L1, if present...to satisfy the property.
its working fine, if blocks of L2 are valid and Valid but not dirty in
L1..
But if it valid in L2 and its valid and dirty in L1..and if i try to
invalidate the block, even after putting the block of L1 into
writebuffer....getting errors..at some stage.
Some stages invalidation is done even if the block in L1 is dirty...want
to
know the reason
Can u help me out..plss?
Can you mention the file names for these functions?
Nilay
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users