On Mon, Aug 3, 2009 at 2:38 PM, Derek Hower<derek.ho...@gmail.com> wrote:
>
> I see.  Unfortunately this isn't possible at the moment.  In the new
> configuration, there really isn't any notion of "local" because there
> is no longer a generated chip object.  Now Ruby (network included)
> doesn't care where a controller is located and treats them all the
> same.  You configure a multi-chip system by just adjusting latencies
> to reflect off-chip communication.
>
> This of course complicates finding on-chip components.  Here's one
> idea of how to fix this that follows the "keep it generic" philosophy:
>
> 1. Create a Chip class that basically just contains pointers to
> AbstractControllers, e.g.,
>
> class Chip {
> public:
>   void addController(AbstractController* c) { ... }
>   void getControllers(MachineType type) { ... }
>
> private:
>   Vector* m_controllers = new Vector[MachineType_NUM];
> }
>
> 2. Also add a getChip() function to AbstractController.
>
> 3. Then add a function in RubySlicc_ComponentMapping called
> getLocalBroadcast(AbstractController*, MachineType). You'll need the
> ability to reference "this" in SLICC, which I don't think you can
> currently do.
>
> 4. Modify the generated Controller init functions and add lines like:
> m_chip = RubySystem::getChip(m_cfg["chip"]);
> m_chip->addController(this);
>
> 5. Here's the only tricky part - you'll need to add chips to the
> Ruby-lang configuration.  This will involve adding a new attribute to
> NetPort called chip, adding a chip argument to all NetPort subclasses,
> and printing out the actual chip configuration.
>
> Thoughts? If you like this approach I can help you navigate through
> the configuration changes.

I like the fact that Ruby no longer enforces the notion of a "chip",
and I'm hesitant to see us add one back in, even if it's optional.
I'd prefer to see something that at least has the appearance of
providing support for an arbitrarily deep generic hierarchy, even if
it's just a matter of changing the name Chip to Domain or Neighborhood
or something like that.

Steve
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to