Changeset 128 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src
- Timestamp:
- Jun 26, 2009, 10:43:23 AM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Parameters.cpp
r122 r128 63 63 for (uint32_t i=0; i<_nb_thread; i++) 64 64 _have_thread[i] = false; 65 for (uint32_t i=0; i<_nb_ context; i++)65 for (uint32_t i=0; i<_nb_thread; i++) 66 66 _have_thread[_translate_num_context_to_num_thread [i]] = true; 67 67 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp
r122 r128 172 172 173 173 #if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true) 174 for (uint32_t i=0; i<_param->_nb_thread; ++i) 175 if (_param->_have_thread [i]) 176 { 177 branchement_log_file [i].close(); 178 } 174 { 175 for (uint32_t i=0; i<_param->_nb_thread; ++i) 176 if (_param->_have_thread [i]) 177 { 178 branchement_log_file [i].close(); 179 } 180 delete [] branchement_log_file; 181 } 179 182 #endif 180 183 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_statistics_deallocation.cpp
r97 r128 29 29 delete _stat; 30 30 31 DELETE2(_stat_nb_branch_hit ,_param->_nb_context,MAX_BRANCH_CONDITION); 32 DELETE2(_stat_nb_branch_miss ,_param->_nb_context,MAX_BRANCH_CONDITION); 33 DELETE1(_stat_nb_branch_unused ,_param->_nb_context); 34 DELETE1(_stat_ufpt_queue_nb_elt ,_param->_nb_context); 35 DELETE1(_stat_upt_queue_nb_elt ,_param->_nb_context); 31 DELETE2(_stat_nb_branch_hit ,_param->_nb_context,MAX_BRANCH_CONDITION); 32 DELETE2(_stat_nb_branch_miss ,_param->_nb_context,MAX_BRANCH_CONDITION); 33 DELETE1(_stat_nb_branch_unused ,_param->_nb_context); 34 35 DELETE1(_stat_nb_branch_ifetch_prediction,_param->_nb_context); 36 DELETE1(_stat_nb_branch_accurate ,_param->_nb_context); 37 38 DELETE1(_stat_ufpt_queue_nb_elt ,_param->_nb_context); 39 DELETE1(_stat_upt_queue_nb_elt ,_param->_nb_context); 36 40 37 41 log_printf(FUNC,Update_Prediction_Table,FUNCTION,"End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp
r124 r128 34 34 { 35 35 for (uint32_t j=0; j<_param->_size_ufpt_queue[i]; ++j) 36 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._state = UPDATE_FETCH_PREDICTION_STATE_EMPTY; 36 { 37 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._state = UPDATE_FETCH_PREDICTION_STATE_EMPTY; 38 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._condition = 0; // not necessary 39 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_src = 0; // not necessary 40 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_dest = 0; // not necessary 41 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._last_take = 0; // not necessary 42 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._is_accurate = 0; // not necessary 43 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._history = 0; // not necessary 44 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_ras = 0; // not necessary 45 reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._index_ras = 0; // not necessary 46 } 37 47 reg_UFPT_BOTTOM [i] = 0; 38 48 reg_UFPT_TOP [i] = 0; … … 42 52 43 53 for (uint32_t j=0; j<_param->_size_upt_queue[i]; ++j) 44 reg_UPDATE_PREDICTION_TABLE [i][j]._state = UPDATE_PREDICTION_STATE_EMPTY; 54 { 55 reg_UPDATE_PREDICTION_TABLE [i][j]._state = UPDATE_PREDICTION_STATE_EMPTY; 56 reg_UPDATE_PREDICTION_TABLE [i][j]._condition = 0; // not necessary 57 reg_UPDATE_PREDICTION_TABLE [i][j]._address_src = 0; // not necessary 58 reg_UPDATE_PREDICTION_TABLE [i][j]._address_dest = 0; // not necessary 59 reg_UPDATE_PREDICTION_TABLE [i][j]._last_take = 0; // not necessary 60 reg_UPDATE_PREDICTION_TABLE [i][j]._good_take = 0; // not necessary 61 reg_UPDATE_PREDICTION_TABLE [i][j]._is_accurate = 0; // not necessary 62 reg_UPDATE_PREDICTION_TABLE [i][j]._history = 0; // not necessary 63 reg_UPDATE_PREDICTION_TABLE [i][j]._address_ras = 0; // not necessary 64 reg_UPDATE_PREDICTION_TABLE [i][j]._index_ras = 0; // not necessary 65 reg_UPDATE_PREDICTION_TABLE [i][j]._ifetch_prediction= 0; // not necessary 66 reg_UPDATE_PREDICTION_TABLE [i][j]._miss_commit = 0; // not necessary 67 reg_UPDATE_PREDICTION_TABLE [i][j]._retire_ok = 0; // not necessary 68 reg_UPDATE_PREDICTION_TABLE [i][j]._miss_prediction = 0; // not necessary 69 } 45 70 reg_UPT_BOTTOM [i] = 0; 46 71 reg_UPT_TOP [i] = 0; … … 54 79 reg_UPT_EVENT_STATE [i] = UPT_EVENT_STATE_OK; 55 80 56 // reg_EVENT_VAL [i] = false; 57 // reg_EVENT_STATE [i] = EVENT_STATE_OK; 58 // reg_EVENT_IS_BRANCH [i] = true; 81 reg_EVENT_UPT_PTR [i] = 0; // not necessary 82 reg_EVENT_UPT_FULL [i] = 0; // not necessary 83 84 // reg_EVENT_STATE [i] = EVENT_STATE_OK; // not necessary 85 // reg_EVENT_IS_BRANCH [i] = true ; // not necessary 86 87 reg_EVENT_DEPTH [i] = 0; // not necessary 88 reg_EVENT_ADDRESS_SRC [i] = 0; // not necessary 89 reg_EVENT_ADDRESS_DEST_VAL [i] = 0; // not necessary 90 reg_EVENT_ADDRESS_DEST [i] = 0; // not necessary 91 reg_EVENT_CAN_CONTINUE [i] = 0; // not necessary 92 59 93 } 60 94 }
Note: See TracChangeset
for help on using the changeset viewer.