Re: [Gems-users] Can magic_breakpoint stop OPAL from running


Date: Tue, 26 Jan 2010 15:37:01 +0800
From: "dongjianbo" <dongjianbo@xxxxxxxxx>
Subject: Re: [Gems-users] Can magic_breakpoint stop OPAL from running
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@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→]