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 | f57053473ad369d5baf4a83d17913e5af393a8a8 (patch) | |
tree | 20d71bac37f391456c1904b120b1694017c14247 /src/mem/protocol/MOESI_hammer-dir.sm | |
parent | 8b28848321f301e6b13cab55e539f86a0e6c71ca (diff) | |
download | gem5-f57053473ad369d5baf4a83d17913e5af393a8a8.tar.xz |
MOESI_hammer: break down miss latency stalled cycles
This patch tracks the number of cycles a transaction is delayed at different
points of the request-forward-response loop.
Diffstat (limited to 'src/mem/protocol/MOESI_hammer-dir.sm')
-rw-r--r-- | src/mem/protocol/MOESI_hammer-dir.sm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mem/protocol/MOESI_hammer-dir.sm b/src/mem/protocol/MOESI_hammer-dir.sm index ae282ba3a..d4b36cded 100644 --- a/src/mem/protocol/MOESI_hammer-dir.sm +++ b/src/mem/protocol/MOESI_hammer-dir.sm @@ -645,6 +645,8 @@ machine(Directory, "AMD Hammer-like protocol") 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:Broadcast_Control; + out_msg.InitialRequestTime := in_msg.InitialRequestTime; + out_msg.ForwardRequestTime := get_time(); } } } @@ -685,6 +687,8 @@ machine(Directory, "AMD Hammer-like protocol") 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:Broadcast_Control; + out_msg.InitialRequestTime := in_msg.InitialRequestTime; + out_msg.ForwardRequestTime := get_time(); } } } @@ -701,6 +705,8 @@ machine(Directory, "AMD Hammer-like protocol") out_msg.Destination.add(getPfEntry(address).Owner); out_msg.MessageSize := MessageSizeType:Request_Control; out_msg.DirectedProbe := true; + out_msg.InitialRequestTime := in_msg.InitialRequestTime; + out_msg.ForwardRequestTime := get_time(); } } } else { @@ -712,6 +718,8 @@ machine(Directory, "AMD Hammer-like protocol") 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:Broadcast_Control; + out_msg.InitialRequestTime := in_msg.InitialRequestTime; + out_msg.ForwardRequestTime := get_time(); } } } |