Hi Brad,

Yes, the new atomic support also requires the sequencer to have a pointer to
the cache controller. The code that is in the repository now is a hack of
the slicc protocol code generator. The code is inserted in the middle of the
wakeup function in the cache controller. The new uncommited code instead
specifies several functions for the cache controller, so that instead the
Sequencer calls those functions upon encountering atomics. It is better this
way because the Sequencer has much more useful information about the atomic
and so it is easier for it to make a decision.


All in all, the Sequencer needs to call the controller because the atomic
operations block access to a specific cache block for a specific cache
controller. It is harder to block the access anywhere else other than the
cache controller.

Hope this helps.

Polina

On Tue, Dec 1, 2009 at 2:08 PM, Beckmann, Brad <brad.beckm...@amd.com>wrote:

>  Hi,
>
>
>
> This question is mostly for Derek, but I figured that others at Wisconsin
> may be able to answer it as well.  I notice that the current Ruby atomic
> support requires the sequencer to have direct access to its associated L1
> cache controller, rather than just via the mandatory queue.  Derek recently
> told me that he has some changes to how atomics are supported in Ruby.  Does
> that new atomic support also require the sequencer to have a pointer to the
> cache controller?
>
>
>
> The reason I ask is it impacts the new unified configuration support.  We
> can make it work as is, I just wanted to confirm that the effort was worth
> it.
>
>
>
> Thanks,
>
>
>
> Brad
>
>
>
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to