Re: [Gems-users] GEMS state transition problem


Date: Mon, 22 Jan 2007 13:21:40 -0600
From: "Lei Yang" <lya755@xxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] GEMS state transition problem
Hongxia, thanks a lot for your reply! L2_MigrationDone is L2_SomeOtherEvent. If these two events happen in one cycle, the state transition will be a mess, right? My current understanding is that state transitions only take place in the next cycle after the event is posted, is that correct? So in the current cycle, state has not changed yet, and therefore some other event won't cause another state transition.
 
Thank you,
Lei
----- Original Message -----
Sent: Sunday, January 21, 2007 11:51 PM
Subject: Re: [Gems-users] GEMS state transition problem

"L2_MigrationDone" is "L2_SomeEvent" or "L2_SomOtherEvent"?
When does the "L2_SomeEvent" and "L2_SomeOtherEvent" happen?
Please pay attention that the transition "1635   1   0    L2Cache  L2_SomeEvent  L2_NP>L2_IM  [0x400, line 0x400]" happened at time 1635.
While the invalid transition also try to happen at time 1635 "Warning: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, const Ad
dress&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1652: g_eventQueue_ptr->getTime() is 1635".
At cycle 1635, the cache line state keeps as L2_NP but not L2_IM, therefore, event "L2_MigrationDone" cause an invalid transition.




 
在07-1-22,Lei Yang <lya755@xxxxxxxxxxxxxxxxxxxx> 写道:
Dear list,
 
I've been working on a new protocol and I was trying to add new transitions in the MSI_MOSI_CMP_directory protocol like this:
 
transition({L2_I, L2_NP}, L2_SomeEvent, L2_IM) {
    someAction;
}
 
transition(L2_IM, L2_SomeOtherEvent, L2_M) {
    someOtherAction;
  }
However, when testing with a simple trace, I found that although the state of a line appears to have changed from L2_NP to L2_IM, later on when L2_SomeOtherEvent occurs, it refuses to change its state to L2_M and complains about still being in state L2_NP and hence invalid transition, as follows:
 
      1635   1   0    L2Cache  L2_SomeEvent  L2_NP>L2_IM  [0x400, line 0x400]
Warning: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, const Ad
dress&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1650: m_id is 1
Warning: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, const Ad
dress&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1651: m_version is 0
Warning: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, const Ad
dress&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1652: g_eventQueue_ptr->getTime() is 1635
Warning: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, const Ad
dress&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1653: addr is [0x400, line 0x400]
Warning: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, const Ad
dress&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1654: event is L2_MigrationDone
Warning: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, const Ad
dress&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1655: state is L2_NP
Fatal Error: in fn TransitionResult L2Cache_Controller::doTransitionWorker(L2Cache_Event, L2Cache_State, L2Cache_State&, cons
t Address&) in generated/MSI_MOSI_CMP_directory/L2Cache_Transitions.C:1656: Invalid transition
 
I wonder what else is needed to change the state of a line in addition to the transition() statement. Have anyone met with this problem before? Please advice!
 
Thanks a lot!!
 
Lei

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site: https://lists.cs.wisc.edu/archive/gems-users/" to your search.




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