Hello, Clay.
Let me answer your questions individually, below.
At 08:37 AM 11/30/2005 -0500, you wrote:
Hello everyone,
I've got several questions about the output from the Ruby module so I'll
just list them below.
-Is the L1 instruction cache assumed to be perfect?
If by "perfect" you mean zero-cycle latency, then yes. This is the default
setting for Ruby. However, this can be turned off by editing the
ruby/config/rubyconfig.defaults and setting
REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH to true, and then selecting L1
parameters in the same file to suit your needs.
The L1 is *not* infinite in size.
-Is there a performance metric in the Ruby output? One can't use number
of cycles or CPI when comparing different cache implementations because
the number of instructions is different and the ruby cycle time appears
to be a function of the simulation time.
Actually, the count of Ruby_cycles is the performance metric in Ruby. It is
true that they are proportional to the simulation time, but simulation time
(host execution time) is proportional to simulated time (target execution
time).
-Why is the instruction count different if the simulation starts from
the same checkpoint and terminates at the same flag? It is, of course,
the same if you run the same model repeatedly. However, if the cache
size is changed from 1MB L2 to, say, 8MB L2 then the instruction count
changes.
Are you reporting a value from Simics or from Ruby? Ruby_cycles is the
measure of simulated time required, so it will definitely change with
changing cache parameters. If you're talking about Ruby_cycles, that is the
explanation.
Also, are you simulating simulations multiprocessor or single processor
systems?
Thanks in advance,
Clay
Regards,
Dan
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
|