Thank you, Phil That is a good suggestion,
I will try to make the OPAL capable of recognizing the Magic-instrution,
and then call the halt simulation micro.
Thank you, again.
2010-01-26
Jianbo DONG
Key Laboratory of Computer System and Architecture,
Institute of Computing Technology, Chinese Academy of
Sciences,
发件人: Philip Garcia
发送时间: 2010-01-26 16:12:12
收件人: Gems Users
抄送:
主题: Re: [Gems-users] Can
magic_breakpoint stop OPAL from running
I'm pretty sure the magic breakpoint SHOULD be
ignored by opal when you're running, however in practice, I've seen it cause
problems with the execution of applications. My tests are all on the bagle
platform, so your results could differ, but I've had situations where a magic
breakpoint causes the simulated application to get stuck in an infinite loop, no
longer making forward progress. Therefore, I would recommend having
applications that execute magic_breakpoint instructions when ruby/opal are
loaded. The easiest way to stop ruby/opal's execution is to insert a
regular magic instruction (with a value that isn't used in both ruby/opal
currently) and have that value call opal's halt simulation macro (I think
there's on built into opal, if not it's not too hard to add one).
Phil
On Jan 26, 2010, at 1:06 AM, dongjianbo wrote:
Hi, all
We know the magic-breakpoint
will stop running of SIMICS, like pressing Ctrl+C. However, if we
load RUBY and OPAL for timing simulation, does the magic-breakpoint still
work?
Thanks.
2010-01-26
Jianbo DONG
Key Laboratory of Computer System and
Architecture,
Institute of Computing Technology, Chinese Academy of
Sciences,
发件人: Dan Gibson
发送时间: 2010-01-25
22:54:35
收件人: Gems Users
抄送:
主题: Re: [Gems-users] how to squash memory
access if mispredicted
Ruby's request is /not/ terminated on a squash.
The request is serviced, despite it having been a false-path request. When the
request is finally serviced by Ruby, Opal simply ignores the arrival of the
line at the L1D.
If you want to see the code, follow the execution path
by grepping for 'hitCallback'. It should start in
OpalInterface.h.
Regards, Dan
On Mon, Jan 25, 2010 at 5:49 AM, shanshuchang <shanshuchang@xxxxxxxxx> wrote:
Hi all,
I have a problem about how does OPAL module handles the
mispredict memory access.
Considering a LD instruction that has already called RUBY when it
is detected to be in wrong control flow.
Here “squash” is involved to squash the pipeline. I am wondering
how is the under executing LD instruction squashed in detail, especially how
the ruby request is terminated.
Thanks in advance!
Regards
shuchang _______________________________________________ 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!
_______________________________________________ Gems-users
mailing list Gems-users@xxxxxxxxxxxhttps://lists.cs.wisc.edu/mailman/listinfo/gems-usersUse
Google to search the GEMS Users mailing list by adding
"site:https://lists.cs.wisc.edu/archive/gems-users/" to your
search.
|