diff options
author | Tushar Krishna <tushar@csail.mit.edu> | 2011-05-18 03:06:07 -0400 |
---|---|---|
committer | Tushar Krishna <tushar@csail.mit.edu> | 2011-05-18 03:06:07 -0400 |
commit | 3ed048e4f5854b260a29164da92ba16ad7881740 (patch) | |
tree | f5d4658fc36724eec7cac67c1900caf39a64b219 /src/mem/ruby/network/garnet/flexible-pipeline | |
parent | 26eaba4cb5a5933c17abe9efca8590610f1e36b4 (diff) | |
download | gem5-3ed048e4f5854b260a29164da92ba16ad7881740.tar.xz |
slicc: added vnet_type field to identify response vnets from others
Identifying response vnets versus other vnets will allow garnet to
determine which vnets will carry data packets, and which will carry
ctrl packets, and use appropriate buffer sizes (since data packets are larger
than ctrl packets). This in turn allows the orion power model to accurately
estimate buffer power.
Diffstat (limited to 'src/mem/ruby/network/garnet/flexible-pipeline')
-rw-r--r-- | src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc | 6 | ||||
-rw-r--r-- | src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc index 62ae2dbd6..2c0d9f3aa 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc +++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc @@ -192,14 +192,16 @@ GarnetNetwork::checkNetworkAllocation(NodeID id, bool ordered, } MessageBuffer* -GarnetNetwork::getToNetQueue(NodeID id, bool ordered, int network_num) +GarnetNetwork::getToNetQueue(NodeID id, bool ordered, int network_num, + std::string vnet_type) { checkNetworkAllocation(id, ordered, network_num); return m_toNetQueues[id][network_num]; } MessageBuffer* -GarnetNetwork::getFromNetQueue(NodeID id, bool ordered, int network_num) +GarnetNetwork::getFromNetQueue(NodeID id, bool ordered, int network_num, + std::string vnet_type) { checkNetworkAllocation(id, ordered, network_num); return m_fromNetQueues[id][network_num]; diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh index 6e08330f3..5c7959131 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh +++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh @@ -60,8 +60,10 @@ class GarnetNetwork : public BaseGarnetNetwork int getNumPipeStages() {return m_number_of_pipe_stages; } // returns the queue requested for the given component - MessageBuffer* getToNetQueue(NodeID id, bool ordered, int network_num); - MessageBuffer* getFromNetQueue(NodeID id, bool ordered, int network_num); + MessageBuffer* getToNetQueue(NodeID id, bool ordered, int network_num, + std::string vnet_type); + MessageBuffer* getFromNetQueue(NodeID id, bool ordered, int network_num, + std::string vnet_type); void clearStats(); void printStats(std::ostream& out) const; |