Ruby determines the number of executed instructions directly from
simics, via the SimicsDriver via SimicsProcessor via the Simics
interface (I believe the API call is SIMICS_get_instrucition_count).
Ruby's profiler adds 1 to the reported number so it is safe to use as a
divisor elsewhere (eg. no divide-by-zero). Hence, running 3 instructions
=> Ruby reports 4 instructions.
Regards,
Dan
mehmetderin.harmanci@xxxxxxx wrote:
Hello all,
I was trying to start a simulation and I have figured out something which
is
maybe obvious but, I think somewhat misleading (at least for me). The issue
is
the following (I 'll be explaining it on an example):
When I run 3 instructions on the cashew machine (Ultrasparc II processor)
Ruby
counts 4 instructions in its statistics. The difference comes from the fact
that
there is one ldx instruction among the instructions which of course causes
a
data access other than an instruction access and this data access is
counted as
an instruction whereas it is just a memory access.
With this experiment I come to the conclusion that the instruction count
reported by Ruby is just the number of memory accesses (sum of instruction
and
data accesses) and not the number of instructions run. Can somebody confirm
this observation?
Thanks for your attention,
Derin Harmanci.
_______________________________________________
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.
_______________________________________________
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.