From f57053473ad369d5baf4a83d17913e5af393a8a8 Mon Sep 17 00:00:00 2001 From: Brad Beckmann Date: Fri, 20 Aug 2010 11:46:14 -0700 Subject: 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. --- src/mem/ruby/system/Sequencer.hh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/mem/ruby/system/Sequencer.hh') diff --git a/src/mem/ruby/system/Sequencer.hh b/src/mem/ruby/system/Sequencer.hh index fecfc9a1a..4ab85dac8 100644 --- a/src/mem/ruby/system/Sequencer.hh +++ b/src/mem/ruby/system/Sequencer.hh @@ -80,12 +80,26 @@ class Sequencer : public RubyPort, public Consumer GenericMachineType mach, DataBlock& data); + void writeCallback(const Address& address, + GenericMachineType mach, + DataBlock& data, + Time initialRequestTime, + Time forwardRequestTime, + Time firstResponseTime); + void readCallback(const Address& address, DataBlock& data); void readCallback(const Address& address, GenericMachineType mach, DataBlock& data); + void readCallback(const Address& address, + GenericMachineType mach, + DataBlock& data, + Time initialRequestTime, + Time forwardRequestTime, + Time firstResponseTime); + RequestStatus makeRequest(const RubyRequest & request); RequestStatus getRequestStatus(const RubyRequest& request); bool empty() const; @@ -106,7 +120,10 @@ class Sequencer : public RubyPort, public Consumer void hitCallback(SequencerRequest* request, GenericMachineType mach, DataBlock& data, - bool success); + bool success, + Time initialRequestTime, + Time forwardRequestTime, + Time firstResponseTime); bool insertRequest(SequencerRequest* request); -- cgit v1.2.3