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_Front_end/Front_end/Decod_unit/Decod_queue
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/include/Decod_queue.h

    r108 r110  
    5555  private   : counter_t                     ** _stat_nb_inst;
    5656  private   : counter_t                      * _stat_use_queue;
     57
     58  private   : counter_t                      * _stat_sum_inst_enable;
     59  private   : counter_t                      * _stat_sum_transaction_decod_in;
     60  private   : counter_t                      * _stat_average_occupation_bundle;
    5761#endif
    5862
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_statistics_allocation.cpp

    r88 r110  
    2929                      param_statistics);
    3030
     31    _stat_sum_transaction_decod_in = _stat->create_variable("sum_transaction_decod_in");
     32    _stat_sum_inst_enable          = _stat->create_variable("sum_inst_enable");
     33    _stat_average_occupation_bundle= _stat->create_counter ("average_occupation_bundle", "", "Occupation average of instruction's bundle.");
     34
     35    _stat->create_expr                 ("average_occupation_bundle" ,"/ sum_inst_enable sum_transaction_decod_in");
     36    _stat->create_expr_percent         ("percent_occupation_bundle" ,"average_occupation_bundle", toString(_param->_nb_inst_decod),"Percent of instruction's bundle occupation.");
     37
    3138    _stat_use_queue = _stat->create_variable ("use_queue");
    3239    _stat_nb_inst   = new counter_t * [_param->_nb_context];
     
    3946       
    4047        _stat->create_expr_average_by_cycle("average_inst_"+toString(i), "nb_inst_"+toString(i), "", toString(_("Average instruction number in decod_queue by cycle (context %d)"),i));
    41         _stat->create_expr_percent         ("percent_use_inst_"+toString(i) , "average_inst_"+toString(i), toString(_param->_size_queue), toString(_("Percent decod_queue's occupation (context %d)"),i));
     48        _stat->create_expr_percent         ("percent_use_inst_"+toString(i) , "average_inst_"+toString(i), toString(_param->_nb_instruction_in_queue), toString(_("Percent decod_queue's occupation (context %d)"),i));
    4249       
    4350        if (i == 0)
     
    4855
    4956    _stat->create_expr_average_by_cycle("average_inst", expr_average_inst, "", _("Average instruction number in decod_queue by cycle (all context)"));
    50     _stat->create_expr_percent         ("percent_use_inst" , "average_inst", toString(_param->_size_queue), _("Percent decod_queue's occupation (all context)"));
     57    _stat->create_expr_percent         ("percent_use_inst" , "average_inst", toString(_param->_nb_instruction_in_queue), _("Percent decod_queue's occupation (all context)"));
    5158   
    5259    _stat->create_expr_average_by_cycle("average_use_queue", "use_queue", "", _("Average slot decod_queue occupation by cycle."));
    53     _stat->create_expr_percent         ("percent_use_queue", "average_use_queue", toString(_param->_size_queue), _("Percent slot decod_queue occupation."));
     60    _stat->create_expr_percent         ("percent_use_queue", "average_use_queue", toString(_param->_nb_instruction_in_queue), _("Percent slot decod_queue occupation."));
    5461   
    5562    log_end(Decod_queue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_transition.cpp

    r109 r110  
    5151                   entry = new decod_queue_entry_t (_param->_nb_inst_decod);
    5252                   reg_QUEUE->push_back(entry);
     53
     54#ifdef STATISTICS
     55                   if (usage_is_set(_usage,USE_STATISTICS))
     56                     (*_stat_sum_transaction_decod_in) ++;
     57#endif
    5358                 }
     59
     60#ifdef STATISTICS
     61                if (usage_is_set(_usage,USE_STATISTICS))
     62                  (*_stat_sum_inst_enable) ++;
     63#endif
    5464
    5565                Tcontext_t context = (_param->_have_port_context_id)?PORT_READ(in_DECOD_IN_CONTEXT_ID [i]):0;
Note: See TracChangeset for help on using the changeset viewer.