summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2013-09-06 16:21:35 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2013-09-06 16:21:35 -0500
commit90bfbd9793e64b29d09f4ca4ee610ee08f82ea75 (patch)
treee14b49f9632b25cde8a32b5e5787a36a376e6dff /src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
parente9ae8b7d29e83fa2cad55006d2c6dc58115965cc (diff)
downloadgem5-90bfbd9793e64b29d09f4ca4ee610ee08f82ea75.tar.xz
ruby: network: convert to gem5 style stats
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh')
-rw-r--r--src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
index 919e6703e..53cf595e5 100644
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
@@ -63,8 +63,8 @@ class GarnetNetwork_d : public BaseGarnetNetwork
int getBuffersPerDataVC() {return m_buffers_per_data_vc; }
int getBuffersPerCtrlVC() {return m_buffers_per_ctrl_vc; }
- void printLinkStats(std::ostream& out) const;
- void printPowerStats(std::ostream& out) const;
+ void collateStats();
+ void regStats();
void print(std::ostream& out) const;
VNET_type
@@ -96,6 +96,11 @@ class GarnetNetwork_d : public BaseGarnetNetwork
GarnetNetwork_d(const GarnetNetwork_d& obj);
GarnetNetwork_d& operator=(const GarnetNetwork_d& obj);
+ void collateLinkStats();
+ void collatePowerStats();
+ void regLinkStats();
+ void regPowerStats();
+
std::vector<VNET_type > m_vnet_type;
std::vector<Router_d *> m_routers; // All Routers in Network
@@ -105,6 +110,20 @@ class GarnetNetwork_d : public BaseGarnetNetwork
int m_buffers_per_data_vc;
int m_buffers_per_ctrl_vc;
+
+ // Statistical variables for power
+ Stats::Scalar m_dynamic_link_power;
+ Stats::Scalar m_static_link_power;
+ Stats::Formula m_total_link_power;
+
+ Stats::Scalar m_dynamic_router_power;
+ Stats::Scalar m_static_router_power;
+ Stats::Scalar m_clk_power;
+ Stats::Formula m_total_router_power;
+
+ // Statistical variables for performance
+ Stats::Scalar m_average_link_utilization;
+ Stats::Vector m_average_vc_load;
};
inline std::ostream&