McFrontEnd Class Reference

#include <mcFrontEnd.h>

Inheritance diagram for McFrontEnd:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 McFrontEnd ()
 ~McFrontEnd ()
void setup (uint no_nodes, uint vcs, uint max_sim_time)
void finish ()
void process_event (IrisEvent *e)
string toString () const
void set_no_vcs (uint v)
void set_output_path (string v)
bool compare ()
string print_stats () const

Public Attributes

Componentmc
vector< Request > niQueue
uint node_ip
bool sending

Private Member Functions

void handle_new_packet_event (IrisEvent *e)
void handle_old_packet_event (IrisEvent *e)
void handle_ready_event (IrisEvent *e)
void handle_out_pull_event (IrisEvent *e)
void handle_detect_deadlock_event (IrisEvent *)
void convertToBitStream (Request *req, HighLevelPacket *hlp)
void convertFromBitStream (Request *req, HighLevelPacket *hlp)
bool GetFrommcFrontEndQueue (Request *req)
void add_mc_bits (Request *req)
void strip_mc_bits (Request *req)

Private Attributes

double last_pkt_out_cycle
ullint last_out_pull_cycle
unsigned long long int total_missed_time
unsigned long long int total_backward_time
uint missed_time
unsigned long long int packets_out
ullint resp_buff_occ_cycles
ullint avg_resp_buff_occ
uint vcs
uint no_nodes
unsigned int packets
unsigned long long int max_sim_time
deque< HighLevelPacketout_packets
deque< HighLevelPacketsent_packets
vector< HighLevelPacket * > outstanding_hlp
string out_filename
string trace_name
ofstream out_file
fstream trace_filename
vector< bool > ready
unsigned int last_vc
unsigned int flast_vc


Detailed Description

Definition at line 40 of file mcFrontEnd.h.


Constructor & Destructor Documentation

McFrontEnd::McFrontEnd (  ) 

Definition at line 31 of file mcFrontEnd.cc.

References mc, NetworkComponent::name, and Processor::ni_recv.

McFrontEnd::~McFrontEnd (  ) 

Definition at line 42 of file mcFrontEnd.cc.


Member Function Documentation

void McFrontEnd::add_mc_bits ( Request *  req  )  [private]

Definition at line 133 of file mcFrontEnd.cc.

References MC_ADDR_BITS, mc_positions, no_mcs, and node_ip.

Referenced by handle_out_pull_event().

Here is the caller graph for this function:

bool McFrontEnd::compare (  ) 

void McFrontEnd::convertFromBitStream ( Request *  req,
HighLevelPacket hlp 
) [private]

Definition at line 524 of file mcFrontEnd.cc.

References HighLevelPacket::data, NETWORK_ADDRESS_BITS, NETWORK_COMMAND_BITS, and NETWORK_THREADID_BITS.

Referenced by handle_new_packet_event().

Here is the caller graph for this function:

void McFrontEnd::convertToBitStream ( Request *  req,
HighLevelPacket hlp 
) [private]

void McFrontEnd::finish (  ) 

Definition at line 103 of file mcFrontEnd.cc.

References out_file.

bool McFrontEnd::GetFrommcFrontEndQueue ( Request *  req  )  [private]

Definition at line 471 of file mcFrontEnd.cc.

References niQueue.

Referenced by handle_out_pull_event().

Here is the caller graph for this function:

void McFrontEnd::handle_detect_deadlock_event ( IrisEvent  )  [private]

void McFrontEnd::handle_new_packet_event ( IrisEvent e  )  [private]

void McFrontEnd::handle_old_packet_event ( IrisEvent e  )  [private]

void McFrontEnd::handle_out_pull_event ( IrisEvent e  )  [private]

void McFrontEnd::handle_ready_event ( IrisEvent e  )  [private]

Definition at line 389 of file mcFrontEnd.cc.

References _DBG, max_sim_time, Simulator::Now(), OUT_PULL_EVENT, NetworkComponent::process_event(), ready, Simulator::Schedule(), sending, IrisEvent::vc, and vcs.

Referenced by process_event().

Here is the call graph for this function:

Here is the caller graph for this function:

string McFrontEnd::print_stats ( void   )  const [virtual]

void McFrontEnd::process_event ( IrisEvent e  )  [virtual]

Implements Processor.

Definition at line 110 of file mcFrontEnd.cc.

References handle_new_packet_event(), handle_out_pull_event(), handle_ready_event(), NEW_PACKET_EVENT, OUT_PULL_EVENT, READY_EVENT, and IrisEvent::type.

Here is the call graph for this function:

void McFrontEnd::set_no_vcs ( uint  v  ) 

Definition at line 47 of file mcFrontEnd.cc.

References vcs.

void McFrontEnd::set_output_path ( string  v  )  [virtual]

Implements Processor.

Definition at line 87 of file mcFrontEnd.cc.

References node_ip, out_file, and out_filename.

void McFrontEnd::setup ( uint  no_nodes,
uint  vcs,
uint  max_sim_time 
) [virtual]

void McFrontEnd::strip_mc_bits ( Request *  req  )  [private]

Definition at line 158 of file mcFrontEnd.cc.

References MC_ADDR_BITS, mc_positions, no_mcs, NO_OF_THREADS, and node_ip.

Referenced by handle_new_packet_event().

Here is the caller graph for this function:

string McFrontEnd::toString (  )  const [virtual]

Reimplemented from Processor.

Definition at line 459 of file mcFrontEnd.cc.

References NetworkComponent::address, Processor::interface_connections, and out_filename.


Member Data Documentation

Definition at line 68 of file mcFrontEnd.h.

Referenced by handle_out_pull_event(), print_stats(), and setup().

unsigned int McFrontEnd::flast_vc [private]

Definition at line 83 of file mcFrontEnd.h.

Referenced by handle_new_packet_event(), and setup().

Definition at line 62 of file mcFrontEnd.h.

Referenced by handle_out_pull_event().

Definition at line 61 of file mcFrontEnd.h.

Referenced by handle_new_packet_event(), and print_stats().

unsigned int McFrontEnd::last_vc [private]

Definition at line 82 of file mcFrontEnd.h.

Referenced by handle_out_pull_event(), and setup().

unsigned long long int McFrontEnd::max_sim_time [private]

Definition at line 73 of file mcFrontEnd.h.

Referenced by handle_ready_event(), and setup().

Definition at line 65 of file mcFrontEnd.h.

Referenced by setup().

vector<Request> McFrontEnd::niQueue

Definition at line 46 of file mcFrontEnd.h.

Referenced by GetFrommcFrontEndQueue(), and handle_out_pull_event().

Definition at line 71 of file mcFrontEnd.h.

Referenced by setup().

Reimplemented from NetworkComponent.

Definition at line 51 of file mcFrontEnd.h.

Referenced by add_mc_bits(), handle_out_pull_event(), print_stats(), set_output_path(), setup(), and strip_mc_bits().

ofstream McFrontEnd::out_file [private]

Definition at line 79 of file mcFrontEnd.h.

Referenced by finish(), and set_output_path().

string McFrontEnd::out_filename [private]

Definition at line 77 of file mcFrontEnd.h.

Referenced by set_output_path(), and toString().

Definition at line 74 of file mcFrontEnd.h.

Definition at line 76 of file mcFrontEnd.h.

Referenced by handle_new_packet_event(), and setup().

unsigned int McFrontEnd::packets [private]

Definition at line 72 of file mcFrontEnd.h.

Referenced by handle_new_packet_event(), print_stats(), and setup().

unsigned long long int McFrontEnd::packets_out [private]

Definition at line 66 of file mcFrontEnd.h.

Referenced by handle_out_pull_event(), print_stats(), and setup().

vector< bool > McFrontEnd::ready [private]

Definition at line 81 of file mcFrontEnd.h.

Referenced by handle_out_pull_event(), handle_ready_event(), and setup().

Definition at line 67 of file mcFrontEnd.h.

Referenced by handle_out_pull_event(), print_stats(), and setup().

Definition at line 56 of file mcFrontEnd.h.

Referenced by handle_out_pull_event(), and handle_ready_event().

Definition at line 75 of file mcFrontEnd.h.

unsigned long long int McFrontEnd::total_backward_time [private]

Definition at line 64 of file mcFrontEnd.h.

Referenced by handle_out_pull_event(), print_stats(), and setup().

unsigned long long int McFrontEnd::total_missed_time [private]

Definition at line 63 of file mcFrontEnd.h.

Referenced by handle_new_packet_event(), print_stats(), and setup().

fstream McFrontEnd::trace_filename [private]

Definition at line 80 of file mcFrontEnd.h.

string McFrontEnd::trace_name [private]

Definition at line 78 of file mcFrontEnd.h.

uint McFrontEnd::vcs [private]


The documentation for this class was generated from the following files:

Generated on Tue Oct 19 17:22:20 2010 for IRIS by  doxygen 1.5.8