Re: [Gems-users] Read and write misses


Date: Wed, 12 Oct 2005 10:07:50 -0400
From: <adash@xxxxxxx>
Subject: Re: [Gems-users] Read and write misses
Thanks Mike,
I did as suggested however the counter for the read/write miss
counts increment even before the actual simulation starts
( i.e. when I type "c" on the simics prompt) which means the
Sequencer:issueRequest() gets called even before the actual
instructions in a binary file(used for simulation) are
executed. That shouldn't be the case right?

Second question is I use following code snippet to count the
read and write misses inside the function I have declared in
Sequencer( but called in Profiler.C). I would like to know if
it covers all the cases for counting read/write misses

if(!hit &&(request.getType()== CacheRequestType_LD ||
request.getTYpe()== CacheRequestType_IFETCH)){
return CACHE_RD_MISS;// For read misses
}

if(!hit &&(request.getType()== CacheRequestType_ST ||
request.getTYpe()== CacheRequestType_ATOMIC)){
return CACHE_WR_MISS;// For write misses
}

hit is defined just as in Sequencer::doRequest()

-Alokika

---- Original message ----
>Date: Mon, 10 Oct 2005 13:50:39 -0500 (CDT)
>From: Mike Marty <mikem@xxxxxxxxxxx>  
>Subject: Re: [Gems-users] Read and write misses  
>To: adash@xxxxxxx
>Cc: Gems Users <gems-users@xxxxxxxxxxx>
>
>Yes, you can call your function inside the Sequencer instead
of SLICC.
>
>A sequencer is already created for each processor.  Call your
function
>like this:
>
>g_system_ptr->getProfiler()->miss_profile(msg,
>m_chip_ptr->getID()*RubyConfig::numberOfProcsPerChip()  +
m_version));
>
>Where to add it?  You should be able to add this inside of
>Sequencer::issueRequest
>
>--Mike
>
>
>
>> I'm planning to add a function:
>> void miss_profile(const CacheMsg& msg, NodeID id) in
>> Profiler.C to account
>> for read and write misses. Also, I noticed that a function in
>> Sequencer.C
>> (doRequest(const CacheMsg& request)) that can be used to find
>> out a cache
>> hit and hence read or write miss. I have the following
questions:
>> o How do I access doRequest() inside Profiler.C (Do I need to
>> instantiate a Sequencer object ?)
>> o Is this the right way of finding out miss statistics -or- is
>> there any
>> other way to calcuate the same inside Profiler.C ?
>>
>> ---- Original message ----
>> >Date: Mon, 10 Oct 2005 10:40:08 -0500 (CDT)
>> >From: Mike Marty <mikem@xxxxxxxxxxx>
>> >Subject: Re: [Gems-users] Read and write misses
>> >To: adash@xxxxxxx, Gems Users <gems-users@xxxxxxxxxxx>
>> >
>> >You will need to add some code to do this.  First, modify
>> >ruby/profiler/Profiler.C and Profiler.h to add a function to
>> track the
>> >read and write misses in which you can pass the processor ID.
>>  To hook
>> >this up to SLICC, you will also need to add a function to
>> >ruby/slicc_interface/RubySlicc_Profiler_interface.[Ch] to
>> access the
>> >function you added to the Profiler object.  Finally add
the same
>> >definition to the RubySlicc_Profiler_interface.sm file in the
>> protocols
>> >directory.
>> >
>> >Then in the SLICC protocol specification, you will need to
>> call your new
>> >function passing the "machineID" variable (which is of type
>> MachineID)
>> >when a miss occurs.  To extract a processor number (starting
>> with P0) from
>> >the MachineID in the C++ function, dereference the "num"
field of
>> >MachineID (like id.num).
>> >
>> >--Mike
>> >
>> >
>> >> Hi,
>> >>
>> >>  I am interested in finding out the number of read and write
>> >> misses(separately)on the system bus generated for a single
>> >> processor (when the snoop controller probes the Cache
because
>> >> of these misses)
>> >>
>> >> I would like to know the following for that.
>> >> How to I differentiate one processor from other ...(Is
is from
>> >> some proc_id)
>> >> How to I link GETS and GETX to the read and write misses and
>> >> where do I modify the code?
>> >>
>> >> In the Ruby Dump stats file I have event counts Own_GETS,
>> >> Other_GETS .....Is it something relevant to the read and
>> >> misses that I want monitor?
>> >>
>> >> -Alokika
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> Gems-users mailing list
>> >> Gems-users@xxxxxxxxxxx
>> >> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>> >>
>> ***********************************
>> Alokika Dash
>> Academic Adviser(LTSC)
>> Graduate Student
>> ECE Department
>> University of Maryland,College Park
>> ***********************************
>>
[← Prev in Thread] Current Thread [Next in Thread→]