On Sun, 19 Aug 2012, Joel Hestness wrote:
On Sun, Aug 19, 2012 at 6:17 PM, Nilay Vaish <[email protected]> wrote:
On Sun, 19 Aug 2012, Joel Hestness wrote:
Hey guys,
Is there any reason why the mem_bus_cycle_multiplier parameter is defined
in MemoryControl.py and not just in the derived class in
RubyMemoryControl.py? With the changes to abstract the memory controller,
this specific parameter seems very out of place.
You don't describe why you think it is out of place. Since it acts as the
cycle period for the memory controller, why would it matter if the
parameter is part of the abstract memory controller? Any derived memory
controller will also have some cycle period.
It's not really clear where the line was drawn for including this
parameter. The mem_bus_cycle_multiplier isn't used in the abstract class
MemoryControl, and it's not clear that you would want to use it in every
implementation of a memory controller. In fact, you'd probably want to be
able to set the frequency of the memory controller independently of the
Ruby frequency (i.e. not based on a cycle multiplier).
I am waiting for Andreas to commit the clocked objects patch. I am hoping
we would migrate most of the structures in Ruby to being ClockedObjects,
so that each of them can have an independent frequency.
That said, it is likely that the MemoryControl class will inherit from the
ClockedObject class, which means that it is the abstract class which will
have the frequency parameter.
The way bus cycle multiplier is used currently, it seems independent of
Ruby's frequency. Take a look at the function wakeup().
This parameter seems very out of place because all of the other parameters
specific to the old Ruby memory controller are specified in the
newly-introduced derived class, RubyMemoryControl. Is there any particular
reason why we've just chosen mem_bus_cycle_multiplier to have in the
abstract class?
Brad or may be Nuwan can better answer that question.
--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev