Ignore:
Timestamp:
Feb 27, 2009, 7:37:40 PM (15 years ago)
Author:
rosiere
Message:

1) Decod_queue : multi implementation (one_fifo, multi_fifo)
2) Issue_queue : multi implementation (in_order, out_of_order)
3) Direction : Add Meta predictor
4) Context_State : re add Branch_complete, More priority to Load miss (is not speculative)
5) Return_Address_Stack : update reg_PREDICT pointer on decod miss prediction
6) UPT : Fix bug in multi event
7) Prediction_glue : in read_stack case, insert in UPT pc_next
8) Rename select : when rob have an event (need flush), read_r{a,b,c} and write_r{d,e} is set at 0

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

Legend:

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

    r97 r111  
    3535  public : uint32_t                _nb_decod_bloc                                 ;
    3636  public : uint32_t              * _size_decod_queue                              ;//[nb_decod_bloc]
     37  public : morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod_queue::Tdecod_queue_scheme_t
     38                                 * _decod_queue_scheme                            ;//[nb_decod_bloc]
    3739  public : uint32_t              * _nb_inst_decod                                 ;//[nb_decod_bloc]
    3840  public : uint32_t              * _nb_context_select                             ;//[nb_decod_bloc]
     
    7274  public : uint32_t              * _nb_port_check                                 ;//[nb_load_store_unit]
    7375  public : core::multi_execute_loop::execute_loop::Tspeculative_load_t 
    74                                   * _speculative_load                              ;//[nb_load_store_unit]
     76                                 * _speculative_load                              ;//[nb_load_store_unit]
    7577  public : uint32_t              * _nb_bypass_memory                              ;//[nb_load_store_unit]
    7678  public : uint32_t              * _nb_cache_port                                 ;//[nb_load_store_unit]
     
    8183  public : uint32_t              * _nb_inst_functionnal_unit                      ;//[nb_functionnal_unit]
    8284  public : core::multi_execute_loop::execute_loop::execute_timing_t
    83                                 *** _timing                                        ;//[nb_functionnal_unit][nb_type][nb_operation]
     85                                *** _timing                                       ;//[nb_functionnal_unit][nb_type][nb_operation]
    8486 
    8587    // Icache_port
     
    127129  public : Tload_balancing_t     * _commit_load_balancing                         ;//[nb_ooo_engine]
    128130  public : uint32_t              * _size_issue_queue                              ;//[nb_ooo_engine]
     131  public : morpheo::behavioural::core::multi_ooo_engine::ooo_engine::issue_queue::Tissue_queue_scheme_t
     132                                 * _issue_queue_scheme                            ;//[nb_ooo_engine]
    129133  public : uint32_t              * _nb_issue_queue_bank                           ;//[nb_ooo_engine]
    130134  public : Tpriority_t           * _issue_priority                                ;//[nb_ooo_engine]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance.cpp

    r97 r111  
    104104        DELETE1(_param->_issue_priority                         ,_param->_nb_ooo_engine);
    105105        DELETE1(_param->_nb_issue_queue_bank                    ,_param->_nb_ooo_engine);
     106        DELETE1(_param->_issue_queue_scheme                     ,_param->_nb_ooo_engine);
    106107        DELETE1(_param->_size_issue_queue                       ,_param->_nb_ooo_engine);
    107108        DELETE1(_param->_commit_load_balancing                  ,_param->_nb_ooo_engine);
     
    163164        DELETE1(_param->_nb_context_select                      ,_param->_nb_decod_bloc);
    164165        DELETE1(_param->_nb_inst_decod                          ,_param->_nb_decod_bloc);
     166        DELETE1(_param->_decod_queue_scheme                     ,_param->_nb_decod_bloc);
    165167        DELETE1(_param->_size_decod_queue                       ,_param->_nb_decod_bloc);
    166168        DELETE1(_param->_ufpt_size_queue                        ,_param->_nb_thread);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_fromInternalStructure.cpp

    r109 r111  
    8080
    8181    ALLOC1(_param->_size_decod_queue             ,uint32_t         ,_param->_nb_decod_bloc);
     82    ALLOC1(_param->_decod_queue_scheme           ,morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod_queue::Tdecod_queue_scheme_t
     83                                                                   ,_param->_nb_decod_bloc);
    8284    ALLOC1(_param->_nb_inst_decod                ,uint32_t         ,_param->_nb_decod_bloc);
    8385    ALLOC1(_param->_nb_context_select            ,uint32_t         ,_param->_nb_decod_bloc);
     
    9092
    9193        _param->_size_decod_queue              [i] = fromString<uint32_t         > (getParam("size_decod_queue"             , "decod_bloc",toString(i).c_str(),""));
     94        _param->_decod_queue_scheme            [i] = fromString<morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod_queue::Tdecod_queue_scheme_t>
     95                                                                                   (getParam("decod_queue_scheme"           , "decod_bloc",toString(i).c_str(),""));
    9296        _param->_nb_inst_decod                 [i] = fromString<uint32_t         > (getParam("nb_inst_decod"                , "decod_bloc",toString(i).c_str(),""));
    9397        _param->_nb_context_select             [i] = fromString<uint32_t         > (getParam("nb_context_select"            , "decod_bloc",toString(i).c_str(),""));
     
    338342    ALLOC1(_param->_commit_load_balancing   ,Tload_balancing_t,_param->_nb_ooo_engine);
    339343    ALLOC1(_param->_size_issue_queue        ,uint32_t         ,_param->_nb_ooo_engine);
     344    ALLOC1(_param->_issue_queue_scheme      ,morpheo::behavioural::core::multi_ooo_engine::ooo_engine::issue_queue::Tissue_queue_scheme_t
     345                                                              ,_param->_nb_ooo_engine);
    340346    ALLOC1(_param->_nb_issue_queue_bank     ,uint32_t         ,_param->_nb_ooo_engine);
    341347    ALLOC1(_param->_issue_priority          ,Tpriority_t      ,_param->_nb_ooo_engine);
     
    361367        _param->_commit_load_balancing   [i] = fromString<Tload_balancing_t>(getParam("commit_load_balancing"   ,"ooo_engine",toString(i).c_str(), ""));
    362368        _param->_size_issue_queue        [i] = fromString<uint32_t         >(getParam("size_issue_queue"        ,"ooo_engine",toString(i).c_str(), ""));
     369        _param->_issue_queue_scheme      [i] = fromString<morpheo::behavioural::core::multi_ooo_engine::ooo_engine::issue_queue::Tissue_queue_scheme_t>
     370                                                                            (getParam("issue_queue_scheme"      ,"ooo_engine",toString(i).c_str(), ""));
    363371        _param->_nb_issue_queue_bank     [i] = fromString<uint32_t         >(getParam("nb_issue_queue_bank"     ,"ooo_engine",toString(i).c_str(), ""));
    364372        _param->_issue_priority          [i] = fromString<Tpriority_t      >(getParam("issue_priority"          ,"ooo_engine",toString(i).c_str(), ""));
Note: See TracChangeset for help on using the changeset viewer.