Hello,
Probably, in your rubyconfig.defaults file (or in your command line setting
of parameters) you have line such as
SIMICS_RUBY_MULTIPLIER: 2
Change it to
SIMICS_RUBY_MULTIPLIER: 1
then you should have the Simics and Ruby cycles the same. GEMS authors
will tell you better than I do, but if I understood well form the code
one Simics passes a memory access to Ruby, Ruby stores the corresponding
messages resulting from the access in its Event queue and return the control
to Simics and Simics actually wakes Ruby cycle by cycle (these cycles
are the cycles of Ruby Event Queue) until Ruby returns a stall value and
unstall Simics functionality. So each time Ruby return control to
Simics, it tells Simics to count SIMICS_RUBY_MULTIPLIER cycles. Thus, each
cycle of Ruby Event Queue corresponds to SIMICS_RUBY_MULTIPLIER Simics
cycles. As a result setting this parameter to 1,you will have both cycles
counting the same.
I hope this is a correct explanation and will help to solve your problem.
Derin Harmanci
Quoting xiaox@xxxxxxxxxx:
> hi,
>
> I want to use the ruby_cycles as my performance metric. However, I observe
> that
> ruby_cycles is different from the number of cycles I counted through Simics?
> Why is that? I suppose ruby always return its latency to Simics. So I should
> have the same number of cycles on both sides. And the simics cycles is
> almost
> twice as the ruby cycles. Can anyone explain to me how ruby counts its
> cycles?
>
> many thanks,
>
> btw, I am using gems1.1 with simics-2.0.28
>
>
> _______________________________________________
> 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.
>
>
|