summaryrefslogtreecommitdiff
path: root/src/mem/protocol/MOESI_hammer-msg.sm
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2010-08-20 11:46:14 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2010-08-20 11:46:14 -0700
commit855748030032dc09a054a204ec93f16c91ee1577 (patch)
treec6d842e2d95e4e84ba6797018027e5ffb40c2b71 /src/mem/protocol/MOESI_hammer-msg.sm
parent908364a1c9239ad15d166720fdd89fe9f65d9331 (diff)
downloadgem5-855748030032dc09a054a204ec93f16c91ee1577.tar.xz
ruby: Added merge GETS optimization to hammer
Added an optimization that merges multiple pending GETS requests into a single request to the owner node.
Diffstat (limited to 'src/mem/protocol/MOESI_hammer-msg.sm')
-rw-r--r--src/mem/protocol/MOESI_hammer-msg.sm4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mem/protocol/MOESI_hammer-msg.sm b/src/mem/protocol/MOESI_hammer-msg.sm
index 05a52b881..c90c8a53c 100644
--- a/src/mem/protocol/MOESI_hammer-msg.sm
+++ b/src/mem/protocol/MOESI_hammer-msg.sm
@@ -33,6 +33,7 @@
enumeration(CoherenceRequestType, desc="...") {
GETX, desc="Get eXclusive";
GETS, desc="Get Shared";
+ MERGED_GETS, desc="Get Shared";
PUT, desc="Put Ownership";
WB_ACK, desc="Writeback ack";
WB_NACK, desc="Writeback neg. ack";
@@ -62,6 +63,7 @@ enumeration(TriggerType, desc="...") {
ALL_ACKS, desc="See corresponding event";
ALL_ACKS_OWNER_EXISTS,desc="See corresponding event";
ALL_ACKS_NO_SHARERS, desc="See corresponding event";
+ ALL_UNBLOCKS, desc="all unblockS received";
}
// TriggerMsg
@@ -75,6 +77,7 @@ 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 MergedRequestors, desc="Merge set of read requestors";
NetDest Destination, desc="Multicast destination mask";
MessageSizeType MessageSize, desc="size category of the message";
bool DirectedProbe, default="false", desc="probe filter directed probe";
@@ -87,6 +90,7 @@ 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";
+ MachineID CurOwner, desc="current owner of the block, used for UnblockS responses";
NetDest Destination, desc="Node to whom the data is sent";
DataBlock DataBlk, desc="data for the cache line";
bool Dirty, desc="Is the data dirty (different than memory)?";