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

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp

    r118 r120  
    99#include "Behavioural/include/Allocation.h"
    1010#include "Common/include/Max.h"
     11#include "Common/include/Filename.h"
    1112
    1213namespace morpheo                    {
     
    342343      if (_param->_have_thread [i])
    343344        {
    344           std::string filename = MORPHEO_LOG+"/"+toString(getpid())+"-Instruction_flow-thread_"+toString(i)+".log";
     345          std::string filename = morpheo::filename(MORPHEO_LOG,
     346                                                   "Instruction_flow-thread_"+toString(i),
     347                                                   "",
     348                                                   "log",
     349                                                   false,
     350                                                   log_with_pid,
     351                                                   false);
    345352         
    346353          instruction_log_file [i] .open(filename.c_str() ,std::ios::out | std::ios::trunc);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_rename.cpp

    r88 r120  
    2424    log_function(OOO_Engine_Glue,FUNCTION,_name.c_str());
    2525
    26     for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
     26    for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    2727      for (uint32_t j=0; j<_param->_nb_inst_decod[i]; ++j)
    28         // if have not front_end_id port, this function is not use
    29         PORT_WRITE(out_RENAME_RENAME_UNIT_FRONT_END_ID [i][j],_param->_translate_front_end_id_to_rename_unit [PORT_READ(in_RENAME_FRONT_END_ID [i][j])]);
    30    
     28        {
     29          // if have not front_end_id port, this function is not use
     30          PORT_WRITE(out_RENAME_RENAME_UNIT_FRONT_END_ID [i][j],_param->_translate_front_end_id_to_rename_unit [PORT_READ(in_RENAME_FRONT_END_ID [i][j])]);
     31        }
     32
    3133    log_end(OOO_Engine_Glue,FUNCTION);
    3234  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp

    r117 r120  
    411411          uint32_t x = 0;
    412412          for (uint32_t j=0; j<_param->_nb_front_end; j++)
    413             if (i == *it)
     413            if (j == *it)
    414414              {
    415415                // this front end is link with this rename_unit
     
    486486                    if (_param->_have_port_front_end_id)
    487487                    COMPONENT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+            "_FRONT_END_ID" ,
    488                                              dest, "in_RENAME_"   +toString(j)+"_"+toString(k)+"_RENAME_UNIT_FRONT_END_ID" );
     488                                             dest,"out_RENAME_"   +toString(j)+"_"+toString(k)+"_RENAME_UNIT_FRONT_END_ID" );
    489489                  }
    490490
     
    658658          uint32_t x = 0;
    659659          for (uint32_t j=0; j<_param->_nb_front_end; j++)
    660             if (i == (*it))
     660            if (j == (*it))
    661661              {
    662662                for (uint32_t k=0; k<_param->_nb_context[i]; k++)
     
    685685          uint32_t x = 0;
    686686          for (uint32_t j=0; j<_param->_nb_front_end; j++)
    687             if (i == *it)
     687            if (j == *it)
    688688              {
    689689                for (uint32_t k=0; k<_param->_nb_context[j]; k++)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp

    r117 r120  
    132132    test();
    133133
     134    log_printf(TRACE,OOO_Engine,FUNCTION,"  * link_front_end_with_rename_unit");
    134135    _link_front_end_with_rename_unit = new std::vector<uint32_t> [_nb_rename_unit];
    135136    for (uint32_t i=0; i<_nb_front_end; i++)
    136       _link_front_end_with_rename_unit[_link_rename_unit_with_front_end[i]].push_back(i);
    137 
     137      {
     138        uint32_t num_rename_unit = _link_rename_unit_with_front_end[i];
     139
     140        log_printf(TRACE,OOO_Engine,FUNCTION,"    front_end %d is link with rename_unit %d with id %d",i,num_rename_unit,_link_front_end_with_rename_unit[num_rename_unit].size());
     141
     142        _link_front_end_with_rename_unit[num_rename_unit].push_back(i);
     143      }
    138144    _rename_unit_size_front_end_id                = new uint32_t    [_nb_rename_unit];
    139145    _rename_unit_size_context_id                  = new uint32_t    [_nb_rename_unit];
     
    172178    for (uint32_t i=0; i<_nb_rename_unit; i++)
    173179      {
    174         log_printf(TRACE,OOO_Engine,FUNCTION,"Rename_unit [%d]",i);
    175         log_printf(TRACE,OOO_Engine,FUNCTION," * front_end : %d",_rename_unit_nb_front_end[i]);
     180        log_printf(TRACE,OOO_Engine,FUNCTION,"  * Rename_unit [%d]",i);
     181        log_printf(TRACE,OOO_Engine,FUNCTION,"    * front_end : %d",_rename_unit_nb_front_end[i]);
    176182       
    177183        for (uint32_t j=0; j<_rename_unit_nb_front_end[i]; j++)
    178184          {
    179             log_printf(TRACE,OOO_Engine,FUNCTION,"   * [%d] nb_context : %d, nb_inst_decod : %d",j,_rename_unit_nb_context[i][j],_rename_unit_nb_inst_decod[i][j]);
     185            log_printf(TRACE,OOO_Engine,FUNCTION,"      * [%d] nb_context : %d, nb_inst_decod : %d",j,_rename_unit_nb_context[i][j],_rename_unit_nb_inst_decod[i][j]);
    180186
    181187            for (uint32_t k=0; k<_rename_unit_nb_context[i][j]; ++k)
    182               log_printf(TRACE,OOO_Engine,FUNCTION,"     * [%d][%d] link_lsq : %d",j,k,_rename_unit_link_load_store_unit_with_thread[i][j][k]);
     188              log_printf(TRACE,OOO_Engine,FUNCTION,"        * [%d][%d] link_lsq : %d",j,k,_rename_unit_link_load_store_unit_with_thread[i][j][k]);
    183189          }
    184190      }
     
    203209        _sum_inst_retire += _nb_inst_retire [i];
    204210
    205         log_printf(TRACE,OOO_Engine,FUNCTION,"rename_unit [%d] - nb_inst_insert %d, nb_inst_retire %d", i,_nb_inst_insert [i],_nb_inst_retire [i]);
     211        log_printf(TRACE,OOO_Engine,FUNCTION,"  * rename_unit [%d] - nb_inst_insert %d, nb_inst_retire %d", i,_nb_inst_insert [i],_nb_inst_retire [i]);
    206212      }
    207213   
    208     log_printf(TRACE,OOO_Engine,FUNCTION,"sum_inst_insert %d, sum_inst_retire %d",_sum_inst_insert,_sum_inst_retire);
     214    log_printf(TRACE,OOO_Engine,FUNCTION,"  * sum_inst_insert %d, sum_inst_retire %d",_sum_inst_insert,_sum_inst_retire);
    209215
    210216//  _have_port_front_end_id            = _size_front_end_id   > 0;
Note: See TracChangeset for help on using the changeset viewer.