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.
|
|