Ignore:
Timestamp:
Oct 20, 2009, 8:52:15 PM (15 years ago)
Author:
rosiere
Message:

1) Add new algo in ifetch queue
2) Add Cancel bit
3) new config

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src/Front_end_allocation.cpp

    r123 r136  
    449449        ////out_DECOD_CONTEXT_ID
    450450
    451         COMPONENT_MAP(_component,src ,"out_DECOD_ADDRESS"                    ,dest, "in_IFETCH_"+toString(num_context)+"_ADDRESS"                    );
    452         if (_param->_have_port_inst_ifetch_ptr)
    453         COMPONENT_MAP(_component,src ,"out_DECOD_INST_IFETCH_PTR"            ,dest, "in_IFETCH_"+toString(num_context)+"_INST_IFETCH_PTR"            );
    454         COMPONENT_MAP(_component,src ,"out_DECOD_BRANCH_STATE"               ,dest, "in_IFETCH_"+toString(num_context)+"_BRANCH_STATE"               );
    455         if (_param->_have_port_depth)
    456         COMPONENT_MAP(_component,src ,"out_DECOD_BRANCH_UPDATE_PREDICTION_ID",dest, "in_IFETCH_"+toString(num_context)+"_BRANCH_UPDATE_PREDICTION_ID");
    457         COMPONENT_MAP(_component,src ,"out_DECOD_EXCEPTION"                  ,dest, "in_IFETCH_"+toString(num_context)+"_EXCEPTION"                  );
    458 
    459451        for (uint32_t j=0; j<_param->_nb_inst_fetch [i];++j)
    460452          {
     
    471463            COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(j)+                          "_INSTRUCTION",
    472464                                     dest, "in_IFETCH_"+toString(num_context)+"_"+toString(j)+"_INSTRUCTION");
     465
     466            COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(j)                          +"_ADDRESS",
     467                                     dest, "in_IFETCH_"+toString(num_context)+"_"+toString(j)+"_ADDRESS");
     468//          if (_param->_have_port_inst_ifetch_ptr)
     469//          COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(j)                          +"_INST_IFETCH_PTR",
     470//                                   dest, "in_IFETCH_"+toString(num_context)+"_"+toString(j)+"_INST_IFETCH_PTR");
     471            COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(j)                          +"_BRANCH_STATE",
     472                                     dest, "in_IFETCH_"+toString(num_context)+"_"+toString(j)+"_BRANCH_STATE");
     473            if (_param->_have_port_depth)
     474            COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(j)                          +"_BRANCH_UPDATE_PREDICTION_ID",
     475                                     dest, "in_IFETCH_"+toString(num_context)+"_"+toString(j)+"_BRANCH_UPDATE_PREDICTION_ID");
     476            COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(j)                          +"_EXCEPTION",
     477                                     dest, "in_IFETCH_"+toString(num_context)+"_"+toString(j)+"_EXCEPTION");
     478
     479
    473480          }
    474481      }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src/Parameters.cpp

    r128 r136  
    2424                          morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void),
    2525                          // ifetch_unit                                             
    26                           uint32_t              * size_ifetch_queue                   ,
    27                           uint32_t              * nb_inst_fetch                       ,
    28                           bool                 ** instruction_implemeted              ,
    29                           uint32_t              * link_context_to_decod_unit          ,
     26                          uint32_t              * size_ifetch_queue                   ,//[nb_context]
     27                          ifetch_unit::ifetch_queue::Tifetch_queue_scheme_t
     28                                                * ifetch_queue_scheme                 ,//[nb_context]
     29                          uint32_t              * nb_inst_fetch                       ,//[nb_context]
     30                          bool                 ** instruction_implemeted              ,//[nb_context]
     31                          uint32_t              * link_context_to_decod_unit          ,//[nb_context]
    3032                          // decod_unit                                             
    3133                          uint32_t              * size_decod_queue                    ,//[nb_decod_unit]
     
    7476    _translate_num_context_to_num_thread = translate_num_context_to_num_thread ;
    7577    _size_ifetch_queue                   = size_ifetch_queue                   ;
     78    _ifetch_queue_scheme                 = ifetch_queue_scheme                 ;
    7679    _nb_inst_fetch                       = nb_inst_fetch                       ;
    7780    _instruction_implemeted              = instruction_implemeted              ;
     
    125128      {
    126129        _param_ifetch_unit [i] = new behavioural::core::multi_front_end::front_end::ifetch_unit::Parameters
    127           (_size_ifetch_queue [i]        ,
    128            _nb_inst_fetch     [i]        ,
    129            log2(_upt_size_queue[i])      ,
     130          (_size_ifetch_queue  [i]        ,
     131           _ifetch_queue_scheme[i]        ,
     132           _nb_inst_fetch      [i]        ,
     133           log2(_upt_size_queue[i])       ,
    130134           size_instruction_address      );
    131135      }
Note: See TracChangeset for help on using the changeset viewer.