Changeset 111 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/include
- Timestamp:
- Feb 27, 2009, 7:37:40 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/include/Parameters.h
r110 r111 9 9 */ 10 10 11 #include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/include/Types.h" 11 12 #include "Behavioural/include/Parameters.h" 12 13 #include "Common/include/Debug.h" … … 26 27 { 27 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_rshift ; 47 public : Thistory_t _pht_history_mask ; 48 public : Thistory_t _pht_history_rshift ; 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_lshift; 58 public : Taddress_t _pht_address_bank_mask ; 59 public : Taddress_t _pht_address_bank_rshift ; 28 60 29 61 //-----[ methods ]----------------------------------------------------------- 30 public : Parameters (bool is_toplevel=false); 62 public : Parameters (uint32_t nb_inst_predict , 63 uint32_t nb_inst_update , 64 uint32_t size_address , 65 bool have_bht , 66 uint32_t bht_size_shifter , 67 uint32_t bht_nb_shifter , 68 bool have_pht , 69 uint32_t pht_size_counter , 70 uint32_t pht_nb_counter , 71 uint32_t pht_size_address_share, 72 bool update_on_prediction , 73 bool is_toplevel=false); 31 74 //public : Parameters (Parameters & param) ; 32 75 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/Two_Level_Branch_Predictor.h
r110 r111 66 66 public : SC_IN (Tcontrol_t) * in_NRESET ; 67 67 68 // ~~~~~[ Interface : "predict" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 public : SC_IN (Tcontrol_t) ** in_PREDICT_VAL ;//[nb_inst_predict] 70 public : SC_OUT(Tcontrol_t) ** out_PREDICT_ACK ;//[nb_inst_predict] 71 public : SC_IN (Taddress_t) ** in_PREDICT_ADDRESS ;//[nb_inst_predict] 72 public : SC_OUT(Tcontrol_t) ** out_PREDICT_DIRECTION ;//[nb_inst_predict] // = MSB[history] 73 public : SC_OUT(Thistory_t) ** out_PREDICT_HISTORY ;//[nb_inst_predict] 74 public : SC_IN (Tcontrol_t) ** in_PREDICT_DIRECTION_VAL;//[nb_inst_predict] // if update_on_prediction 75 public : SC_IN (Tcontrol_t) ** in_PREDICT_DIRECTION ;//[nb_inst_predict] // if update_on_prediction 76 77 // ~~~~~[ Interface : "update" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 public : SC_IN (Tcontrol_t) ** in_UPDATE_VAL ;//[nb_inst_update] 79 public : SC_OUT(Tcontrol_t) ** out_UPDATE_ACK ;//[nb_inst_update] 80 public : SC_IN (Taddress_t) ** in_UPDATE_ADDRESS ;//[nb_inst_update] 81 public : SC_IN (Thistory_t) ** in_UPDATE_HISTORY ;//[nb_inst_update] 82 public : SC_IN (Tcontrol_t) ** in_UPDATE_DIRECTION ;//[nb_inst_update] 83 public : SC_IN (Tcontrol_t) ** in_UPDATE_MISS ;//[nb_inst_update] // if update_on_prediction 84 68 85 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 86 70 87 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 88 private : Thistory_t * reg_BHT ;//[bht_nb_shifter] 89 private : Thistory_t ** reg_PHT ;//[pht_nb_counter][pht_nb_bank] 71 90 72 91 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 private : Tcontrol_t * internal_PREDICT_ACK ;//[nb_inst_predict] 93 private : Thistory_t * internal_PREDICT_BHT_NUM_REG ;//[nb_inst_predict] // if update_on_prediction 94 private : Thistory_t * internal_PREDICT_PHT_NUM_BANK ;//[nb_inst_predict] // if update_on_prediction 95 private : Thistory_t * internal_PREDICT_PHT_NUM_REG ;//[nb_inst_predict] // if update_on_prediction 96 97 private : Tcontrol_t * internal_UPDATE_ACK ;//[nb_inst_update] 73 98 #endif 74 99 … … 104 129 #ifdef SYSTEMC 105 130 public : void transition (void); 106 //public : void genMoore(void);131 public : void genMealy_predict (void); 107 132 #endif 108 133
Note: See TracChangeset
for help on using the changeset viewer.