diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-08-20 11:46:14 -0700 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-08-20 11:46:14 -0700 |
commit | 855748030032dc09a054a204ec93f16c91ee1577 (patch) | |
tree | c6d842e2d95e4e84ba6797018027e5ffb40c2b71 /src/mem/protocol/MOESI_hammer-msg.sm | |
parent | 908364a1c9239ad15d166720fdd89fe9f65d9331 (diff) | |
download | gem5-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.sm | 4 |
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)?"; |