Re: [Gems-users] question on time in eventqueue


Date: Tue, 30 Jan 2007 17:58:41 -0600 (CST)
From: Mike Marty <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] question on time in eventqueue
The tester doesn't execute instructions.  It only generates loads/stores
to the memory system.

--Mike


> Thanks Mike! I checked the Profiler.C code and found
> that "instruction_executed" is obtained by the following:
>
>  for(int i=0; i < RubyConfig::numberOfProcessors(); i++) {
>     perProcInstructionCount[i] = g_system_ptr->getDriver()->getInstructionCount
> (i) - m_instructions_executed_at_start[i] + 1;
>     // The +1 allows us to avoid division by zero
>   }
>
> I then looked into getInstructionCount, which is defined in Driver.h as:
>
> virtual integer_t getInstructionCount(int procID) const { return 1; }
>
> That being said, the instruction count for each processor is always 1. I used
> the Ruby Tester and verified MSI_MOSI_CMP_directory protocol; I found that
> indeed instruction_executed is always 1 for each processor. The following is
> the result from running a 4 processor simulation.
>
> instruction_executed: 4 [ 1 1 1 1 ]
> cycles_per_instruction: 31300 [ 31300 31300 31300 31300 ]
> misses_per_thousand_instructions: 40000 [ 38000 40000 40000 42000 ]
>
> I'm wondering if this is a bug in Ruby Tester or did I miss something? I do
> need to know the exact number of instructions executed on each processor from
> Ruby when I use the Ruby Tester. If "getInstructionCount" is not functioning
> correctly, how should I fix it? Please advice!
>
> Thanks in advance for your help!
>
> Lei
> ----- Original Message -----
> From: "Mike Marty" <mikem@xxxxxxxxxxx>
> To: "Lei Yang" <lya755@xxxxxxxxxxxxxxxxxxxx>
> Cc: "Gems Users" <gems-users@xxxxxxxxxxx>
> Sent: Friday, January 26, 2007 10:07 AM
> Subject: Re: [Gems-users] question on time in eventqueue
>
>
> > >
> >> One other question is (may seem unrelated, sorry),  is there an easy way in
> >> ruby to find out the instruction count of one processor?
> >>
> >
> > See where Profiler.C outputs "instruction_executed".  There should be a
> > per-processor count kept track in the Profiler
> >
> >
>
> _________________________________________________________
> This message was sent through the NU ECE webmail gateway.
>
[← Prev in Thread] Current Thread [Next in Thread→]