summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2010-08-20 11:46:12 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2010-08-20 11:46:12 -0700
commita3b4b9b3e3f8a1462b34d758199312d33af4b0c7 (patch)
treee306a6b619e600bba946d70d7541be476b614672
parent1f82eb1a03ede681eae258f1de16586e0cd9d5bd (diff)
downloadgem5-a3b4b9b3e3f8a1462b34d758199312d33af4b0c7.tar.xz
ruby: Added bcast msg profiling to hammer and token
-rw-r--r--src/mem/protocol/MOESI_CMP_token-L1cache.sm8
-rw-r--r--src/mem/protocol/MOESI_CMP_token-L2cache.sm2
-rw-r--r--src/mem/protocol/MOESI_CMP_token-dir.sm4
-rw-r--r--src/mem/protocol/MOESI_hammer-dir.sm6
-rw-r--r--src/mem/protocol/RubySlicc_Exports.sm1
-rw-r--r--src/mem/ruby/network/Network.cc1
6 files changed, 12 insertions, 10 deletions
diff --git a/src/mem/protocol/MOESI_CMP_token-L1cache.sm b/src/mem/protocol/MOESI_CMP_token-L1cache.sm
index fa32b94ab..381debce5 100644
--- a/src/mem/protocol/MOESI_CMP_token-L1cache.sm
+++ b/src/mem/protocol/MOESI_CMP_token-L1cache.sm
@@ -730,9 +730,9 @@ machine(L1Cache, "Token protocol")
out_msg.RetryNum := L1_TBEs[address].IssueCount;
out_msg.isLocal := true;
if (L1_TBEs[address].IssueCount == 0) {
- out_msg.MessageSize := MessageSizeType:Request_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
} else {
- out_msg.MessageSize := MessageSizeType:Reissue_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
}
out_msg.Prefetch := L1_TBEs[address].Prefetch;
out_msg.AccessMode := L1_TBEs[address].AccessMode;
@@ -854,9 +854,9 @@ machine(L1Cache, "Token protocol")
out_msg.RetryNum := L1_TBEs[address].IssueCount;
if (L1_TBEs[address].IssueCount == 0) {
- out_msg.MessageSize := MessageSizeType:Request_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
} else {
- out_msg.MessageSize := MessageSizeType:Reissue_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
}
out_msg.Prefetch := L1_TBEs[address].Prefetch;
out_msg.AccessMode := L1_TBEs[address].AccessMode;
diff --git a/src/mem/protocol/MOESI_CMP_token-L2cache.sm b/src/mem/protocol/MOESI_CMP_token-L2cache.sm
index 789a2b5cd..706b286fa 100644
--- a/src/mem/protocol/MOESI_CMP_token-L2cache.sm
+++ b/src/mem/protocol/MOESI_CMP_token-L2cache.sm
@@ -748,7 +748,7 @@ machine(L2Cache, "Token protocol")
out_msg.Type := in_msg.Type;
out_msg.isLocal := false;
- out_msg.MessageSize := MessageSizeType:Request_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
out_msg.AccessMode := in_msg.AccessMode;
out_msg.Prefetch := in_msg.Prefetch;
}
diff --git a/src/mem/protocol/MOESI_CMP_token-dir.sm b/src/mem/protocol/MOESI_CMP_token-dir.sm
index fce030d98..5122e30d3 100644
--- a/src/mem/protocol/MOESI_CMP_token-dir.sm
+++ b/src/mem/protocol/MOESI_CMP_token-dir.sm
@@ -434,7 +434,7 @@ machine(Directory, "Token protocol")
l2_select_num_bits));
out_msg.RetryNum := 0;
- out_msg.MessageSize := MessageSizeType:Request_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
out_msg.Prefetch := PrefetchBit:No;
out_msg.AccessMode := AccessModeType:SupervisorMode;
}
@@ -500,7 +500,7 @@ machine(Directory, "Token protocol")
l2_select_num_bits));
out_msg.RetryNum := 0;
- out_msg.MessageSize := MessageSizeType:Request_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
out_msg.Prefetch := PrefetchBit:No;
out_msg.AccessMode := AccessModeType:SupervisorMode;
}
diff --git a/src/mem/protocol/MOESI_hammer-dir.sm b/src/mem/protocol/MOESI_hammer-dir.sm
index 7938505d9..b2fec17f5 100644
--- a/src/mem/protocol/MOESI_hammer-dir.sm
+++ b/src/mem/protocol/MOESI_hammer-dir.sm
@@ -477,7 +477,7 @@ machine(Directory, "AMD Hammer-like protocol")
out_msg.Requestor := in_msg.Requestor;
out_msg.Destination.broadcast(MachineType:L1Cache); // Send to all L1 caches
out_msg.Destination.remove(in_msg.Requestor); // Don't include the original requestor
- out_msg.MessageSize := MessageSizeType:Forwarded_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
}
}
}
@@ -494,7 +494,7 @@ machine(Directory, "AMD Hammer-like protocol")
//
out_msg.Requestor := machineID;
out_msg.Destination.broadcast(MachineType:L1Cache);
- out_msg.MessageSize := MessageSizeType:Forwarded_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
}
}
}
@@ -510,7 +510,7 @@ machine(Directory, "AMD Hammer-like protocol")
//
out_msg.Requestor := machineID;
out_msg.Destination.broadcast(MachineType:L1Cache);
- out_msg.MessageSize := MessageSizeType:Forwarded_Control;
+ out_msg.MessageSize := MessageSizeType:Broadcast_Control;
}
}
}
diff --git a/src/mem/protocol/RubySlicc_Exports.sm b/src/mem/protocol/RubySlicc_Exports.sm
index 599e895db..d29620d16 100644
--- a/src/mem/protocol/RubySlicc_Exports.sm
+++ b/src/mem/protocol/RubySlicc_Exports.sm
@@ -200,6 +200,7 @@ enumeration(MessageSizeType, default="MessageSizeType_Undefined", desc="...") {
Response_Control, desc="non-data response";
Writeback_Data, desc="Writeback data";
Writeback_Control, desc="Writeback control";
+ Broadcast_Control, desc="Broadcast control";
Forwarded_Control, desc="Forwarded control";
Invalidate_Control, desc="Invalidate control";
Unblock_Control, desc="Unblock control";
diff --git a/src/mem/ruby/network/Network.cc b/src/mem/ruby/network/Network.cc
index f2e056f75..91800d5bb 100644
--- a/src/mem/ruby/network/Network.cc
+++ b/src/mem/ruby/network/Network.cc
@@ -71,6 +71,7 @@ Network::MessageSizeType_to_int(MessageSizeType size_type)
case MessageSizeType_Reissue_Control:
case MessageSizeType_Response_Control:
case MessageSizeType_Writeback_Control:
+ case MessageSizeType_Broadcast_Control:
case MessageSizeType_Forwarded_Control:
case MessageSizeType_Invalidate_Control:
case MessageSizeType_Unblock_Control: