Ignore:
Timestamp:
Aug 4, 2010, 10:09:03 PM (14 years ago)
Author:
rosiere
Message:

1) Full parallel compilation
2) Add statistics in ROB : list instruction affinity

File:
1 edited

Legend:

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

    r141 r142  
    770770                    can_continue = true;
    771771
    772                     Tcontext_t  front_end_id = entry->front_end_id;
    773                     Tcontext_t  context_id   = entry->context_id  ;
    774                     uint32_t    num_thread   = _param->_translate_num_context_to_num_thread [front_end_id][context_id];
    775                     rob_state_t state        = entry->state_old;
    776                     Ttype_t     type         = entry->type        ;
    777                     bool        retire_ok    = false;
    778                     uint32_t    packet_id    = ((entry->ptr << _param->_shift_num_slot) | num_bank);
     772                    Tcontext_t   front_end_id = entry->front_end_id;
     773                    Tcontext_t   context_id   = entry->context_id  ;
     774                    uint32_t     num_thread   = _param->_translate_num_context_to_num_thread [front_end_id][context_id];
     775                    rob_state_t  state        = entry->state_old;
     776                    Ttype_t      type         = entry->type        ;
     777                    Toperation_t operation    = entry->operation   ;
     778                    bool         retire_ok    = false;
     779                    uint32_t     packet_id    = ((entry->ptr << _param->_shift_num_slot) | num_bank);
    779780                   
    780781                    log_printf(TRACE,Commit_unit,FUNCTION,"    * front_end_id : %d",front_end_id );
     
    875876                            (*_stat_nb_inst_instruction [instruction]) ++;
    876877                            (*_stat_nb_inst_type        [type]       ) ++;
     878
     879                          //uint32_t index = (_stat_last_inst [num_thread] << SIZE_INSTRUCTION) | instruction;
     880                            uint32_t index = ((_stat_last_inst_type      [num_thread] << (SIZE_TYPE+2*SIZE_OPERATION)) |
     881                                              (_stat_last_inst_operation [num_thread] << (SIZE_TYPE+  SIZE_OPERATION)) |
     882                                              (                type                   << (            SIZE_OPERATION)) |
     883                                              (                operation                                             ));
     884
     885                            _stat_inst_fusion [num_thread][index] ++;
     886                           
     887                          //_stat_last_inst           [num_thread] = instruction;
     888                            _stat_last_inst_type      [num_thread] = type       ;
     889                            _stat_last_inst_operation [num_thread] = operation  ;
    877890                          }
    878891                        else
     
    893906                          << "{" << ((retire_ok)?"OK":"KO") << "} ";
    894907                       
    895                         if ((type == TYPE_MEMORY) and  is_operation_memory_load(entry->operation))
     908                        if ((type == TYPE_MEMORY) and  is_operation_memory_load(operation))
    896909                          instruction_log_file [num_thread] << std::hex << entry->load_data << std::dec;
    897910                       
Note: See TracChangeset for help on using the changeset viewer.