Ignore:
Timestamp:
Jul 30, 2010, 4:47:27 PM (14 years ago)
Author:
rosiere
Message:
  • Add test for all configuration
  • RAT : add rat scheme (depth_save)
File:
1 edited

Legend:

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

    r138 r139  
    88#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/Parameters.h"
    99#include "Common/include/Max.h"
     10#include "Behavioural/include/Allocation.h"
    1011
    1112namespace morpheo {
     
    6162                          uint32_t            * nb_general_register              ,//[nb_rename_unit]
    6263                          uint32_t            * nb_special_register              ,//[nb_rename_unit]
     64                          Trat_scheme_t       * rat_scheme                       ,//[nb_rename_unit]
    6365                          uint32_t            * nb_reg_free                      ,//[nb_rename_unit]
    6466                          uint32_t            * nb_rename_unit_bank              ,//[nb_rename_unit]
     
    108110    _issue_priority                    = issue_priority                   ;
    109111    _issue_load_balancing              = issue_load_balancing             ;
    110 //     _table_routing                     = table_routing                    ;
    111 //     _table_issue_type                  = table_issue_type                 ;
     112//  _table_routing                     = table_routing                    ;
     113//  _table_issue_type                  = table_issue_type                 ;
    112114    _size_reexecute_queue              = size_reexecute_queue             ;
    113115    _rename_select_priority            = rename_select_priority           ;
     
    116118    _nb_general_register               = nb_general_register              ;
    117119    _nb_special_register               = nb_special_register              ;
     120    _rat_scheme                        = rat_scheme                       ;
    118121    _nb_reg_free                       = nb_reg_free                      ;
    119122    _nb_rename_unit_bank               = nb_rename_unit_bank              ;
    120 //     _size_read_counter                 = size_read_counter                ;
     123//  _size_read_counter                 = size_read_counter                ;
    121124    _nb_load_store_queue               = nb_load_store_queue              ;
    122125    _size_store_queue                  = size_store_queue                 ;
     
    147150    _rename_unit_nb_inst_decod                    = new uint32_t *  [_nb_rename_unit];
    148151    _rename_unit_link_load_store_unit_with_thread = new uint32_t ** [_nb_rename_unit];
     152    _rename_unit_nb_branch_speculated             = new uint32_t ** [_nb_rename_unit];
    149153   
    150154    for (uint32_t i=0; i<_nb_rename_unit; i++)
     
    156160        _rename_unit_nb_inst_decod                    [i] = new uint32_t   [x];
    157161        _rename_unit_link_load_store_unit_with_thread [i] = new uint32_t * [x];
     162        _rename_unit_nb_branch_speculated             [i] = new uint32_t * [x];
    158163
    159164        // Scan front_end list
     
    164169            _rename_unit_nb_inst_decod [i][j] = _nb_inst_decod [*it];
    165170            _rename_unit_link_load_store_unit_with_thread [i][j] = new uint32_t [_nb_context [*it]];
    166            
     171            _rename_unit_nb_branch_speculated             [i][j] = new uint32_t [_nb_context [*it]];
     172
    167173            for (uint32_t k=0; k<_nb_context [*it]; k++)
    168               _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k];
     174              {
     175                _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k];
     176                _rename_unit_nb_branch_speculated             [i][j][k] = _nb_branch_speculated             [*it][k];
     177              }
    169178
    170179            ++it;           
     
    188197          }
    189198      }
     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]];
    190204
    191205    _max_nb_context                = max<uint32_t>(_nb_context,_nb_front_end);
     
    242256       _nb_general_register                           [i],
    243257       _nb_special_register                           [i],
     258       _rat_scheme                                    [i],
    244259       _nb_reg_free                                   [i],
    245        _nb_rename_unit_bank                           [i]// ,
    246 //        _size_read_counter                             [i]
    247        
     260       _nb_rename_unit_bank                           [i],
     261//     _size_read_counter                             [i]
     262       _rename_unit_nb_branch_speculated              [i]
    248263       );
    249264
     
    268283        size_general_register   ,
    269284        size_special_register   ,
     285       _commit_unit_rat_scheme  ,
    270286       _issue_priority          ,
    271287       _issue_load_balancing    ,
     
    396412      {
    397413        for (uint32_t j=0; j<_nb_front_end; j++)
     414          delete [] _rename_unit_nb_branch_speculated           [i][j];
     415        delete [] _rename_unit_nb_branch_speculated             [i];
     416        for (uint32_t j=0; j<_nb_front_end; j++)
    398417          delete [] _rename_unit_link_load_store_unit_with_thread [i][j];
    399        
    400418        delete [] _rename_unit_link_load_store_unit_with_thread [i];
    401419        delete [] _rename_unit_nb_inst_decod                    [i];
     
    403421      }
    404422   
     423    delete [] _rename_unit_nb_branch_speculated            ;
    405424    delete [] _rename_unit_link_load_store_unit_with_thread;
    406425    delete [] _rename_unit_nb_inst_decod                   ;
     
    410429    delete [] _rename_unit_size_context_id                 ;
    411430    delete [] _link_front_end_with_rename_unit             ;
     431
     432    DELETE1(_commit_unit_rat_scheme,_nb_front_end);
    412433
    413434    for (uint32_t i=0; i<_nb_rename_unit; i++)
Note: See TracChangeset for help on using the changeset viewer.