Hi Marco,
Marco Solinas wrote:
Hi all,
in the Sequencer.C file, what does
the TSO flag means (it is checked in many functions)?
The TSO flag is intended to emulate the timing of the TSO memory model
with a store buffer. I say "emulate" because Simics forces sequentially
consistent executions, so Ruby can only "fake" TSO timing. It is not a
widely popular flag.
In the makeRequest function, if I
want to count the number of L1 misses, is it enought to check return
value of the doRequest() call?
If Fast Path hits are enabled, doRequest will return TRUE on L1 hits.
If "Fast Path" is disabled (aka the L1s are in SLICC), then doRequest
won't return true, even on an L1 hit. If your protocol does not use the
Fast Path flag, it might be easier to count L1 misses in the Profiler
instead of the sequencer.
How do I have to take into account
the previous if branch?
If by branch you mean control-transfer instruction, the answer is no.
As it involves the TSO flag, I can't
understand how to manage this case.
If the TSO flag is ON and the access is a store AND there is room in
the store buffer then makeRequest() will return early with a "fast
path" hit, to emulate the timing of a store buffer. If you haven't
turned TSO on, there is no reason to worry about this case.
There is a instance of Sequencer for
each CPU, is it correct? If no, what does the m_version field of the
class Sequencer means?
There is an instance of the sequencer for every CPU.
Is there a better way to count the
number of L1 misses different from checking the doRequest() return
value?
If your protocol uses fast path hits, then the Sequencer is a great
place. Otherwise, you might want to have a look at Profiler.C. Some
protocols actually don't make the right calls into the profiler, but
profiling calls are not difficult to add.
Thank you for your attention.
Marco
Regards,
Dan
_______________________________________________
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.
|
|