Changeset 82 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/include
- Timestamp:
- May 1, 2008, 6:48:45 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/include
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/include/Parameters.h
r81 r82 35 35 36 36 public : uint32_t _size_context_id ; 37 public : uint32_t _size_depth ; 37 public : uint32_t * _size_depth ; // [nb_context] 38 public : uint32_t _max_size_depth ; 38 39 public : uint32_t _max_size_ras_index ; 39 40 40 41 public : bool _have_port_context_id ; 41 public : bool _have_port_depth ; 42 public : bool * _have_port_depth ; // [nb_context] 43 public : bool _have_port_max_depth ; 42 44 public : bool _have_port_history ; 43 45 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/include/Types.h
r81 r82 24 24 UPDATE_PREDICTION_STATE_WAIT_DECOD , // Fetch have access at the predictor 25 25 UPDATE_PREDICTION_STATE_WAITEND , // Have make a prediction, wait branch_complete 26 UPDATE_PREDICTION_STATE_EVENT , // have a event - must signal at the context_unit 26 27 UPDATE_PREDICTION_STATE_OK , // branch is complete and can update predictor 27 28 UPDATE_PREDICTION_STATE_KO , // have a event - must update predictor unit … … 58 59 case morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::update_prediction_table::UPDATE_PREDICTION_STATE_WAIT_DECOD : return "wait_decod"; break; 59 60 case morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::update_prediction_table::UPDATE_PREDICTION_STATE_WAITEND : return "waitend" ; break; 61 case morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::update_prediction_table::UPDATE_PREDICTION_STATE_EVENT : return "event" ; break; 60 62 case morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::update_prediction_table::UPDATE_PREDICTION_STATE_OK : return "ok" ; break; 61 63 case morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::update_prediction_table::UPDATE_PREDICTION_STATE_KO : return "ko" ; break; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/include/Update_Prediction_Table.h
r81 r82 88 88 public : SC_IN (Taddress_t ) ** in_DECOD_RAS_ADDRESS ; //[nb_inst_decod] 89 89 public : SC_IN (Tptr_t ) ** in_DECOD_RAS_INDEX ; //[nb_inst_decod] 90 public : SC_IN (Tcontrol_t ) ** in_DECOD_MISS_PREDICTION ; //[nb_inst_decod] // ifetch is a miss pred 90 public : SC_IN (Tcontrol_t ) ** in_DECOD_MISS_IFETCH ; //[nb_inst_decod] 91 public : SC_IN (Tcontrol_t ) ** in_DECOD_MISS_DECOD ; //[nb_inst_decod] 91 92 public : SC_IN (Tprediction_ptr_t ) ** in_DECOD_UPDATE_PREDICTION_ID ; //[nb_inst_decod] 92 93 //public : SC_OUT(Tdepth_t ) ** out_DECOD_DEPTH ; //[nb_inst_decod] … … 103 104 public : SC_OUT(Taddress_t ) ** out_BRANCH_COMPLETE_ADDRESS_SRC ; //[nb_inst_branch_complete] 104 105 public : SC_OUT(Taddress_t ) ** out_BRANCH_COMPLETE_ADDRESS_DEST ; //[nb_inst_branch_complete] 106 107 // ~~~~~[ Interface : "branch_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 108 public : SC_OUT(Tcontrol_t ) ** out_BRANCH_EVENT_VAL ; //[nb_context] 109 public : SC_IN (Tcontrol_t ) ** in_BRANCH_EVENT_ACK ; //[nb_context] 110 //public : SC_OUT(Tcontext_t ) ** out_BRANCH_EVENT_CONTEXT_ID ; //[nb_context] 111 //public : SC_OUT(Tdepth_t ) ** out_BRANCH_EVENT_DEPTH ; //[nb_context] 112 //public : SC_OUT(Tcontrol_t ) ** out_BRANCH_EVENT_MISS_PREDICTION; //[nb_context] is always miss prediction 113 public : SC_OUT(Taddress_t ) ** out_BRANCH_EVENT_ADDRESS_SRC ; //[nb_context] 114 public : SC_OUT(Taddress_t ) ** out_BRANCH_EVENT_ADDRESS_DEST ; //[nb_context] 105 115 106 116 // ~~~~~[ Interface : "update" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 117 127 public : SC_OUT(Thistory_t ) ** out_UPDATE_DIR_HISTORY ; //[nb_inst_update] 118 128 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_RAS_VAL ; //[nb_inst_update] 129 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_RAS_PUSH ; //[nb_inst_update] 119 130 public : SC_OUT(Taddress_t ) ** out_UPDATE_RAS_ADDRESS ; //[nb_inst_update] 120 131 public : SC_OUT(Tptr_t ) ** out_UPDATE_RAS_INDEX ; //[nb_inst_update] … … 131 142 private : uint32_t * reg_BOTTOM ; //[nb_context] 132 143 private : uint32_t * reg_NB_ELT ; //[nb_context] 144 private : uint32_t * reg_NB_ELT_UPDATE ; //[nb_context] 133 145 private : uint32_t * reg_NB_ELT_NEED_UPDATE ; //[nb_context] 134 146 private : entry_t ** reg_UPDATE_PREDICTION_TABLE; //[nb_context][size_queue] … … 142 154 private : Tcontrol_t * internal_BRANCH_COMPLETE_TAKE ; //[nb_inst_branch_complete] 143 155 private : Taddress_t * internal_BRANCH_COMPLETE_ADDRESS_DEST ; //[nb_inst_branch_complete] 156 private : Tcontrol_t * internal_BRANCH_EVENT_VAL ; //[nb_context] 157 private : Tdepth_t * internal_BRANCH_EVENT_DEPTH ; //[nb_context] 144 158 private : Tcontrol_t * internal_UPDATE_VAL ; //[nb_inst_update] 145 159 private : Tcontext_t * internal_UPDATE_CONTEXT_ID ; //[nb_inst_update]
Note: See TracChangeset
for help on using the changeset viewer.