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"

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src
Files:
3 edited

Legend:

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

    r109 r110  
    5959                                          commit_unit_ack        and
    6060                                          not rename_unit_no_execute);
    61            
     61
    6262            PORT_WRITE(out_INSERT_VAL             [x]   ,val            );
    6363            PORT_WRITE(out_INSERT_RENAME_UNIT_ACK [i][j],rename_unit_ack);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_statistics_allocation.cpp

    r88 r110  
    2626                      "OOO_Engine_Glue",
    2727                      param_statistics);
     28
     29    _stat_nb_inst_issue_stall_by_registerfile = _stat->create_variable("nb_inst_issue_stall_by_registerfile");
     30//  _stat_nb_inst_issue_stall_by_rename_unit  = _stat->create_variable("nb_inst_issue_stall_by_rename_unit" );
     31    _stat_nb_inst_issue_stall_by_commit_unit  = _stat->create_variable("nb_inst_issue_stall_by_commit_unit" );
     32    _stat_nb_inst_issue_stall_by_issue_queue  = _stat->create_variable("nb_inst_issue_stall_by_issue_queue" );
     33
     34//     std::string nb_inst_issue_stall = "+ + nb_inst_issue_stall_by_registerfile nb_inst_issue_stall_by_rename_unit + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
     35    std::string nb_inst_issue_stall = "+ nb_inst_issue_stall_by_registerfile + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
     36
     37    _stat->create_expr_percent ("percent_issue_stall_by_registerfile", "nb_inst_issue_stall_by_registerfile", nb_inst_issue_stall, _("Percent of instruction stalled by RegisterFile"));
     38//  _stat->create_expr_percent ("percent_issue_stall_by_rename_unit" , "nb_inst_issue_stall_by_rename_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Rename_Unit") );
     39    _stat->create_expr_percent ("percent_issue_stall_by_commit_unit" , "nb_inst_issue_stall_by_commit_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Commit_Unit") );
     40    _stat->create_expr_percent ("percent_issue_stall_by_issue_queue" , "nb_inst_issue_stall_by_issue_queue" , nb_inst_issue_stall, _("Percent of instruction stalled by Issue_Queue") );
    2841   
    2942    log_end(OOO_Engine_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_transition.cpp

    r88 r110  
    2323    log_begin(OOO_Engine_Glue,FUNCTION);
    2424
     25#ifdef STATISTICS
     26    if (usage_is_set(_usage,USE_STATISTICS))
     27      {
     28        uint32_t x=0;
     29        for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
     30          for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
     31            {
     32              if (PORT_READ(in_INSERT_RENAME_UNIT_VAL [i][j]))
     33                {
     34                  if (PORT_READ(in_INSERT_ACK [x]) == 0)
     35                    (*_stat_nb_inst_issue_stall_by_registerfile) ++;
     36                  if (PORT_READ(in_INSERT_COMMIT_UNIT_ACK [i][j]) == 0)
     37                    (*_stat_nb_inst_issue_stall_by_commit_unit ) ++;
     38                  if (PORT_READ(in_INSERT_ISSUE_QUEUE_ACK [i][j]) == 0)
     39                    (*_stat_nb_inst_issue_stall_by_issue_queue ) ++;
     40                }
     41              x++;
     42            }
     43      }
     44#endif
     45
    2546#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
    2647    end_cycle ();
Note: See TracChangeset for help on using the changeset viewer.