Ignore:
Timestamp:
May 26, 2009, 9:01:47 PM (15 years ago)
Author:
rosiere
Message:

1) Context_state : Add statistics
2) Add configuration with multi front_end
3) Add optionnal pid at log filename

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_statistics_allocation.cpp

    r83 r120  
    88
    99#include "Behavioural/Core/Multi_Front_end/Front_end/Context_State/include/Context_State.h"
     10#include "Behavioural/include/Allocation.h"
    1011
    1112namespace morpheo {
     
    2627                      "Context_State",
    2728                      param_statistics);
    28    
     29
     30    ALLOC1(_stat_nb_cycle_state_ok                     ,counter_t *,_param->_nb_context);
     31    ALLOC1(_stat_nb_cycle_state_ko_excep               ,counter_t *,_param->_nb_context);
     32    ALLOC1(_stat_nb_cycle_state_ko_miss_branch         ,counter_t *,_param->_nb_context);
     33    ALLOC1(_stat_nb_cycle_state_ko_miss_load           ,counter_t *,_param->_nb_context);
     34    ALLOC1(_stat_nb_cycle_state_ko_miss_load_and_branch,counter_t *,_param->_nb_context);
     35    ALLOC1(_stat_nb_cycle_state_ko_msync               ,counter_t *,_param->_nb_context);
     36    ALLOC1(_stat_nb_cycle_state_ko_psync               ,counter_t *,_param->_nb_context);
     37    ALLOC1(_stat_nb_cycle_state_ko_csync               ,counter_t *,_param->_nb_context);
     38    ALLOC1(_stat_nb_cycle_state_ko_spr                 ,counter_t *,_param->_nb_context);
     39
     40    for (uint32_t i=0; i<_param->_nb_context; ++i)
     41      {
     42        _stat_nb_cycle_state_ok                      [i] = _stat->create_counter("nb_cycle_state_ok_"                     +toString(i),"",toString(_("Number of cycle in state ok                      (context %d)"),i));
     43        _stat_nb_cycle_state_ko_excep                [i] = _stat->create_counter("nb_cycle_state_ko_excep_"               +toString(i),"",toString(_("Number of cycle in state ko_excep                (context %d)"),i));
     44        _stat_nb_cycle_state_ko_miss_branch          [i] = _stat->create_counter("nb_cycle_state_ko_miss_branch_"         +toString(i),"",toString(_("Number of cycle in state ko_miss_branch          (context %d)"),i));
     45        _stat_nb_cycle_state_ko_miss_load            [i] = _stat->create_counter("nb_cycle_state_ko_miss_load_"           +toString(i),"",toString(_("Number of cycle in state ko_miss_load            (context %d)"),i));
     46        _stat_nb_cycle_state_ko_miss_load_and_branch [i] = _stat->create_counter("nb_cycle_state_ko_miss_load_and_branch_"+toString(i),"",toString(_("Number of cycle in state ko_miss_load_and_branch (context %d)"),i));
     47        _stat_nb_cycle_state_ko_msync                [i] = _stat->create_counter("nb_cycle_state_ko_msync_"               +toString(i),"",toString(_("Number of cycle in state ko_msync                (context %d)"),i));
     48        _stat_nb_cycle_state_ko_psync                [i] = _stat->create_counter("nb_cycle_state_ko_psync_"               +toString(i),"",toString(_("Number of cycle in state ko_psync                (context %d)"),i));
     49        _stat_nb_cycle_state_ko_csync                [i] = _stat->create_counter("nb_cycle_state_ko_csync_"               +toString(i),"",toString(_("Number of cycle in state ko_csync                (context %d)"),i));
     50        _stat_nb_cycle_state_ko_spr                  [i] = _stat->create_counter("nb_cycle_state_ko_spr_"                 +toString(i),"",toString(_("Number of cycle in state ko_spr                  (context %d)"),i));
     51
     52
     53        _stat->create_expr_percent("percent_state_ok_"                     +toString(i),"nb_cycle_state_ok_"                     +toString(i),"cycle",toString(_("Percent of cycle in state ok                      (context %d)"),i));
     54        _stat->create_expr_percent("percent_state_ko_excep_"               +toString(i),"nb_cycle_state_ko_excep_"               +toString(i),"cycle",toString(_("Percent of cycle in state ko_excep                (context %d)"),i));
     55        _stat->create_expr_percent("percent_state_ko_miss_branch_"         +toString(i),"nb_cycle_state_ko_miss_branch_"         +toString(i),"cycle",toString(_("Percent of cycle in state ko_miss_branch          (context %d)"),i));
     56        _stat->create_expr_percent("percent_state_ko_miss_load_"           +toString(i),"nb_cycle_state_ko_miss_load_"           +toString(i),"cycle",toString(_("Percent of cycle in state ko_miss_load            (context %d)"),i));
     57        _stat->create_expr_percent("percent_state_ko_miss_load_and_branch_"+toString(i),"nb_cycle_state_ko_miss_load_and_branch_"+toString(i),"cycle",toString(_("Percent of cycle in state ko_miss_load_and_branch (context %d)"),i));
     58        _stat->create_expr_percent("percent_state_ko_msync_"               +toString(i),"nb_cycle_state_ko_msync_"               +toString(i),"cycle",toString(_("Percent of cycle in state ko_msync                (context %d)"),i));
     59        _stat->create_expr_percent("percent_state_ko_psync_"               +toString(i),"nb_cycle_state_ko_psync_"               +toString(i),"cycle",toString(_("Percent of cycle in state ko_psync                (context %d)"),i));
     60        _stat->create_expr_percent("percent_state_ko_csync_"               +toString(i),"nb_cycle_state_ko_csync_"               +toString(i),"cycle",toString(_("Percent of cycle in state ko_csync                (context %d)"),i));
     61        _stat->create_expr_percent("percent_state_ko_spr_"                 +toString(i),"nb_cycle_state_ko_spr_"                 +toString(i),"cycle",toString(_("Percent of cycle in state ko_spr                  (context %d)"),i));
     62      }
     63
    2964    log_end(Context_State,FUNCTION);
    3065  };
Note: See TracChangeset for help on using the changeset viewer.