Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Meta_Predictor_Glue_genMealy_update.cpp
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- 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/src/Meta_Predictor_Glue_genMealy_update.cpp
r111 r112 29 29 for (uint32_t i=0; i<_param->_nb_inst_update; ++i) 30 30 { 31 Thistory_t history = PORT_READ(in_UPDATE_HISTORY [i]); 32 Tcontrol_t direction = PORT_READ(in_UPDATE_DIRECTION [i]); 31 Thistory_t history = PORT_READ(in_UPDATE_HISTORY [i]); 32 Tcontrol_t history_val = PORT_READ(in_UPDATE_HISTORY_VAL [i]); 33 Tcontrol_t direction = PORT_READ(in_UPDATE_DIRECTION [i]); 33 34 34 35 switch (_param->_nb_predictor) … … 38 39 Thistory_t history_0 = history; 39 40 Tcontrol_t direction_old_0 = (history_0>>_param->_predictor_history_shift_msb[0])&1; 40 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [0][i],history_0); 41 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [0][i],direction); 41 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [0][i],history_0); 42 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY_VAL [0][i],history_val); 43 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [0][i],direction); 42 44 if (_param->_predictor_update_on_prediction [0]) 43 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [0][i],direction xor direction_old_0);45 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [0][i],direction xor direction_old_0); 44 46 45 47 break; … … 83 85 (not direction and direction_old_0)); 84 86 85 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [0][i],direction);86 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [1][i],direction);87 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [2][i],direction_new_2);87 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [0][i],direction); 88 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [1][i],direction); 89 PORT_WRITE(out_UPDATE_PREDICTOR_DIRECTION [2][i],direction_new_2); 88 90 89 91 if (_param->_predictor_update_on_prediction [0]) 90 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [0][i],direction xor direction_old_0);92 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [0][i],direction xor direction_old_0); 91 93 if (_param->_predictor_update_on_prediction [1]) 92 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [1][i],direction xor direction_old_1);94 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [1][i],direction xor direction_old_1); 93 95 if (_param->_predictor_update_on_prediction [2]) 94 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [2][i],direction_new_2 xor direction_old_2);96 PORT_WRITE(out_UPDATE_PREDICTOR_MISS [2][i],direction_new_2 xor direction_old_2); 95 97 96 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [0][i],history_0); 97 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [1][i],history_1); 98 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [2][i],history_2); 98 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [0][i],history_0); 99 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [1][i],history_1); 100 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY [2][i],history_2); 101 102 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY_VAL [0][i],history_val); 103 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY_VAL [1][i],history_val); 104 PORT_WRITE(out_UPDATE_PREDICTOR_HISTORY_VAL [2][i],history_val); 99 105 100 106 break;
Note: See TracChangeset
for help on using the changeset viewer.