Ignore:
Timestamp:
May 16, 2009, 4:42:39 PM (15 years ago)
Author:
rosiere
Message:

1) Platforms : add new organization for test
2) Load_Store_Unit : add array to count nb_check in store_queue
3) Issue_queue and Core_Glue : rewrite the issue network
4) Special_Register_Unit : add reset value to register CID
5) Softwares : add multicontext test
6) Softwares : add SPECINT
7) Softwares : add MiBench?
7) Read_queue : inhib access for r0
8) Change Core_Glue (network) - dont yet support priority and load balancing scheme

File:
1 edited

Legend:

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

    r88 r117  
    3030   uint32_t              * ooo_engine_nb_inst_branch_complete   ,//[nb_ooo_engine]
    3131   uint32_t              * nb_inst_insert                       ,//[nb_ooo_engine]
    32    uint32_t              * nb_inst_issue                        ,//[nb_ooo_engine]
     32   uint32_t              * nb_inst_reexecute                    ,//[nb_ooo_engine]
     33   uint32_t              * nb_inst_issue_queue                  ,//[nb_ooo_engine]
     34   uint32_t              * nb_inst_issue_slot                   ,//[nb_ooo_engine]
    3335   uint32_t             ** nb_inst_execute                      ,//[nb_ooo_engine][ooo_engine_nb_execute_loop]
     36   bool                  * issue_queue_in_order                 ,//[nb_ooo_engine]
    3437   uint32_t              * nb_read_unit                         ,//[nb_execute_loop]
    3538   uint32_t              * nb_write_unit                        ,//[nb_execute_loop]
     
    4447   Tpriority_t             dispatch_priority                    ,
    4548   Tload_balancing_t       dispatch_load_balancing              ,
    46    bool               **** table_dispatch                       ,//[nb_ooo_engine][nb_inst_issue][execute_loop][nb_read_unit]
     49   bool               **** table_dispatch                       ,//[nb_ooo_engine][nb_inst_issue_slot][execute_loop][nb_read_unit]
     50   bool                *** table_issue_type                     ,//                                   [execute_loop][nb_read_unit][nb_type]
    4751   uint32_t             ** translate_ooo_engine_num_front_end   ,//[nb_ooo_engine][ooo_engine_nb_front_end]
    4852   uint32_t             ** translate_ooo_engine_num_execute_loop,//[nb_ooo_engine][ooo_engine_nb_execute_loop]
     
    6367    _ooo_engine_nb_inst_branch_complete    = ooo_engine_nb_inst_branch_complete   ;
    6468    _nb_inst_insert                        = nb_inst_insert                       ;
    65     _nb_inst_issue                         = nb_inst_issue                        ;
     69    _nb_inst_reexecute                     = nb_inst_reexecute                    ;
     70    _nb_inst_issue_queue                   = nb_inst_issue_queue                  ;
     71    _nb_inst_issue_slot                    = nb_inst_issue_slot                   ;
    6672    _nb_inst_execute                       = nb_inst_execute                      ;
     73    _issue_queue_in_order                  = issue_queue_in_order                 ;
    6774    _nb_read_unit                          = nb_read_unit                         ;
    6875    _nb_write_unit                         = nb_write_unit                        ;
     
    7077    _dispatch_load_balancing               = dispatch_load_balancing              ;
    7178    _table_dispatch                        = table_dispatch                       ;
     79    _table_issue_type                      = table_issue_type                     ;
    7280    _translate_ooo_engine_num_front_end    = translate_ooo_engine_num_front_end   ;
    7381    _translate_ooo_engine_num_execute_loop = translate_ooo_engine_num_execute_loop;
     
    7886    ALLOC1(_link_ooo_engine_with_front_end,uint32_t,_nb_front_end);
    7987    ALLOC1(_translate_num_front_end_to_ooo_engine_front_end_id,uint32_t,_nb_front_end);
    80 
    8188    for (uint32_t i=0; i<_nb_ooo_engine; ++i)
    8289      for (uint32_t j=0; j<_ooo_engine_nb_front_end[i]; ++j)
     
    102109
    103110    ALLOC2(_execute_loop_nb_inst_insert,uint32_t,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
    104     ALLOC2(_execute_loop_nb_inst_issue ,uint32_t,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
     111    ALLOC2(_execute_loop_nb_inst_issue_slot ,uint32_t,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
    105112
    106113    for (uint32_t i=0; i<_nb_execute_loop; ++i)
     
    108115        {
    109116          uint32_t num_ooo_engine = _translate_execute_loop_num_ooo_engine [i][j];
    110           _execute_loop_nb_inst_issue  [i][j] = _nb_inst_issue [num_ooo_engine];
    111           _execute_loop_nb_inst_insert [i][j] = _nb_inst_insert [num_ooo_engine];
     117          _execute_loop_nb_inst_issue_slot [i][j] = _nb_inst_issue_slot [num_ooo_engine];
     118          _execute_loop_nb_inst_insert     [i][j] = _nb_inst_insert    [num_ooo_engine];
    112119        }
    113120
     
    118125    _max_nb_write_unit                      = max<uint32_t>(_nb_write_unit             ,_nb_execute_loop);
    119126    _max_nb_inst_insert                     = max<uint32_t>(_nb_inst_insert            ,_nb_ooo_engine);
    120     _max_nb_inst_issue                      = max<uint32_t>(_nb_inst_issue             ,_nb_ooo_engine);
     127    _max_nb_inst_issue_queue                = max<uint32_t>(_nb_inst_issue_queue       ,_nb_ooo_engine);
     128    _max_nb_inst_issue_slot                 = max<uint32_t>(_nb_inst_issue_slot        ,_nb_ooo_engine);
    121129    _max_nb_read_unit                       = max<uint32_t>(_nb_read_unit              ,_nb_execute_loop);
    122130
     
    171179    log_begin(Core_Glue,FUNCTION);
    172180
    173     DELETE2(_execute_loop_nb_inst_issue,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
     181    DELETE2(_execute_loop_nb_inst_issue_slot,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
    174182    DELETE2(_execute_loop_nb_inst_insert,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
    175183    DELETE2(_translate_num_execute_loop_to_ooo_engine_execute_loop_id, _nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
Note: See TracChangeset for help on using the changeset viewer.