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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/src/main.cpp

    r110 r111  
    77
    88#include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/include/test.h"
     9#include "Behavioural/include/Selftest.h"
    910
    10 #define NB_PARAMS 0
     11#define NB_PARAMS 3
    1112
    1213void usage (int argc, char * argv[])
     
    1415  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
    1516  err (_("list_params is :\n"));
    16   err (_(" *  ()\n"));
     17  err (_(" * nb_inst_predict                               (uint32_t)\n"));
     18  err (_(" * nb_inst_update                                (uint32_t)\n"));
     19  err (_(" * nb_predictor                                  (uint32_t)\n"));
     20  err (_(" * predictor_size_history         [nb_predictor] (uint32_t)\n"));
     21  err (_(" * predictor_update_on_prediction [nb_predictor] (bool    )\n"));
    1722
    1823  exit (1);
     
    2530#endif
    2631{
    27   if (argc != static_cast<int>(2+NB_PARAMS))
     32  if (argc <= static_cast<int>(2+NB_PARAMS))
    2833    usage (argc, argv);
    2934
     
    3237  string name = argv[x++];
    3338
     39  uint32_t   _nb_inst_predict               ;
     40  uint32_t   _nb_inst_update                ;
     41  uint32_t   _nb_predictor                  ;
     42  uint32_t * _predictor_size_history        ;//[nb_predictor]
     43  bool     * _predictor_update_on_prediction;//[nb_predictor]
     44
     45  SELFTEST0(_nb_inst_predict               ,uint32_t,argv,x);
     46  SELFTEST0(_nb_inst_update                ,uint32_t,argv,x);
     47  SELFTEST0(_nb_predictor                  ,uint32_t,argv,x);
     48
     49  if (argc != static_cast<int>(2+NB_PARAMS+2*_nb_predictor))
     50    usage (argc, argv);
     51
     52  SELFTEST1(_predictor_size_history        ,uint32_t,argv,x,_nb_predictor);
     53  SELFTEST1(_predictor_update_on_prediction,bool    ,argv,x,_nb_predictor);
     54 
    3455  int _return = EXIT_SUCCESS;
    3556  try
     
    3758      morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::direction::meta_predictor::meta_predictor_glue::Parameters * param = new morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::direction::meta_predictor::meta_predictor_glue::Parameters
    3859        (
     60         _nb_inst_predict               ,
     61         _nb_inst_update                ,
     62         _nb_predictor                  ,
     63         _predictor_size_history        ,
     64         _predictor_update_on_prediction,
    3965         true //is_toplevel
    4066        );
     
    6389    }
    6490
     91  DELETE1(_predictor_update_on_prediction,_param->_nb_predictor);
     92  DELETE1(_predictor_size_history        ,_param->_nb_predictor);
     93
    6594  return (_return);
    6695}
Note: See TracChangeset for help on using the changeset viewer.