stats.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  stats.h
00005  *
00006  *    Description:  
00007  *
00008  *        Version:  1.0
00009  *        Created:  09/01/2010 02:36:22 PM
00010  *       Revision:  none
00011  *       Compiler:  gcc
00012  *
00013  *         Author:  Mitchelle Rasquinha (), mitchelle.rasquinha@gatech.edu
00014  *        Company:  Georgia Institute of Technology
00015  *
00016  * =====================================================================================
00017  */
00018 
00019 
00020 #ifndef  _stats_H_INC
00021 #define  _stats_H_INC
00022 
00023 #include        <vector>
00024 #include        <iostream>
00025 using namespace std;
00026 
00027 typedef unsigned long long int ullint;
00028 typedef unsigned int uint;
00029 extern uint no_nodes, links, vcs;
00030 
00031 /*
00032  * =====================================================================================
00033  *        Class: StatRouter
00034  *  Description:  
00035  * =====================================================================================
00036  */
00037 class StatRouter
00038 {
00039     public:
00040         /* ====================  LIFECYCLE     ======================================= */
00041         StatRouter ();                             /* constructor */
00042         ~StatRouter(){}
00043         ullint ib_cycles;
00044         ullint rc_cycles;
00045         ullint vca_cycles;
00046         ullint sa_cycles;
00047         ullint st_cycles;
00048 
00049 
00050 }; /* -----  end of class StatRouter  ----- */
00051 
00052 
00053 class StatLink
00054 {
00055     public:
00056         StatLink();
00057         ~StatLink(){}
00058 
00059         ullint credits_transferred;
00060         ullint flits_transferred;
00061 };
00062 
00063 class IrisStats 
00064 {
00065     private:
00066 
00067     public:
00068         vector<StatRouter*> stat_router;
00069         vector<StatLink*> stat_link;
00070         IrisStats();
00071         ~IrisStats();
00072         void init(void);
00073         double compute_total_router_dyn_energy(double xx);
00074         double compute_total_buffer_dyn_energy(double en);
00075         double compute_total_arbiter_dyn_energy( double en );
00076         double compute_total_vc_arbiter_dyn_energy( double en );
00077         double compute_total_crossbar_dyn_energy( double en );
00078         double compute_total_link_dyn_energy(double en );
00079         ullint get_total_ib_cycles(void);
00080         ullint get_total_rc_cycles(void);
00081         ullint get_total_vca_cycles(void);
00082         ullint get_total_sa_cycles(void);
00083         ullint get_total_st_cycles(void);
00084         ullint get_total_credits_passed(void);
00085         ullint get_total_flits_passed(void);
00086 };
00087 
00088 #endif   /* ----- #ifndef _stats_H_INC  ----- */

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