Changeset 146 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor
- Timestamp:
- Feb 1, 2011, 9:57:54 PM (13 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/src/main.cpp
r111 r146 9 9 #include "Behavioural/include/Selftest.h" 10 10 11 #define NB_PARAMS 3+ 7*311 #define NB_PARAMS 3+8*3 12 12 13 13 void usage (int argc, char * argv[]) … … 15 15 err (_("<Usage> %s name_instance list_params.\n"),argv[0]); 16 16 err (_("list_params is :\n")); 17 err (_(" * nb_inst_predict (uint32_t)\n")); 18 err (_(" * nb_inst_update (uint32_t)\n")); 19 err (_(" * size_address (uint32_t)\n")); 20 err (_(" * have_bht [3] (bool )\n")); 21 err (_(" * bht_size_shifter [3] (uint32_t)\n")); 22 err (_(" * bht_nb_shifter [3] (uint32_t)\n")); 23 err (_(" * have_pht [3] (bool )\n")); 24 err (_(" * pht_size_counter [3] (uint32_t)\n")); 25 err (_(" * pht_nb_counter [3] (uint32_t)\n")); 26 err (_(" * pht_size_address_share [3] (uint32_t)\n")); 17 err (_(" * nb_inst_predict (uint32_t )\n")); 18 err (_(" * nb_inst_update (uint32_t )\n")); 19 err (_(" * size_address (uint32_t )\n")); 20 err (_(" * have_bht [3] (bool )\n")); 21 err (_(" * bht_size_shifter [3] (uint32_t )\n")); 22 err (_(" * bht_nb_shifter [3] (uint32_t )\n")); 23 err (_(" * have_pht [3] (bool )\n")); 24 err (_(" * pht_size_counter [3] (uint32_t )\n")); 25 err (_(" * pht_nb_counter [3] (uint32_t )\n")); 26 err (_(" * pht_size_address_share [3] (uint32_t )\n")); 27 err (_(" * pht_scheme [3] (Tpht_scheme_t)\n")); 27 28 exit (1); 28 29 } … … 40 41 41 42 string name = argv[x++]; 42 uint32_t _nb_inst_predict ; 43 uint32_t _nb_inst_update ; 44 uint32_t _size_address ; 45 bool _have_bht [3]; 46 uint32_t _bht_size_shifter [3]; 47 uint32_t _bht_nb_shifter [3]; 48 bool _have_pht [3]; 49 uint32_t _pht_size_counter [3]; 50 uint32_t _pht_nb_counter [3]; 51 uint32_t _pht_size_address_share [3]; 43 uint32_t _nb_inst_predict ; 44 uint32_t _nb_inst_update ; 45 uint32_t _size_address ; 46 bool _have_bht [3]; 47 uint32_t _bht_size_shifter [3]; 48 uint32_t _bht_nb_shifter [3]; 49 bool _have_pht [3]; 50 uint32_t _pht_size_counter [3]; 51 uint32_t _pht_nb_counter [3]; 52 uint32_t _pht_size_address_share [3]; 53 Tpht_scheme_t _pht_scheme [3]; 52 54 53 SELFTEST0(_nb_inst_predict ,uint32_t ,argv,x);54 SELFTEST0(_nb_inst_update ,uint32_t ,argv,x);55 SELFTEST0(_size_address ,uint32_t ,argv,x);55 SELFTEST0(_nb_inst_predict ,uint32_t ,argv,x); 56 SELFTEST0(_nb_inst_update ,uint32_t ,argv,x); 57 SELFTEST0(_size_address ,uint32_t ,argv,x); 56 58 57 59 for (uint32_t i=0; i<3; ++i) 58 60 { 59 SELFTEST0(_have_bht [i],bool ,argv,x); 60 SELFTEST0(_bht_size_shifter [i],uint32_t,argv,x); 61 SELFTEST0(_bht_nb_shifter [i],uint32_t,argv,x); 62 SELFTEST0(_have_pht [i],bool ,argv,x); 63 SELFTEST0(_pht_size_counter [i],uint32_t,argv,x); 64 SELFTEST0(_pht_nb_counter [i],uint32_t,argv,x); 65 SELFTEST0(_pht_size_address_share [i],uint32_t,argv,x); 61 SELFTEST0(_have_bht [i],bool ,argv,x); 62 SELFTEST0(_bht_size_shifter [i],uint32_t ,argv,x); 63 SELFTEST0(_bht_nb_shifter [i],uint32_t ,argv,x); 64 SELFTEST0(_have_pht [i],bool ,argv,x); 65 SELFTEST0(_pht_size_counter [i],uint32_t ,argv,x); 66 SELFTEST0(_pht_nb_counter [i],uint32_t ,argv,x); 67 SELFTEST0(_pht_size_address_share [i],uint32_t ,argv,x); 68 SELFTEST0(_pht_scheme [i],Tpht_scheme_t,argv,x); 66 69 } 67 70 … … 81 84 _pht_nb_counter , 82 85 _pht_size_address_share, 86 _pht_scheme , 83 87 true // is_toplevel 84 88 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/src/main.cpp
r111 r146 9 9 #include "Behavioural/include/Selftest.h" 10 10 11 #define NB_PARAMS 1 111 #define NB_PARAMS 12 12 12 13 13 void usage (int argc, char * argv[]) … … 15 15 err (_("<Usage> %s name_instance list_params.\n"),argv[0]); 16 16 err (_("list_params is :\n")); 17 err (_(" * nb_inst_predict (uint32_t)\n")); 18 err (_(" * nb_inst_update (uint32_t)\n")); 19 err (_(" * size_address (uint32_t)\n")); 20 err (_(" * have_bht (bool )\n")); 21 err (_(" * bht_size_shifter (uint32_t)\n")); 22 err (_(" * bht_nb_shifter (uint32_t)\n")); 23 err (_(" * have_pht (bool )\n")); 24 err (_(" * pht_size_counter (uint32_t)\n")); 25 err (_(" * pht_nb_counter (uint32_t)\n")); 26 err (_(" * pht_size_address_share (uint32_t)\n")); 27 err (_(" * update_on_prediction (bool )\n")); 17 err (_(" * nb_inst_predict (uint32_t )\n")); 18 err (_(" * nb_inst_update (uint32_t )\n")); 19 err (_(" * size_address (uint32_t )\n")); 20 err (_(" * have_bht (bool )\n")); 21 err (_(" * bht_size_shifter (uint32_t )\n")); 22 err (_(" * bht_nb_shifter (uint32_t )\n")); 23 err (_(" * have_pht (bool )\n")); 24 err (_(" * pht_size_counter (uint32_t )\n")); 25 err (_(" * pht_nb_counter (uint32_t )\n")); 26 err (_(" * pht_size_address_share (uint32_t )\n")); 27 err (_(" * pht_scheme (Tpht_scheme_t)\n")); 28 err (_(" * update_on_prediction (bool )\n")); 28 29 29 30 exit (1); … … 43 44 string name = argv[x++]; 44 45 45 uint32_t nb_inst_predict ; 46 uint32_t nb_inst_update ; 47 uint32_t size_address ; 48 bool have_bht ; 49 uint32_t bht_size_shifter ; 50 uint32_t bht_nb_shifter ; 51 bool have_pht ; 52 uint32_t pht_size_counter ; 53 uint32_t pht_nb_counter ; 54 uint32_t pht_size_address_share; 55 bool update_on_prediction ; 46 uint32_t nb_inst_predict ; 47 uint32_t nb_inst_update ; 48 uint32_t size_address ; 49 bool have_bht ; 50 uint32_t bht_size_shifter ; 51 uint32_t bht_nb_shifter ; 52 bool have_pht ; 53 uint32_t pht_size_counter ; 54 uint32_t pht_nb_counter ; 55 uint32_t pht_size_address_share; 56 Tpht_scheme_t pht_scheme ; 57 bool update_on_prediction ; 56 58 57 SELFTEST0(nb_inst_predict ,uint32_t,argv,x); 58 SELFTEST0(nb_inst_update ,uint32_t,argv,x); 59 SELFTEST0(size_address ,uint32_t,argv,x); 60 SELFTEST0(have_bht ,bool ,argv,x); 61 SELFTEST0(bht_size_shifter ,uint32_t,argv,x); 62 SELFTEST0(bht_nb_shifter ,uint32_t,argv,x); 63 SELFTEST0(have_pht ,bool ,argv,x); 64 SELFTEST0(pht_size_counter ,uint32_t,argv,x); 65 SELFTEST0(pht_nb_counter ,uint32_t,argv,x); 66 SELFTEST0(pht_size_address_share,uint32_t,argv,x); 67 SELFTEST0(update_on_prediction ,bool ,argv,x); 59 SELFTEST0(nb_inst_predict ,uint32_t ,argv,x); 60 SELFTEST0(nb_inst_update ,uint32_t ,argv,x); 61 SELFTEST0(size_address ,uint32_t ,argv,x); 62 SELFTEST0(have_bht ,bool ,argv,x); 63 SELFTEST0(bht_size_shifter ,uint32_t ,argv,x); 64 SELFTEST0(bht_nb_shifter ,uint32_t ,argv,x); 65 SELFTEST0(have_pht ,bool ,argv,x); 66 SELFTEST0(pht_size_counter ,uint32_t ,argv,x); 67 SELFTEST0(pht_nb_counter ,uint32_t ,argv,x); 68 SELFTEST0(pht_size_address_share,uint32_t ,argv,x); 69 SELFTEST0(pht_scheme ,Tpht_scheme_t,argv,x); 70 SELFTEST0(update_on_prediction ,bool ,argv,x); 68 71 69 72 int _return = EXIT_SUCCESS; … … 82 85 pht_nb_counter , 83 86 pht_size_address_share, 87 pht_scheme , 84 88 update_on_prediction , 85 89 true //is_toplevel -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/include/Parameters.h
r115 r146 27 27 { 28 28 //-----[ fields ]------------------------------------------------------------ 29 public : uint32_t _nb_inst_predict ; 30 public : uint32_t _nb_inst_update ; 31 public : uint32_t _size_address ; 32 public : bool _have_bht ; 33 public : uint32_t _bht_size_shifter ; 34 public : uint32_t _bht_nb_shifter ; 35 public : bool _have_pht ; 36 public : uint32_t _pht_size_counter ; 37 public : uint32_t _pht_nb_counter ; 38 public : uint32_t _pht_size_address_share ; 39 public : bool _update_on_prediction ; 40 41 public : Thistory_t _pht_counter_max ; 42 43 public : uint32_t _size_history ; 44 45 public : Thistory_t _bht_history_mask ; 46 public : Thistory_t _bht_history_shift ; 47 public : Thistory_t _pht_history_mask ; 48 public : Thistory_t _pht_history_shift ; 49 50 public : uint32_t _bht_size_address ; 51 public : uint32_t _pht_size_address ; 52 53 public : Taddress_t _bht_address_mask ; 54 public : uint32_t _pht_nb_bank ; 55 public : uint32_t _pht_size_bank ; 56 public : Taddress_t _pht_address_share_mask ; 57 public : Taddress_t _pht_address_share_shift ; 58 public : Taddress_t _pht_address_bank_mask ; 59 public : Taddress_t _pht_address_bank_shift ; 29 public : uint32_t _nb_inst_predict ; 30 public : uint32_t _nb_inst_update ; 31 public : uint32_t _size_address ; 32 public : bool _have_bht ; 33 public : uint32_t _bht_size_shifter ; 34 public : uint32_t _bht_nb_shifter ; 35 public : bool _have_pht ; 36 public : uint32_t _pht_size_counter ; 37 public : uint32_t _pht_nb_counter ; 38 public : uint32_t _pht_size_address_share ; 39 public : Tpht_scheme_t _pht_scheme ; 40 public : bool _update_on_prediction ; 60 41 61 public : Thistory_t _bht_init_take ; 62 public : Thistory_t _bht_init_ntake ; 63 64 public : Thistory_t _pht_init_take ; 65 public : Thistory_t _pht_init_ntake ; 42 public : Thistory_t _pht_counter_max ; 43 public : Thistory_t _pht_threshold_up ; 44 public : Thistory_t _pht_threshold_down ; 45 46 public : uint32_t _size_history ; 47 48 public : Thistory_t _bht_history_mask ; 49 public : Thistory_t _bht_history_shift ; 50 public : Thistory_t _pht_history_mask ; 51 public : Thistory_t _pht_history_shift ; 52 53 public : uint32_t _bht_size_address ; 54 public : uint32_t _pht_size_address ; 55 public : Taddress_t _bht_address_mask ; 56 public : uint32_t _pht_nb_bank ; 57 public : uint32_t _pht_size_bank ; 58 public : Taddress_t _pht_address_share_mask ; 59 public : Taddress_t _pht_address_share_shift ; 60 public : Taddress_t _pht_address_bank_mask ; 61 public : Taddress_t _pht_address_bank_shift ; 62 63 public : Thistory_t _bht_init_take ; 64 public : Thistory_t _bht_init_ntake ; 65 66 public : Thistory_t _pht_init_take ; 67 public : Thistory_t _pht_init_ntake ; 66 68 67 69 //-----[ methods ]----------------------------------------------------------- 68 public : Parameters (uint32_t nb_inst_predict , 69 uint32_t nb_inst_update , 70 uint32_t size_address , 71 bool have_bht , 72 uint32_t bht_size_shifter , 73 uint32_t bht_nb_shifter , 74 bool have_pht , 75 uint32_t pht_size_counter , 76 uint32_t pht_nb_counter , 77 uint32_t pht_size_address_share, 78 bool update_on_prediction , 79 bool is_toplevel=false); 70 public : Parameters (uint32_t nb_inst_predict , 71 uint32_t nb_inst_update , 72 uint32_t size_address , 73 bool have_bht , 74 uint32_t bht_size_shifter , 75 uint32_t bht_nb_shifter , 76 bool have_pht , 77 uint32_t pht_size_counter , 78 uint32_t pht_nb_counter , 79 uint32_t pht_size_address_share, 80 Tpht_scheme_t pht_scheme , 81 bool update_on_prediction , 82 bool is_toplevel=false); 80 83 //public : Parameters (Parameters & param) ; 81 84 public : ~Parameters (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/include/Types.h
r110 r146 21 21 namespace two_level_branch_predictor { 22 22 23 24 23 }; // end namespace two_level_branch_predictor 25 24 }; // end namespace meta_predictor … … 29 28 }; // end namespace multi_front_end 30 29 }; // end namespace core 31 32 30 }; // end namespace behavioural 33 31 }; // end namespace morpheo -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/src/Parameters.cpp
r124 r146 22 22 #undef FUNCTION 23 23 #define FUNCTION "Two_Level_Branch_Predictor::Parameters" 24 Parameters::Parameters (uint32_t nb_inst_predict , 25 uint32_t nb_inst_update , 26 uint32_t size_address , 27 bool have_bht , 28 uint32_t bht_size_shifter , 29 uint32_t bht_nb_shifter , 30 bool have_pht , 31 uint32_t pht_size_counter , 32 uint32_t pht_nb_counter , 33 uint32_t pht_size_address_share, 34 bool update_on_prediction , 35 bool is_toplevel) 24 Parameters::Parameters (uint32_t nb_inst_predict , 25 uint32_t nb_inst_update , 26 uint32_t size_address , 27 bool have_bht , 28 uint32_t bht_size_shifter , 29 uint32_t bht_nb_shifter , 30 bool have_pht , 31 uint32_t pht_size_counter , 32 uint32_t pht_nb_counter , 33 uint32_t pht_size_address_share, 34 Tpht_scheme_t pht_scheme , 35 bool update_on_prediction , 36 bool is_toplevel) 36 37 { 37 38 log_begin(Two_Level_Branch_Predictor,FUNCTION); … … 47 48 _pht_nb_counter = (have_pht)?(pht_nb_counter ):0; 48 49 _pht_size_address_share = (have_bht and have_pht)?(pht_size_address_share):0; 50 _pht_scheme = pht_scheme ; 49 51 _update_on_prediction = update_on_prediction ; 50 52 … … 97 99 { 98 100 _pht_counter_max = (1<<_pht_size_counter)-1; 99 101 _pht_threshold_up = (1<<(_pht_size_counter-1))+1; 102 _pht_threshold_down = (1<<(_pht_size_counter-1))-1; 103 100 104 _pht_size_bank = (_have_bht)?(1<<_bht_size_shifter):1; 101 105 _pht_nb_bank = _pht_nb_counter / _pht_size_bank; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/src/Parameters_print.cpp
r110 r146 9 9 #include "Behavioural/include/XML.h" 10 10 11 namespace morpheo 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace core { -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/src/Two_Level_Branch_Predictor_transition.cpp
r124 r146 10 10 // #include <assert.h> 11 11 12 namespace morpheo 12 namespace morpheo { 13 13 namespace behavioural { 14 14 namespace core { … … 77 77 log_printf(TRACE,Two_Level_Branch_Predictor,FUNCTION," * pht_history (old): %llx",pht_history); 78 78 79 // TODO -> don't change PHT here ! 80 Thistory_t min = 0; 81 Thistory_t max = _param->_pht_counter_max; 82 79 83 // PHT : saturation counter 80 pht_history = (direction==1)?((pht_history<_param->_pht_counter_max)?(pht_history+1):(pht_history)):((pht_history>0)?(pht_history-1):(pht_history)); 81 84 switch (_param->_pht_scheme) 85 { 86 case PHT_SCHEME_COUNTER : 87 { 88 pht_history = (direction==1)?((pht_history<max)?(pht_history+1):(max)):((pht_history>min)?(pht_history-1):(min)); 89 break; 90 } 91 case PHT_SCHEME_FSM : 92 { 93 Thistory_t down = _param->_pht_threshold_down; 94 Thistory_t up = _param->_pht_threshold_up; 95 96 pht_history = (direction==1)?(((pht_history==max) or (pht_history==up))?(max):(pht_history+1)):(((pht_history==min) or (pht_history==down))?(min):(pht_history-1)); 97 break; 98 } 99 default : 100 { 101 break; 102 } 103 } 104 82 105 log_printf(TRACE,Two_Level_Branch_Predictor,FUNCTION," * pht_history (new): %llx",pht_history); 83 106 … … 169 192 else 170 193 { 171 pht_history = (direction==1)?((pht_history<_param->_pht_counter_max)?(pht_history+1):(pht_history)):((pht_history>0)?(pht_history-1):(pht_history)); 194 Thistory_t min = 0; 195 Thistory_t max = _param->_pht_counter_max; 196 197 // PHT : saturation counter 198 switch (_param->_pht_scheme) 199 { 200 case PHT_SCHEME_COUNTER : 201 { 202 // [ 11 ] -- NT -> [ 10 ] 203 // [ ] <- T -- [ ] 204 // ^ | 205 // | | 206 // T NT 207 // | | 208 // | V 209 // [ 00 ] -- T -> [ 01 ] 210 // [ ] <- NT -- [ ] 211 212 pht_history = (direction==1)?((pht_history<max)?(pht_history+1):(max)):((pht_history>min)?(pht_history-1):(min)); 213 break; 214 } 215 case PHT_SCHEME_FSM : 216 { 217 // [11] -- NT -> [10] 218 // [ ] <- T -- [ ] 219 // ^ | 220 // | | 221 // T NT 222 // | | 223 // | V 224 // [00] -- NT -> [00] 225 // [ ] <- T -- [ ] 226 227 Thistory_t down = _param->_pht_threshold_down; 228 Thistory_t up = _param->_pht_threshold_up; 229 230 pht_history = (direction==1)?(((pht_history==max) or (pht_history==up))?(max):(pht_history+1)):(((pht_history==min) or (pht_history==down))?(min):(pht_history-1)); 231 break; 232 } 233 default : 234 { 235 break; 236 } 237 } 172 238 } 173 239 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/include/Parameters.h
r111 r146 15 15 #include "Common/include/Debug.h" 16 16 17 18 17 namespace morpheo { 19 18 namespace behavioural { … … 25 24 namespace meta_predictor { 26 25 27 28 26 class Parameters : public morpheo::behavioural::Parameters 29 27 { 30 28 //-----[ fields ]------------------------------------------------------------ 31 public : uint32_t _nb_inst_predict ;32 public : uint32_t _nb_inst_update ;33 public : uint32_t _size_address ;34 public : bool _have_bht [3];35 public : uint32_t _bht_size_shifter [3];36 public : uint32_t _bht_nb_shifter [3];37 public : bool _have_pht [3];38 public : uint32_t _pht_size_counter [3];39 public : uint32_t _pht_nb_counter [3];40 public : uint32_t _pht_size_address_share [3];41 42 public : bool _have_meta_predictor ;43 public : uint32_t _nb_predictor ;44 45 public : bool * _predictor_update_on_prediction;//[nb_predictor]46 public : uint32_t * _predictor_size_history ;//[nb_predictor]47 public : uint32_t _size_history ;29 public : uint32_t _nb_inst_predict ; 30 public : uint32_t _nb_inst_update ; 31 public : uint32_t _size_address ; 32 public : bool _have_bht [3]; 33 public : uint32_t _bht_size_shifter [3]; 34 public : uint32_t _bht_nb_shifter [3]; 35 public : bool _have_pht [3]; 36 public : uint32_t _pht_size_counter [3]; 37 public : uint32_t _pht_nb_counter [3]; 38 public : uint32_t _pht_size_address_share [3]; 39 public : Tpht_scheme_t _pht_scheme [3]; 40 public : bool _have_meta_predictor ; 41 public : uint32_t _nb_predictor ; 42 43 public : bool * _predictor_update_on_prediction;//[nb_predictor] 44 public : uint32_t * _predictor_size_history ;//[nb_predictor] 45 public : uint32_t _size_history ; 48 46 49 47 public : morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::direction::meta_predictor::two_level_branch_predictor::Parameters ** _param_two_level_branch_predictor;//[nb_predictor] … … 51 49 52 50 //-----[ methods ]----------------------------------------------------------- 53 public : Parameters (uint32_t nb_inst_predict , 54 uint32_t nb_inst_update , 55 uint32_t size_address , 56 bool have_bht [3], 57 uint32_t bht_size_shifter [3], 58 uint32_t bht_nb_shifter [3], 59 bool have_pht [3], 60 uint32_t pht_size_counter [3], 61 uint32_t pht_nb_counter [3], 62 uint32_t pht_size_address_share [3], 63 bool is_toplevel=false); 51 public : Parameters (uint32_t nb_inst_predict , 52 uint32_t nb_inst_update , 53 uint32_t size_address , 54 bool have_bht [3], 55 uint32_t bht_size_shifter [3], 56 uint32_t bht_nb_shifter [3], 57 bool have_pht [3], 58 uint32_t pht_size_counter [3], 59 uint32_t pht_nb_counter [3], 60 uint32_t pht_size_address_share [3], 61 Tpht_scheme_t pht_scheme [3], 62 bool is_toplevel=false); 64 63 //public : Parameters (Parameters & param) ; 65 64 public : ~Parameters (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Parameters.cpp
r128 r146 21 21 #undef FUNCTION 22 22 #define FUNCTION "Meta_Predictor::Parameters" 23 Parameters::Parameters (uint32_t nb_inst_predict , 24 uint32_t nb_inst_update , 25 uint32_t size_address , 26 bool have_bht [3], 27 uint32_t bht_size_shifter [3], 28 uint32_t bht_nb_shifter [3], 29 bool have_pht [3], 30 uint32_t pht_size_counter [3], 31 uint32_t pht_nb_counter [3], 32 uint32_t pht_size_address_share [3], 33 bool is_toplevel) 23 Parameters::Parameters (uint32_t nb_inst_predict , 24 uint32_t nb_inst_update , 25 uint32_t size_address , 26 bool have_bht [3], 27 uint32_t bht_size_shifter [3], 28 uint32_t bht_nb_shifter [3], 29 bool have_pht [3], 30 uint32_t pht_size_counter [3], 31 uint32_t pht_nb_counter [3], 32 uint32_t pht_size_address_share [3], 33 Tpht_scheme_t pht_scheme [3], 34 bool is_toplevel) 34 35 { 35 36 log_begin(Meta_Predictor,FUNCTION); … … 47 48 _pht_nb_counter [i] = (_have_pht [i])?pht_nb_counter [i]:0; 48 49 _pht_size_address_share [i] = (_have_bht[i] and _have_pht [i])?pht_size_address_share [i]:0; 50 _pht_scheme [i] = (_have_pht [i])?pht_scheme [i]:PHT_SCHEME_COUNTER; 49 51 } 50 52 … … 83 85 _pht_nb_counter [i], 84 86 _pht_size_address_share [i], 85 _predictor_update_on_prediction [i] 87 _pht_scheme [i], 88 _predictor_update_on_prediction [i] 86 89 ); 87 90 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/src/Parameters_print.cpp
r110 r146 17 17 namespace direction { 18 18 namespace meta_predictor { 19 20 19 21 20 #undef FUNCTION
Note: See TracChangeset
for help on using the changeset viewer.