Ignore:
Timestamp:
Feb 19, 2009, 5:31:47 PM (15 years ago)
Author:
rosiere
Message:

1) OOO_egine : add stat to depiste low perf source
2) Commit : add stat
3) LSU_Pointer : retire - always ack (else combinatory loop). insert - max nb_inst_memory
4) TopLevel? : add debug_idle_time to stop combinatory loop.
5) Issue_queue : add reexecute_queue, new implementation (routage after issue_queue)
6) Decod / Predictor : add "can_continue"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_transition.cpp

    r109 r110  
    5050              log_printf(TRACE,Free_List_unit,FUNCTION,"  * POP [%d]",i);
    5151
     52#ifdef STATISTICS
     53              (*_stat_nb_inst_pop) ++;
     54#endif
     55
    5256              if (PORT_READ(in_POP_GPR_VAL [i]))
    53                 _gpr_list [internal_POP_GPR_BANK[i]].pop_front();
     57                {
     58#ifdef STATISTICS
     59                  (*_stat_nb_inst_pop_gpr) ++;
     60#endif
     61                  _gpr_list [internal_POP_GPR_BANK[i]].pop_front();
     62                }
    5463         
    5564              if (PORT_READ(in_POP_SPR_VAL [i]))
    56                 _spr_list [internal_POP_SPR_BANK[i]].pop_front();
     65                {
     66#ifdef STATISTICS
     67                  (*_stat_nb_inst_pop_spr) ++;
     68#endif
     69                  _spr_list [internal_POP_SPR_BANK[i]].pop_front();
     70                }
    5771            }
    5872
     
    6781              log_printf(TRACE,Free_List_unit,FUNCTION,"    * num_reg : %d",PORT_READ(in_PUSH_GPR_NUM_REG [i]));
    6882
     83#ifdef STATISTICS
     84              (*_stat_nb_inst_push_gpr) ++;
     85#endif
     86
    6987              _gpr_list [internal_PUSH_GPR_BANK[i]].push_back(PORT_READ(in_PUSH_GPR_NUM_REG [i]));
    7088            }
     
    7997              log_printf(TRACE,Free_List_unit,FUNCTION,"    * num_reg : %d",PORT_READ(in_PUSH_SPR_NUM_REG [i]));
    8098
     99#ifdef STATISTICS
     100              (*_stat_nb_inst_push_spr) ++;
     101#endif
     102
    81103              _spr_list [internal_PUSH_SPR_BANK[i]].push_back(PORT_READ(in_PUSH_SPR_NUM_REG [i]));
    82104            }
     105
     106#ifdef STATISTICS
     107          for (uint32_t i=0; i<_param->_nb_bank; ++i)
     108            {
     109              (*(_stat_bank_gpr_nb_elt [i])) += _gpr_list[i].size();
     110              (*(_stat_bank_spr_nb_elt [i])) += _spr_list[i].size();
     111            }
     112#endif
    83113
    84114#if (DEBUG >= DEBUG_TRACE) and (DEBUG_Free_List_unit == true)
     
    140170        if (1)
    141171          for (uint32_t i=0; i<_param->_nb_bank; ++i)
    142           {
     172            {
    143173            for (std::list<Tgeneral_address_t>::iterator it1=_gpr_list[i].begin();
    144174                 it1!=_gpr_list[i].end();
Note: See TracChangeset for help on using the changeset viewer.