AbstractController.hh (11049:dfb0aa3f0649) AbstractController.hh (11121:370488a55495)
1/*
2 * Copyright (c) 2009-2014 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 125 unchanged lines hidden (view full) ---

134 void profileMsgDelay(uint32_t virtualNetwork, Cycles delay);
135
136 void stallBuffer(MessageBuffer* buf, Addr addr);
137 void wakeUpBuffers(Addr addr);
138 void wakeUpAllBuffers(Addr addr);
139 void wakeUpAllBuffers();
140
141 protected:
1/*
2 * Copyright (c) 2009-2014 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 125 unchanged lines hidden (view full) ---

134 void profileMsgDelay(uint32_t virtualNetwork, Cycles delay);
135
136 void stallBuffer(MessageBuffer* buf, Addr addr);
137 void wakeUpBuffers(Addr addr);
138 void wakeUpAllBuffers(Addr addr);
139 void wakeUpAllBuffers();
140
141 protected:
142 NodeID m_version;
142 const NodeID m_version;
143 MachineID m_machineID;
143 MachineID m_machineID;
144 NodeID m_clusterID;
144 const NodeID m_clusterID;
145
146 // MasterID used by some components of gem5.
145
146 // MasterID used by some components of gem5.
147 MasterID m_masterId;
147 const MasterID m_masterId;
148
148
149 Network* m_net_ptr;
149 Network *m_net_ptr;
150 bool m_is_blocking;
151 std::map<Addr, MessageBuffer*> m_block_map;
152
153 typedef std::vector<MessageBuffer*> MsgVecType;
154 typedef std::set<MessageBuffer*> MsgBufType;
155 typedef std::map<Addr, MsgVecType* > WaitingBufType;
156 WaitingBufType m_waiting_buffers;
157
158 unsigned int m_in_ports;
159 unsigned int m_cur_in_port;
150 bool m_is_blocking;
151 std::map<Addr, MessageBuffer*> m_block_map;
152
153 typedef std::vector<MessageBuffer*> MsgVecType;
154 typedef std::set<MessageBuffer*> MsgBufType;
155 typedef std::map<Addr, MsgVecType* > WaitingBufType;
156 WaitingBufType m_waiting_buffers;
157
158 unsigned int m_in_ports;
159 unsigned int m_cur_in_port;
160 int m_number_of_TBEs;
161 int m_transitions_per_cycle;
162 unsigned int m_buffer_size;
160 const int m_number_of_TBEs;
161 const int m_transitions_per_cycle;
162 const unsigned int m_buffer_size;
163 Cycles m_recycle_latency;
164
165 //! Counter for the number of cycles when the transitions carried out
166 //! were equal to the maximum allowed
167 Stats::Scalar m_fully_busy_cycles;
168
169 //! Histogram for profiling delay for the messages this controller
170 //! cares for

--- 55 unchanged lines hidden ---
163 Cycles m_recycle_latency;
164
165 //! Counter for the number of cycles when the transitions carried out
166 //! were equal to the maximum allowed
167 Stats::Scalar m_fully_busy_cycles;
168
169 //! Histogram for profiling delay for the messages this controller
170 //! cares for

--- 55 unchanged lines hidden ---