[Gems-users] Strange Ruby statistics


Date: Mon, 31 Jul 2006 13:40:38 +0200
From: "Daniele Bordes" <daniele.bordes@xxxxxxxxx>
Subject: [Gems-users] Strange Ruby statistics
Hi all. I am trying to use tester.exec with some trace-files to test
the simulator and MOESI_CMP_NUCA  protocols. Well, as I have written
in the forum many other times, some statistics printed by ruby seems
to be very strange, in particular those regarding L2_hits and L2
allocations.
So I am trying to simplify the trace-driven simulation:  in
particular, I am trying to

1) force simulator to process all events after the last reference in trace file



2)

Well, I have a question: may someone explain me in detail what the
following function does?

void TraceRecord::issueRequest() const
{
 // Lookup sequencer pointer from system
 AbstractChip* chip_ptr =
g_system_ptr->getChip(m_node_num/RubyConfig::numberOfProcsPerChip());
 assert(chip_ptr != NULL);
 Sequencer* sequencer_ptr =
chip_ptr->getSequencer(m_node_num%RubyConfig::numberOfProcsPerChip());
 assert(sequencer_ptr != NULL);

 CacheMsg request(m_data_address, m_type, m_pc_address,
AccessModeType_UserMode, 0, PrefetchBit_Yes, 0, false);

 // Clear out the sequencer
 while (!sequencer_ptr->empty()) {
   g_eventQueue_ptr->triggerEvents(g_eventQueue_ptr->getTime() + 100);
 }

 sequencer_ptr->makeRequest(request);

 // Clear out the sequencer
 while (!sequencer_ptr->empty()) {
   g_eventQueue_ptr->triggerEvents(g_eventQueue_ptr->getTime() + 100);
 }
}

Another question:  what if I substitute the second call to
triggerEvents with a call to triggerAllEvents() ?

Sorry to be a nuisance.
Thank you very much.
[← Prev in Thread] Current Thread [Next in Thread→]