[Gems-users] Understanding opal scheduling


Date: Mon, 25 Sep 2006 14:13:05 -0400
From: Aniket Dilip Naik <aniket@xxxxxxxxxxxxx>
Subject: [Gems-users] Understanding opal scheduling
Hi,

I just started working with GEMS, and was trying to understand in which
function the resource availability is checked and instructions
scheduled. Specifically, I am initially trying to count the number of
pipeline stalls caused due to the unavailability of 1. ROB entries and
2. Store queue entries.

Is this the the function where all of the resources are checked before
scheduling?

dynamic_inst_t *iwindow_t::scheduleInstruction( void )
{
  // make sure instruction window is not full
  if( rangeSubtract(m_last_scheduled, m_last_retired) >= (int32)
m_win_size)
    return NULL;

  // calculate the next slot in the window (wrap around)
  m_last_scheduled = iwin_increment(m_last_scheduled);

  // return instruction
  return (m_window[m_last_scheduled]);
}

I was wondering where the load/store queue occupancy was checked. I
would appreciate any help.

thanks,

Aniket


[← Prev in Thread] Current Thread [Next in Thread→]