You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, if we want to schedule an exit event after a certain number of instructions have been executed, we need to use either BaseCPU::scheduleInstStopAnyThread or this. Both methods require scheduling the exit event in advance. However, the current method has two major disadvantages:
It is difficult to achieve a precise global instruction count-based exit for multi-core simulations because we can only schedule these events per core. As a result, the instruction counting is not done as a whole. related mailing list thread
The checkpoint might capture the future exit event and cause an incorrect exit event when restoring the checkpoint. Related mailing list thread. related mailing list thread
Therefore, I believe it is necessary to have a global instruction counter that can trigger an exit event based on actual instruction counting, and the counting should be across multiple cores. This is easily achievable with the probing feature in gem5. I can create a pull request for it, but I still want to discuss about if it is needed since there could also be risks associated with continually adding features.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Currently, if we want to schedule an exit event after a certain number of instructions have been executed, we need to use either BaseCPU::scheduleInstStopAnyThread or this. Both methods require scheduling the exit event in advance. However, the current method has two major disadvantages:
Therefore, I believe it is necessary to have a global instruction counter that can trigger an exit event based on actual instruction counting, and the counting should be across multiple cores. This is easily achievable with the probing feature in gem5. I can create a pull request for it, but I still want to discuss about if it is needed since there could also be risks associated with continually adding features.
Beta Was this translation helpful? Give feedback.
All reactions