Re: [Gems-users] stalling simics


Date: Wed, 02 May 2007 17:03:51 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] stalling simics
Ruby stalls Simics initially by returning a huge number of stall cycles (2 billion if I remember correctly) from the initial request.

The unstall events occur as part of a hitCallback, via the SIMICS_* interface. Grep in interface.C for "stall" and you should find lots of API for stalling and unstalling Simics.

Regards,
Dan

Dave Z. wrote:
--- Mike Marty <mikem@xxxxxxxxxxx> wrote:

If I understand correctly, when Simics encounters
a
data or instruction access, it stalls and passes
the
request to Ruby. Then, Ruby handles the request
(SimicsDriver, SimicsProcessor, Sequencer,
Coherence
Protocol) and returns some number of cycles. When
Simics receives the number of cycles, it waits
until
that many cycles pass and continues simulation.
Please
correct me if I'm wrong.

The model is that Ruby will stall a Simics processor
indefinitely until a
request finishes.  Then it unstalls Simics and
Simics will "replay" the
stalled instruction.  It doesn't actually return the
# of cycles stalled
to Simics.


Thanks for your prompt reply, Mike. Could you please
tell me where Ruby stalls and unstalls Simics? Is it
possible to stall Simics indefinitely and unstall it
in a magic callback, for example?

Thanks,

Dave
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________
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.


--
http://www.cs.wisc.edu/~gibson [esc]:wq!

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