2f30950143
We eventually plan to replace the m5 cache hierarchy with the GEMS hierarchy, but for now we will make both live alongside eachother.
61 lines
2.4 KiB
Text
61 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";
|
|
}
|
|
|