Re: [Gems-users] About broadcast


Date: Wed, 7 Sep 2005 22:26:47 -0500 (CDT)
From: Mike Marty <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] About broadcast
>      I found the following part in MOSI_SMP_bcast-cache.sm.
>
>      action(f_issueGETS, "f", desc="Issue GETS.") {
>     DEBUG_EXPR(machineID);
>     enqueue(addressNetwork_out, AddressMsg, latency="ISSUE_LATENCY") {
>       out_msg.Address := address;
>       out_msg.Type := CoherenceRequestType:GETS;
>       out_msg.CacheState := cache_state_to_int(getState(address));
>       out_msg.Requestor := machineID;
>       out_msg.Destination.broadcast(MachineType:L1Cache);
>       out_msg.Destination.add(map_Address_to_Directory(address));
>       out_msg.MessageSize := MessageSizeType:Control;
>     }
>   }
>
> Can I only assign a destination address instead of broadcast this message,
> because I only want one consumer to process this request. Maybe then others.
> How should I do? Can I use out_msg.Destination.add(DestinationMachineID) ?

If your protocol innovation can handle a unicast message instead of a
broadcast, then Yes, out_msg.Destination.add(DestinationMachineID) is
correct.  The directory protocols do _not_ use broadcast.

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