Re: [Gems-users] which protocol can I use?


Date: Wed, 26 Mar 2008 12:39:27 -0500
From: "Mike Marty" <mike.marty@xxxxxxxxx>
Subject: Re: [Gems-users] which protocol can I use?
On Wed, Mar 26, 2008 at 4:19 AM, Huan Fang <huanf@xxxxxx> wrote:
>
>  > By default, the *CMP* protocols treat the caches on a single "chip" as
>  > shared.  You can change this behavior by changing the
>  > map_L1Cache_to_L2Cache (or something like that) in
>  > ruby/slicc_interface/ruby_slicc_component_mapping.h.  In fact there
>  > might even be a function called map_L1Cache_to_PrivateL2Cache still in
>  > there.  If not, consider adding it.
>  >
>  > The *SMP* protocols use a single cache controller to model both L1 and
>  > L2 caches.  Hence L2 caches must be private and exclusive with the L1s.
>  >
>  > The *CMP* protocols have more complexity because they support
>  > Multiple-CMP systems.
>  >
>  > I believe there is an SCMP protocol that is for single-chip use.  It
>  > has separate L1 and L2 cache controllers.  You would have to change
>  > the mapping function to make the L2 private.
>  I am interested in this SCMP protocol,what's the difference with *CMP*
>  ones. If we make L2 private, do we need seperate L1 & L2 controllers?
>  maybe it can use single controller like *SMP* protocols?
>

The "SCMP" means that it is not a 2-level coherence protocol, so it
only handles coherence on one chip.

But as someone else pointed out, making the L2 caches private doesn't
really make sense in this protocol because the directory state is
stored in L2 cache tags.

--mike
[← Prev in Thread] Current Thread [Next in Thread→]