Ignore:
Timestamp:
Feb 1, 2011, 9:57:54 PM (13 years ago)
Author:
rosiere
Message:

1) Integration of RegisterFile_Internal_Banked in RegisterFile?
2) Erase "read_write" interface in RegisterFile_Monolithic component
3) Add smith predictor parameters in Load_store_pointer_unit.
4) Fix not statistics flags

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/include/Configuration.h

    r97 r146  
    3535
    3636  private : Parameters * _param;
     37#ifdef STATISTICS
    3738  private : morpheo::behavioural::Parameters_Statistics * _param_statistics;
    38 
     39#endif
    3940  private : Tusage_t                                      _usage;
    4041   
     
    5051  public   : Tusage_t                                      getUsage           (void);
    5152  public   : Parameters                                  * getParam           (void);
     53#ifdef STATISTICS
    5254  public   : morpheo::behavioural::Parameters_Statistics * getParamStatistics (void);
    53 
     55#endif
    5456  public   : void                 toFile         (std::string dirname=".");
    5557  public   : friend std::ostream& operator<<     (std::ostream& output,
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/include/Parameters.h

    r139 r146  
    8787  public : uint32_t             ** _lsu_pht_size_counter                          ;//[nb_load_store_unit][1]
    8888  public : uint32_t             ** _lsu_pht_nb_counter                            ;//[nb_load_store_unit][1]
     89  public : Tpht_scheme_t        ** _lsu_pht_scheme                                ;//[nb_load_store_unit][1]
    8990  public : uint32_t              * _nb_bypass_memory                              ;//[nb_load_store_unit]
    9091  public : uint32_t              * _nb_cache_port                                 ;//[nb_load_store_unit]
     
    126127  public : uint32_t             ** _dir_pht_nb_counter                            ;//[nb_front_end][3]
    127128  public : uint32_t             ** _dir_pht_size_address_share                    ;//[nb_front_end][3]
     129  public : Tpht_scheme_t        ** _dir_pht_scheme                                ;//[nb_front_end][3]
    128130 
    129131    // OOO_Engine
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration.cpp

    r138 r146  
    8282      std::cout << header();
    8383
     84#ifdef STATISTICS
    8485    //--------------------------------------------------
    8586    // Parameters_Statistics
     
    8788    _param_statistics = new Parameters_Statistics (fromString<uint64_t>(_simulator->getParam("statistics_cycle_start")),
    8889                                                   fromString<uint64_t>(_simulator->getParam("statistics_period")));
     90#endif
    8991
    9092    //--------------------------------------------------
     
    133135    delete _instance;
    134136//  simulation_destroy();
     137#ifdef STATISTICS
    135138    delete _param_statistics;
     139#endif
    136140
    137141    log_end(Configuration,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration_getParamStatistics.cpp

    r88 r146  
     1#ifdef STATISTICS
    12/*
    23 * $Id$
     
    2223}; // end namespace behavioural
    2324}; // end namespace morpheo             
     25#endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance.cpp

    r139 r146  
    116116        DELETE1(_param->_nb_inst_issue                          ,_param->_nb_ooo_engine);
    117117        DELETE1(_param->_nb_rename_unit                         ,_param->_nb_ooo_engine);
     118        DELETE2(_param->_dir_pht_scheme                         ,_param->_nb_front_end,3);
    118119        DELETE2(_param->_dir_pht_size_address_share             ,_param->_nb_front_end,3);
    119120        DELETE2(_param->_dir_pht_nb_counter                     ,_param->_nb_front_end,3);
     
    138139        DELETE1(_param->_nb_cache_port                          ,_param->_nb_load_store_unit);
    139140        DELETE1(_param->_nb_bypass_memory                       ,_param->_nb_load_store_unit);
     141        DELETE2(_param->_lsu_pht_scheme                         ,_param->_nb_load_store_unit,1);
    140142        DELETE2(_param->_lsu_pht_nb_counter                     ,_param->_nb_load_store_unit,1);
    141143        DELETE2(_param->_lsu_pht_size_counter                   ,_param->_nb_load_store_unit,1);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_fromInternalStructure.cpp

    r139 r146  
    178178    // load_store_unit
    179179    //-----------------------------------------------------
    180     ALLOC1(_param->_size_store_queue                   ,uint32_t    ,_param->_nb_load_store_unit);
    181     ALLOC1(_param->_size_load_queue                    ,uint32_t    ,_param->_nb_load_store_unit);
    182     ALLOC1(_param->_size_speculative_access_queue      ,uint32_t    ,_param->_nb_load_store_unit);
    183     ALLOC1(_param->_nb_store_queue_bank                ,uint32_t    ,_param->_nb_load_store_unit);
    184     ALLOC1(_param->_nb_load_queue_bank                 ,uint32_t    ,_param->_nb_load_store_unit);
    185     ALLOC1(_param->_nb_port_check                      ,uint32_t    ,_param->_nb_load_store_unit);
     180    ALLOC1(_param->_size_store_queue                   ,uint32_t     ,_param->_nb_load_store_unit);
     181    ALLOC1(_param->_size_load_queue                    ,uint32_t     ,_param->_nb_load_store_unit);
     182    ALLOC1(_param->_size_speculative_access_queue      ,uint32_t     ,_param->_nb_load_store_unit);
     183    ALLOC1(_param->_nb_store_queue_bank                ,uint32_t     ,_param->_nb_load_store_unit);
     184    ALLOC1(_param->_nb_load_queue_bank                 ,uint32_t     ,_param->_nb_load_store_unit);
     185    ALLOC1(_param->_nb_port_check                      ,uint32_t     ,_param->_nb_load_store_unit);
    186186    ALLOC1(_param->_speculative_load                   ,core::multi_execute_loop::execute_loop::Tspeculative_load_t,_param->_nb_load_store_unit);
    187     ALLOC1(_param->_speculative_commit_predictor_scheme,Tpredictor_t,_param->_nb_load_store_unit);
    188     ALLOC2(_param->_lsu_pht_size_counter               ,uint32_t    ,_param->_nb_load_store_unit,1);
    189     ALLOC2(_param->_lsu_pht_nb_counter                 ,uint32_t    ,_param->_nb_load_store_unit,1);
    190     ALLOC1(_param->_nb_bypass_memory                   ,uint32_t    ,_param->_nb_load_store_unit);
    191     ALLOC1(_param->_nb_cache_port                      ,uint32_t    ,_param->_nb_load_store_unit);
    192     ALLOC1(_param->_nb_inst_memory                     ,uint32_t    ,_param->_nb_load_store_unit);
     187    ALLOC1(_param->_speculative_commit_predictor_scheme,Tpredictor_t ,_param->_nb_load_store_unit);
     188    ALLOC2(_param->_lsu_pht_size_counter               ,uint32_t     ,_param->_nb_load_store_unit,1);
     189    ALLOC2(_param->_lsu_pht_nb_counter                 ,uint32_t     ,_param->_nb_load_store_unit,1);
     190    ALLOC2(_param->_lsu_pht_scheme                     ,Tpht_scheme_t,_param->_nb_load_store_unit,1);
     191    ALLOC1(_param->_nb_bypass_memory                   ,uint32_t     ,_param->_nb_load_store_unit);
     192    ALLOC1(_param->_nb_cache_port                      ,uint32_t     ,_param->_nb_load_store_unit);
     193    ALLOC1(_param->_nb_inst_memory                     ,uint32_t     ,_param->_nb_load_store_unit);
    193194
    194195    for (uint32_t i=0; i<_param->_nb_load_store_unit; ++i)
     
    220221          {
    221222          //log_printf(INFO,Configuration,FUNCTION,_("PREDICTOR [%d][%d]"),i,j);
    222         _param->_lsu_pht_size_counter             [i][j] = fromString<uint32_t    > (getParam("lsu_pht_size_counter"               ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    223         _param->_lsu_pht_nb_counter               [i][j] = fromString<uint32_t    > (getParam("lsu_pht_nb_counter"                 ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     223        _param->_lsu_pht_size_counter             [i][j] = fromString<uint32_t     > (getParam("lsu_pht_size_counter"               ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     224        _param->_lsu_pht_nb_counter               [i][j] = fromString<uint32_t     > (getParam("lsu_pht_nb_counter"                 ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     225        _param->_lsu_pht_scheme                   [i][j] = fromString<Tpht_scheme_t> (getParam("lsu_pht_scheme"                     ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    224226          }
    225227
     
    309311    // front_end
    310312    //-----------------------------------------------------
    311     ALLOC1(_param->_nb_context                    ,uint32_t    ,_param->_nb_front_end);
    312     ALLOC1(_param->_nb_decod_unit                 ,uint32_t    ,_param->_nb_front_end);
    313     ALLOC1(_param->_nb_inst_branch_predict        ,uint32_t    ,_param->_nb_front_end);
    314     ALLOC1(_param->_nb_inst_branch_decod          ,uint32_t    ,_param->_nb_front_end);
    315     ALLOC1(_param->_nb_inst_branch_update         ,uint32_t    ,_param->_nb_front_end);
    316     ALLOC1(_param->_btb_size_queue                ,uint32_t    ,_param->_nb_front_end);
    317     ALLOC1(_param->_btb_associativity             ,uint32_t    ,_param->_nb_front_end);
    318     ALLOC1(_param->_btb_size_counter              ,uint32_t    ,_param->_nb_front_end);
    319     ALLOC1(_param->_btb_victim_scheme             ,Tvictim_t   ,_param->_nb_front_end);
    320     ALLOC1(_param->_dir_predictor_scheme          ,Tpredictor_t,_param->_nb_front_end);
    321     ALLOC2(_param->_dir_have_bht                  ,bool        ,_param->_nb_front_end,3);
    322     ALLOC2(_param->_dir_bht_size_shifter          ,uint32_t    ,_param->_nb_front_end,3);
    323     ALLOC2(_param->_dir_bht_nb_shifter            ,uint32_t    ,_param->_nb_front_end,3);
    324     ALLOC2(_param->_dir_have_pht                  ,bool        ,_param->_nb_front_end,3);
    325     ALLOC2(_param->_dir_pht_size_counter          ,uint32_t    ,_param->_nb_front_end,3);
    326     ALLOC2(_param->_dir_pht_nb_counter            ,uint32_t    ,_param->_nb_front_end,3);
    327     ALLOC2(_param->_dir_pht_size_address_share    ,uint32_t    ,_param->_nb_front_end,3);
     313    ALLOC1(_param->_nb_context                    ,uint32_t     ,_param->_nb_front_end);
     314    ALLOC1(_param->_nb_decod_unit                 ,uint32_t     ,_param->_nb_front_end);
     315    ALLOC1(_param->_nb_inst_branch_predict        ,uint32_t     ,_param->_nb_front_end);
     316    ALLOC1(_param->_nb_inst_branch_decod          ,uint32_t     ,_param->_nb_front_end);
     317    ALLOC1(_param->_nb_inst_branch_update         ,uint32_t     ,_param->_nb_front_end);
     318    ALLOC1(_param->_btb_size_queue                ,uint32_t     ,_param->_nb_front_end);
     319    ALLOC1(_param->_btb_associativity             ,uint32_t     ,_param->_nb_front_end);
     320    ALLOC1(_param->_btb_size_counter              ,uint32_t     ,_param->_nb_front_end);
     321    ALLOC1(_param->_btb_victim_scheme             ,Tvictim_t    ,_param->_nb_front_end);
     322    ALLOC1(_param->_dir_predictor_scheme          ,Tpredictor_t ,_param->_nb_front_end);
     323    ALLOC2(_param->_dir_have_bht                  ,bool         ,_param->_nb_front_end,3);
     324    ALLOC2(_param->_dir_bht_size_shifter          ,uint32_t     ,_param->_nb_front_end,3);
     325    ALLOC2(_param->_dir_bht_nb_shifter            ,uint32_t     ,_param->_nb_front_end,3);
     326    ALLOC2(_param->_dir_have_pht                  ,bool         ,_param->_nb_front_end,3);
     327    ALLOC2(_param->_dir_pht_size_counter          ,uint32_t     ,_param->_nb_front_end,3);
     328    ALLOC2(_param->_dir_pht_nb_counter            ,uint32_t     ,_param->_nb_front_end,3);
     329    ALLOC2(_param->_dir_pht_size_address_share    ,uint32_t     ,_param->_nb_front_end,3);
     330    ALLOC2(_param->_dir_pht_scheme                ,Tpht_scheme_t,_param->_nb_front_end,3);
    328331
    329332    for (uint32_t i=0; i<_param->_nb_front_end; ++i)
     
    356359          //log_printf(INFO,Configuration,FUNCTION,_("PREDICTOR [%d][%d]"),i,j);
    357360
    358         _param->_dir_have_bht               [i][j] = fromString<bool        >(getParam("dir_have_bht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    359         _param->_dir_bht_size_shifter       [i][j] = fromString<uint32_t    >(getParam("dir_bht_size_shifter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    360         _param->_dir_bht_nb_shifter         [i][j] = fromString<uint32_t    >(getParam("dir_bht_nb_shifter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    361         _param->_dir_have_pht               [i][j] = fromString<bool        >(getParam("dir_have_pht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    362         _param->_dir_pht_size_counter       [i][j] = fromString<uint32_t    >(getParam("dir_pht_size_counter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    363         _param->_dir_pht_nb_counter         [i][j] = fromString<uint32_t    >(getParam("dir_pht_nb_counter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    364         _param->_dir_pht_size_address_share [i][j] = fromString<uint32_t    >(getParam("dir_pht_size_address_share","front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     361        _param->_dir_have_bht               [i][j] = fromString<bool         >(getParam("dir_have_bht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     362        _param->_dir_bht_size_shifter       [i][j] = fromString<uint32_t     >(getParam("dir_bht_size_shifter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     363        _param->_dir_bht_nb_shifter         [i][j] = fromString<uint32_t     >(getParam("dir_bht_nb_shifter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     364        _param->_dir_have_pht               [i][j] = fromString<bool         >(getParam("dir_have_pht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     365        _param->_dir_pht_size_counter       [i][j] = fromString<uint32_t     >(getParam("dir_pht_size_counter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     366        _param->_dir_pht_nb_counter         [i][j] = fromString<uint32_t     >(getParam("dir_pht_nb_counter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     367        _param->_dir_pht_size_address_share [i][j] = fromString<uint32_t     >(getParam("dir_pht_size_address_share","front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     368        _param->_dir_pht_scheme             [i][j] = fromString<Tpht_scheme_t>(getParam("dir_pht_scheme"            ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
    365369          }
    366370      }   
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Parameter_definition_test.cpp

    r128 r146  
    88#include "Behavioural/Configuration/include/Parameter_definition.h"
    99#include "Behavioural/include/Stat_binary_tree.h"
     10#include "Behavioural/include/Stat_type.h"
    1011#include "Common/include/FromString.h"
    1112
Note: See TracChangeset for help on using the changeset viewer.