I'd like to continue this discussion in the gems-users list to allow
others to one day profit from this discussion.
Ruby is returing a large "forever" stall to Simics because Ruby does
not know a priori at memory-request-time what the actual latency will
be. Ruby is *supposed* to be called periodically by Simics to run its
event queue-- obviously under MAI this is not occuring. Ruby always
returns one of two "stall values" directly -- 0 in the case of a
fast-path hit, or 2,000,000 in the case of ANY kind of miss. Ruby will
explicitly unstall Simics from its event queue at a later time to model
the actual timing of the system.
If you want to use Ruby with MAI, we recommend that you have your
MAI-based code call Ruby directly (as in, make Ruby think its running
with Opal) rather than installing Ruby as the timing model for the
physical memory object. Your MAI-based code will also periodically need
to run Ruby's event queue.
Ruby's debug explicity can be changed by varying the debug paramters in
rubyconfig.defaults.
Regards,
Dan Gibson
floydian wrote:
I know you can attach RUBY as a timing model to the
physical memory object in simics. However I am seeing the first fetch
is being stalled forever.
RUBY seems to return a large number back to simics as memory latency
and then nothing happens.
In the case of plain ruby (without MAI) , I see that it still returns a
large value of memory latency back to simics the first time , but the
instruction is tried again after some cycles and then it returns a 0
stall value, after which simics goes ahead and performs the operation.
I dont see that happening in this case though
Any ideas why ?
Also, what is the best wat to debug ruby, if i dont want to use the
trace module. IS there a flag that I can set while compilation that
will print a lot of steps within RUBY ?
thanks
-fl
On 11/19/06, Dan Gibson <degibson@xxxxxxxx> wrote:
I know that it is possible to
use Ruby in conjuction with an MAI-based
out-of-order model -- I recall that it has been done before. Ruby is
not intended to use the MAI interface directly. You will find that
Ruby's interface is sufficiently generic to be useful in many different
interfaces.
Regards,
Dan Gibson
floydian wrote:
Hi,
I was wondering if someone has ever used Ruby with the Simics MAI
model. We already have a lot of code for the MAI model and need to use
RUBY only for better memory model simulation.
I found that Ruby does not directly work with MAI. The first
instruction fetch seems to be stalled forever.
Has anyone ever looked at this ?
I apologise for not using the list, for some reason, my mails are
bouncing from the list
-fl
|
|