Ignore:
Timestamp:
Oct 13, 2010, 8:15:51 PM (14 years ago)
Author:
rosiere
Message:

1) add test with SPECINT2K
2) new config of Selftest
3) modif RAT to support multiple depth_save ... but not finish (need fix Update Prediction Table)
4) add Function_pointer but need fix

File:
1 edited

Legend:

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

    r139 r145  
    8282    log_begin(OOO_Engine,FUNCTION);
    8383
    84     _nb_front_end                      = nb_front_end                     ;
    85     _nb_context                        = nb_context                       ;
    86     _nb_rename_unit                    = nb_rename_unit                   ;
    87     _nb_execute_loop                   = nb_execute_loop                  ;
    88     _nb_inst_decod                     = nb_inst_decod                    ;
    89     _nb_inst_insert                    = nb_inst_insert                   ;
    90     _nb_inst_retire                    = nb_inst_retire                   ;
    91 //  _nb_inst_issue                     = nb_inst_issue                    ;
    92     _nb_inst_execute                   = nb_inst_execute                  ;
    93     _nb_inst_reexecute                 = nb_inst_reexecute                ;
    94     _nb_inst_commit                    = nb_inst_commit                   ;
    95     _nb_inst_branch_complete           = nb_inst_branch_complete          ;
    96     _nb_branch_speculated              = nb_branch_speculated             ;
    97     _nb_rename_unit_select             = nb_rename_unit_select            ;
    98     _nb_execute_loop_select            = nb_execute_loop_select           ;
    99 //  _size_general_data                 = size_general_data                ;
    100 //  _size_special_data                 = size_special_data                ;
    101     _link_rename_unit_with_front_end   = link_rename_unit_with_front_end  ;
    102     _size_re_order_buffer              = size_re_order_buffer             ;
    103     _nb_re_order_buffer_bank           = nb_re_order_buffer_bank          ;
    104     _retire_ooo_scheme                 = retire_ooo_scheme                ;
    105     _commit_priority                   = commit_priority                  ;
    106     _commit_load_balancing             = commit_load_balancing            ;
    107     _size_issue_queue                  = size_issue_queue                 ;
    108     _issue_queue_scheme                = issue_queue_scheme               ;
    109     _nb_issue_queue_bank               = nb_issue_queue_bank              ;
    110     _issue_priority                    = issue_priority                   ;
    111     _issue_load_balancing              = issue_load_balancing             ;
    112 //  _table_routing                     = table_routing                    ;
    113 //  _table_issue_type                  = table_issue_type                 ;
    114     _size_reexecute_queue              = size_reexecute_queue             ;
    115     _rename_select_priority            = rename_select_priority           ;
    116     _rename_select_load_balancing      = rename_select_load_balancing     ;
    117     _rename_select_nb_front_end_select = rename_select_nb_front_end_select;
    118     _nb_general_register               = nb_general_register              ;
    119     _nb_special_register               = nb_special_register              ;
    120     _rat_scheme                        = rat_scheme                       ;
    121     _nb_reg_free                       = nb_reg_free                      ;
    122     _nb_rename_unit_bank               = nb_rename_unit_bank              ;
    123 //  _size_read_counter                 = size_read_counter                ;
    124     _nb_load_store_queue               = nb_load_store_queue              ;
    125     _size_store_queue                  = size_store_queue                 ;
    126     _size_load_queue                   = size_load_queue                  ;
    127     _nb_inst_memory                    = nb_inst_memory                   ;
    128     _link_load_store_unit_with_thread  = link_load_store_unit_with_thread ;
    129     _implement_group                   = implement_group                  ;
    130 
     84    _nb_front_end                        = nb_front_end                     ;
     85    _nb_context                          = nb_context                       ;
     86    _nb_rename_unit                      = nb_rename_unit                   ;
     87    _nb_execute_loop                     = nb_execute_loop                  ;
     88    _nb_inst_decod                       = nb_inst_decod                    ;
     89    _nb_inst_insert                      = nb_inst_insert                   ;
     90    _nb_inst_retire                      = nb_inst_retire                   ;
     91//  _nb_inst_issue                       = nb_inst_issue                    ;
     92    _nb_inst_execute                     = nb_inst_execute                  ;
     93    _nb_inst_reexecute                   = nb_inst_reexecute                ;
     94    _nb_inst_commit                      = nb_inst_commit                   ;
     95    _nb_inst_branch_complete             = nb_inst_branch_complete          ;
     96    _nb_branch_speculated                = nb_branch_speculated             ;
     97    _nb_rename_unit_select               = nb_rename_unit_select            ;
     98    _nb_execute_loop_select              = nb_execute_loop_select           ;
     99//  _size_general_data                   = size_general_data                ;
     100//  _size_special_data                   = size_special_data                ;
     101    _link_rename_unit_with_front_end     = link_rename_unit_with_front_end  ;
     102    _size_re_order_buffer                = size_re_order_buffer             ;
     103    _nb_re_order_buffer_bank             = nb_re_order_buffer_bank          ;
     104    _retire_ooo_scheme                   = retire_ooo_scheme                ;
     105    _commit_priority                     = commit_priority                  ;
     106    _commit_load_balancing               = commit_load_balancing            ;
     107    _size_issue_queue                    = size_issue_queue                 ;
     108    _issue_queue_scheme                  = issue_queue_scheme               ;
     109    _nb_issue_queue_bank                 = nb_issue_queue_bank              ;
     110    _issue_priority                      = issue_priority                   ;
     111    _issue_load_balancing                = issue_load_balancing             ;
     112//  _table_routing                       = table_routing                    ;
     113//  _table_issue_type                    = table_issue_type                 ;
     114    _size_reexecute_queue                = size_reexecute_queue             ;
     115    _rename_select_priority              = rename_select_priority           ;
     116    _rename_select_load_balancing        = rename_select_load_balancing     ;
     117    _rename_select_nb_front_end_select   = rename_select_nb_front_end_select;
     118    _nb_general_register                 = nb_general_register              ;
     119    _nb_special_register                 = nb_special_register              ;
     120    _rat_scheme                          = rat_scheme                       ;
     121    _nb_reg_free                         = nb_reg_free                      ;
     122    _nb_rename_unit_bank                 = nb_rename_unit_bank              ;
     123//  _size_read_counter                   = size_read_counter                ;
     124    _nb_load_store_queue                 = nb_load_store_queue              ;
     125    _size_store_queue                    = size_store_queue                 ;
     126    _size_load_queue                     = size_load_queue                  ;
     127    _nb_inst_memory                      = nb_inst_memory                   ;
     128    _link_load_store_unit_with_thread    = link_load_store_unit_with_thread ;
     129    _implement_group                     = implement_group                  ;
    131130    _nb_thread                           = nb_thread                          ;
    132131    _translate_num_context_to_num_thread = translate_num_context_to_num_thread;
     
    144143        _link_front_end_with_rename_unit[num_rename_unit].push_back(i);
    145144      }
     145
    146146    _rename_unit_size_front_end_id                = new uint32_t    [_nb_rename_unit];
    147147    _rename_unit_size_context_id                  = new uint32_t    [_nb_rename_unit];
     
    197197          }
    198198      }
    199 
    200     ALLOC1(_commit_unit_rat_scheme,Trat_scheme_t,_nb_front_end);
    201 
    202     for (uint32_t num_front_end=0; num_front_end<_nb_front_end; ++num_front_end)
    203       _commit_unit_rat_scheme [num_front_end] = rat_scheme [_link_rename_unit_with_front_end [num_front_end]];
    204199
    205200    _max_nb_context                = max<uint32_t>(_nb_context,_nb_front_end);
     
    265260    _param_commit_unit           = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::Parameters 
    266261      (
    267        _nb_front_end            ,
    268        _nb_context              ,
    269        _nb_rename_unit          ,
    270        _size_re_order_buffer    ,
    271        _nb_re_order_buffer_bank ,
    272        _retire_ooo_scheme       ,
    273        _nb_inst_insert          ,
    274        _nb_inst_retire          ,
    275        _nb_inst_commit          ,
    276        _nb_inst_reexecute       ,
    277        _nb_inst_branch_complete ,
    278        _nb_branch_speculated    ,
    279         size_nb_inst_decod      ,
    280         size_general_data       ,
    281         size_store_queue_ptr    ,
    282         size_load_queue_ptr     ,
    283         size_general_register   ,
    284         size_special_register   ,
    285        _commit_unit_rat_scheme  ,
    286        _issue_priority          ,
    287        _issue_load_balancing    ,
    288        _nb_rename_unit_select   ,
    289        _nb_thread               ,
     262       _nb_front_end                   ,
     263       _nb_context                     ,
     264       _nb_rename_unit                 ,
     265       _size_re_order_buffer           ,
     266       _nb_re_order_buffer_bank        ,
     267       _retire_ooo_scheme              ,
     268       _nb_inst_insert                 ,
     269       _nb_inst_retire                 ,
     270       _nb_inst_commit                 ,
     271       _nb_inst_reexecute              ,
     272       _nb_inst_branch_complete        ,
     273       _nb_branch_speculated           ,
     274        size_nb_inst_decod             ,
     275        size_general_data              ,
     276        size_store_queue_ptr           ,
     277        size_load_queue_ptr            ,
     278        size_general_register          ,
     279        size_special_register          ,
     280       _rat_scheme                     ,
     281       _link_front_end_with_rename_unit,
     282       _issue_priority                 ,
     283       _issue_load_balancing           ,
     284       _nb_rename_unit_select          ,
     285       _nb_thread                      ,
    290286       _translate_num_context_to_num_thread
    291287       );
     
    430426    delete [] _link_front_end_with_rename_unit             ;
    431427
    432     DELETE1(_commit_unit_rat_scheme,_nb_front_end);
    433 
    434428    for (uint32_t i=0; i<_nb_rename_unit; i++)
    435429    delete    _param_rename_unit [i]      ;
Note: See TracChangeset for help on using the changeset viewer.