62 lines
2.4 KiB
Text
62 lines
2.4 KiB
Text
|
/*
|
||
|
* $Id: MOESI_token-msg.sm 1.3 04/06/05 22:43:20-00:00 kmoore@cottons.cs.wisc.edu $
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
//int max_tokens();
|
||
|
|
||
|
// CoherenceRequestType
|
||
|
enumeration(CoherenceRequestType, desc="...") {
|
||
|
GETX, desc="Get eXclusive";
|
||
|
GETS, desc="Get Shared";
|
||
|
}
|
||
|
|
||
|
// StarvationType
|
||
|
enumeration(PersistentRequestType, desc="...") {
|
||
|
GETX_PERSISTENT, desc="...";
|
||
|
GETS_PERSISTENT, desc="...";
|
||
|
DEACTIVATE_PERSISTENT, desc="...";
|
||
|
}
|
||
|
|
||
|
// CoherenceResponseType
|
||
|
enumeration(CoherenceResponseType, desc="...") {
|
||
|
DATA_OWNER, desc="Data, with the owner token";
|
||
|
DATA_SHARED, desc="Data, without the owner token";
|
||
|
ACK, desc="ACKnowledgment";
|
||
|
ACK_OWNER, desc="ACKnowledgment, includes the clean owner token";
|
||
|
}
|
||
|
|
||
|
// StarvationMsg
|
||
|
structure(PersistentMsg, desc="...", interface="NetworkMessage") {
|
||
|
Address Address, desc="Physical address for this request";
|
||
|
PersistentRequestType Type, desc="Type of starvation request";
|
||
|
MachineID Requestor, desc="Node who initiated the request";
|
||
|
NetDest Destination, desc="Destination set";
|
||
|
MessageSizeType MessageSize, desc="size category of the message";
|
||
|
}
|
||
|
|
||
|
// RequestMsg
|
||
|
structure(RequestMsg, desc="...", interface="NetworkMessage") {
|
||
|
Address Address, desc="Physical address for this request";
|
||
|
CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
|
||
|
MachineID Requestor, desc="Node who initiated the request";
|
||
|
NetDest Destination, desc="Multicast destination mask";
|
||
|
MachineType DestMachine, desc="What component receives the data";
|
||
|
MessageSizeType MessageSize, desc="size category of the message";
|
||
|
}
|
||
|
|
||
|
// ResponseMsg
|
||
|
structure(ResponseMsg, desc="...", interface="NetworkMessage") {
|
||
|
Address Address, desc="Physical address for this request";
|
||
|
CoherenceResponseType Type, desc="Type of response (Ack, Data, etc)";
|
||
|
MachineID Sender, desc="Node who sent the data";
|
||
|
MachineType SenderMachine, desc="What component sent the data";
|
||
|
NetDest Destination, desc="Node to whom the data is sent";
|
||
|
MachineType DestMachine, desc="What component receives the data";
|
||
|
int Tokens, desc="Number of tokens being transfered for this line";
|
||
|
DataBlock DataBlk, desc="data for the cache line";
|
||
|
bool Dirty, desc="Is the data dirty (different than memory)?";
|
||
|
MessageSizeType MessageSize, desc="size category of the message";
|
||
|
}
|
||
|
|