RE: [Gems-users] about SLICC and Message Buffers


Date: Thu, 3 Mar 2005 17:26:26 -0600
From: "Mike Marty" <mikem@xxxxxxxxxxx>
Subject: RE: [Gems-users] about SLICC and Message Buffers
MessageBuffers are used to communicate between SLICC controllers via
messages in the network.  If you want to use MessageBuffers to communicate
between other types of objects, you can certainly create a SLICC controller
(not used for cache coherence) to encapsulate your objects.  The SLICC
controller for this could use a single state that simply popped messages off
of the queue and did something.  You can also specify the links between
these controllers to be independent from the rest of the system by creating
a custom network file.  

A SLICC controller can have many types of objects that it directly interacts
with.  For example, MOESI_CMP_directory-L2cache.sm has a TBETable,
CacheMemory, and PerfectCacheMemory (to implement a directory).  You can add
your own user-defined types as well.  

Accessing an object located in some other SLICC controller is not easy and
we intended it to be that way.  However internally we have added some syntax
to the SLICC parser to "cheat" by directly accessing objects in other
controllers.  This functionality is not used in any of the examples and it
has only been used occasionally for some internal experiments.  If you are
interested in using this "cheating" interface or extending it for your own
purposes, I can give you some pointers.  

--Mike


> -----Original Message-----
> From: gems-users-bounces@xxxxxxxxxxx [mailto:gems-users-
> bounces@xxxxxxxxxxx] On Behalf Of Nauman Rafique
> Sent: Thursday, March 03, 2005 4:27 PM
> To: gems-users@xxxxxxxxxxx
> Subject: [Gems-users] about SLICC and Message Buffers
> 
> I am looking at the SLICC protocol specification.
> I found that the message buffers are declared like this:
>  MessageBuffer responseFromDir, network="To", virtual_network="3",
> ordered="false";  // Dir -> mod-L2 bank
> Is this format strict i.e. mesage buffers can only be used to communicate
> to/from network (or they can be used to communicate with other objects
> too)?
> Moreover, as MessageBuffer is an external type, can we call the methods on
> it
> (the ones that are declared in MessageBuffer.h).
> 
> Thanks
> --
> Nauman
> 
> 
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users


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