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; |
143 MachineID m_machineID; |
144 NodeID m_clusterID; |
145 146 // MasterID used by some components of gem5. |
147 MasterID m_masterId; |
148 |
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; |
160 int m_number_of_TBEs; 161 int m_transitions_per_cycle; 162 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 --- |