Hi, Mike.
Thanks for your quick response.
I would like to keep my question for details.
// i.e. the number of ports to each controller
// L1cache is the sum of the L1I and L1D cache ports
For example, let's suppose that we have 2 ports(one input and one output) in
L1 cache. Then, should I set L1CACHE_TRANSITIONS_PER_RUBY to 2?
If it is the case, I think it might mean that mandatory queue will be search
twice in a cycle, and generate two requests with different addresses
individually at the same cycle.
Could you check if I go wrong? Thank you.
Regards,
Young
Well it determines how many transitions the L1 Controller will process
in a cycle. For certain protocols, it can be used to approximate bank
contention. However for any protocol that uses recycle, it is pretty
much meaningless and should probably be set to a high value.
It is specifically used in L1Cache_Controller::wakeup() in the generated
L1Cache_Wakeup.C file.
--Mike
Juyoung Jung wrote:
Dear Gems-Users,
Could anyone explain about what the variable
"L1CACHE_TRANSITIONS_PER_RUBY_CYCLE" in
ruby/config/rubyconfig.defaults means?
The comment in rubyconfig file says the below:
// Number of transitions each controller state machines can complete
per cycle
// i.e. the number of ports to each controller
// L1cache is the sum of the L1I and L1D cache ports
The default value is set to 32 for each type of machines such as L1,
L2, and Directory. Shoud I set the exact same number as the defined
ports for this variable?
I am worrying about this variable's role because I could ran
simulation without modifying this variable.
Thank you.
Regards,
Young