diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2013-01-28 06:14:18 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2013-01-28 06:14:18 -0600 |
commit | a8eb5b18e06c1304ac0bc7e5929c57a1cfaacda1 (patch) | |
tree | dc3ed04d39c3a64ec8cd13cf6f6a0cab795b5af4 /src/mem | |
parent | 31659e83fbf6fa2b9024908cdba428145ef1fade (diff) | |
download | gem5-a8eb5b18e06c1304ac0bc7e5929c57a1cfaacda1.tar.xz |
ruby: remove get_time()
This patch replaces get_time() in *.sm files with curCycle() which
is now possible since controllers are clocked objects.
Diffstat (limited to 'src/mem')
-rw-r--r-- | src/mem/protocol/MOESI_CMP_token-L1cache.sm | 5 | ||||
-rw-r--r-- | src/mem/protocol/MOESI_hammer-cache.sm | 11 | ||||
-rw-r--r-- | src/mem/protocol/MOESI_hammer-dir.sm | 19 | ||||
-rw-r--r-- | src/mem/protocol/RubySlicc_Util.sm | 1 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/RubySlicc_Util.hh | 6 |
5 files changed, 19 insertions, 23 deletions
diff --git a/src/mem/protocol/MOESI_CMP_token-L1cache.sm b/src/mem/protocol/MOESI_CMP_token-L1cache.sm index a5de5e832..5533a34dc 100644 --- a/src/mem/protocol/MOESI_CMP_token-L1cache.sm +++ b/src/mem/protocol/MOESI_CMP_token-L1cache.sm @@ -179,6 +179,7 @@ machine(L1Cache, "Token protocol") void unset_tbe(); void wakeUpAllBuffers(); void wakeUpBuffers(Address a); + Time curCycle(); TBETable L1_TBEs, template="<L1Cache_TBE>", constructor="m_number_of_TBEs"; @@ -1344,7 +1345,7 @@ machine(L1Cache, "Token protocol") tbe.Prefetch := in_msg.Prefetch; tbe.AccessMode := in_msg.AccessMode; } - tbe.IssueTime := get_time(); + tbe.IssueTime := curCycle(); } action(ta_traceStalledAddress, "ta", desc="Trace Stalled Address") { @@ -1447,7 +1448,7 @@ machine(L1Cache, "Token protocol") // Update average latency if (tbe.IssueCount <= 1) { if (tbe.ExternalResponse == true) { - updateAverageLatencyEstimate(time_to_int(get_time()) - time_to_int(tbe.IssueTime)); + updateAverageLatencyEstimate(time_to_int(curCycle()) - time_to_int(tbe.IssueTime)); } } diff --git a/src/mem/protocol/MOESI_hammer-cache.sm b/src/mem/protocol/MOESI_hammer-cache.sm index 0f35b4277..e4d01df65 100644 --- a/src/mem/protocol/MOESI_hammer-cache.sm +++ b/src/mem/protocol/MOESI_hammer-cache.sm @@ -181,6 +181,7 @@ machine(L1Cache, "AMD Hammer-like protocol") void unset_tbe(); void wakeUpAllBuffers(); void wakeUpBuffers(Address a); + Time curCycle(); Entry getCacheEntry(Address address), return_by_pointer="yes" { Entry L2cache_entry := static_cast(Entry, "pointer", L2cacheMemory.lookup(address)); @@ -545,7 +546,7 @@ machine(L1Cache, "AMD Hammer-like protocol") out_msg.Requestor := machineID; out_msg.Destination.add(map_Address_to_Directory(address)); out_msg.MessageSize := MessageSizeType:Request_Control; - out_msg.InitialRequestTime := get_time(); + out_msg.InitialRequestTime := curCycle(); tbe.NumPendingMsgs := machineCount(MachineType:L1Cache); // One from each other cache (n-1) plus the memory (+1) } } @@ -558,7 +559,7 @@ machine(L1Cache, "AMD Hammer-like protocol") out_msg.Requestor := machineID; out_msg.Destination.add(map_Address_to_Directory(address)); out_msg.MessageSize := MessageSizeType:Request_Control; - out_msg.InitialRequestTime := get_time(); + out_msg.InitialRequestTime := curCycle(); tbe.NumPendingMsgs := machineCount(MachineType:L1Cache); // One from each other cache (n-1) plus the memory (+1) } } @@ -572,7 +573,7 @@ machine(L1Cache, "AMD Hammer-like protocol") out_msg.Requestor := machineID; out_msg.Destination.add(map_Address_to_Directory(address)); out_msg.MessageSize := MessageSizeType:Request_Control; - out_msg.InitialRequestTime := get_time(); + out_msg.InitialRequestTime := curCycle(); } } tbe.NumPendingMsgs := machineCount(MachineType:L1Cache); // One from each other cache (n-1) plus the memory (+1) @@ -586,7 +587,7 @@ machine(L1Cache, "AMD Hammer-like protocol") out_msg.Requestor := machineID; out_msg.Destination.add(map_Address_to_Directory(address)); out_msg.MessageSize := MessageSizeType:Request_Control; - out_msg.InitialRequestTime := get_time(); + out_msg.InitialRequestTime := curCycle(); tbe.NumPendingMsgs := machineCount(MachineType:L1Cache); // One from each other cache (n-1) plus the memory (+1) } } @@ -982,7 +983,7 @@ machine(L1Cache, "AMD Hammer-like protocol") tbe.ForwardRequestTime := in_msg.ForwardRequestTime; } if (tbe.FirstResponseTime == zero_time()) { - tbe.FirstResponseTime := get_time(); + tbe.FirstResponseTime := curCycle(); } } } diff --git a/src/mem/protocol/MOESI_hammer-dir.sm b/src/mem/protocol/MOESI_hammer-dir.sm index 5b752f781..f923ddeab 100644 --- a/src/mem/protocol/MOESI_hammer-dir.sm +++ b/src/mem/protocol/MOESI_hammer-dir.sm @@ -179,6 +179,7 @@ machine(Directory, "AMD Hammer-like protocol") void set_tbe(TBE a); void unset_tbe(); void wakeUpBuffers(Address a); + Time curCycle(); // ** OBJECTS ** @@ -877,7 +878,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.Destination.setNetDest(MachineType:L1Cache, fwd_set); out_msg.MessageSize := MessageSizeType:Multicast_Control; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); assert(tbe.SilentAcks > 0); out_msg.SilentAcks := tbe.SilentAcks; } @@ -893,7 +894,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.Destination.remove(in_msg.Requestor); // Don't include the original requestor out_msg.MessageSize := MessageSizeType:Broadcast_Control; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); } } } @@ -953,7 +954,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.Destination.setNetDest(MachineType:L1Cache, fwd_set); out_msg.MessageSize := MessageSizeType:Multicast_Control; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); out_msg.SilentAcks := machineCount(MachineType:L1Cache) - fwd_set.count(); out_msg.SilentAcks := out_msg.SilentAcks - 1; } @@ -967,7 +968,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.Destination.remove(in_msg.Requestor); // Don't include the original requestor out_msg.MessageSize := MessageSizeType:Broadcast_Control; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); } } } @@ -1007,7 +1008,7 @@ machine(Directory, "AMD Hammer-like protocol") } out_msg.MessageSize := MessageSizeType:Request_Control; out_msg.InitialRequestTime := zero_time(); - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); } } } @@ -1025,7 +1026,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.MessageSize := MessageSizeType:Request_Control; out_msg.DirectedProbe := true; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); } } } else { @@ -1038,7 +1039,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.Destination.remove(in_msg.Requestor); // Don't include the original requestor out_msg.MessageSize := MessageSizeType:Broadcast_Control; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); } } } @@ -1059,7 +1060,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.MessageSize := MessageSizeType:Request_Control; out_msg.DirectedProbe := true; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); } } } @@ -1073,7 +1074,7 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.Destination.remove(in_msg.Requestor); // Don't include the original requestor out_msg.MessageSize := MessageSizeType:Broadcast_Control; out_msg.InitialRequestTime := in_msg.InitialRequestTime; - out_msg.ForwardRequestTime := get_time(); + out_msg.ForwardRequestTime := curCycle(); } } } diff --git a/src/mem/protocol/RubySlicc_Util.sm b/src/mem/protocol/RubySlicc_Util.sm index e5ef7ca8d..65f47d5aa 100644 --- a/src/mem/protocol/RubySlicc_Util.sm +++ b/src/mem/protocol/RubySlicc_Util.sm @@ -32,7 +32,6 @@ void error(std::string msg); void assert(bool condition); int random(int number); -Time get_time(); Time zero_time(); NodeID intToID(int nodenum); int IDToInt(NodeID id); diff --git a/src/mem/ruby/slicc_interface/RubySlicc_Util.hh b/src/mem/ruby/slicc_interface/RubySlicc_Util.hh index 178c4cd1e..f55b6eae4 100644 --- a/src/mem/ruby/slicc_interface/RubySlicc_Util.hh +++ b/src/mem/ruby/slicc_interface/RubySlicc_Util.hh @@ -48,12 +48,6 @@ random(int n) } inline Time -get_time() -{ - return g_system_ptr->getTime(); -} - -inline Time zero_time() { return 0; |