Changeset 115 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table
- Timestamp:
- Apr 20, 2009, 11:29:17 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table
- 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/Update_Prediction_Table.h
r112 r115 53 53 public : Stat * _stat; 54 54 55 private : counter_t *** _stat_nb_branch_hit ; //[nb_context][MAX_BRANCH_CONDITION] 56 private : counter_t *** _stat_nb_branch_miss ; //[nb_context][MAX_BRANCH_CONDITION] 57 private : counter_t ** _stat_nb_branch_unused ; //[nb_context] 58 private : counter_t ** _stat_ufpt_queue_nb_elt ; //[nb_context] 59 private : counter_t ** _stat_upt_queue_nb_elt ; //[nb_context] 60 55 private : counter_t *** _stat_nb_branch_hit ; //[nb_context][MAX_BRANCH_CONDITION] 56 private : counter_t *** _stat_nb_branch_miss ; //[nb_context][MAX_BRANCH_CONDITION] 57 private : counter_t ** _stat_nb_branch_unused ; //[nb_context] 58 private : counter_t ** _stat_ufpt_queue_nb_elt ; //[nb_context] 59 private : counter_t ** _stat_upt_queue_nb_elt ; //[nb_context] 60 61 private : counter_t ** _stat_nb_branch_ifetch_prediction; //[nb_context] 62 private : counter_t ** _stat_nb_branch_accurate ; //[nb_context] 61 63 #endif 62 64 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_statistics_allocation.cpp
r97 r115 31 31 32 32 { 33 ALLOC2(_stat_nb_branch_hit ,counter_t *,_param->_nb_context,MAX_BRANCH_CONDITION); 34 ALLOC2(_stat_nb_branch_miss ,counter_t *,_param->_nb_context,MAX_BRANCH_CONDITION); 35 ALLOC1(_stat_nb_branch_unused ,counter_t *,_param->_nb_context); 33 ALLOC2(_stat_nb_branch_hit ,counter_t *,_param->_nb_context,MAX_BRANCH_CONDITION); 34 ALLOC2(_stat_nb_branch_miss ,counter_t *,_param->_nb_context,MAX_BRANCH_CONDITION); 35 ALLOC1(_stat_nb_branch_unused ,counter_t *,_param->_nb_context); 36 37 ALLOC1(_stat_nb_branch_ifetch_prediction,counter_t *,_param->_nb_context); 38 ALLOC1(_stat_nb_branch_accurate ,counter_t *,_param->_nb_context); 36 39 37 40 for (uint32_t i=0; i<_param->_nb_context; ++i) … … 74 77 toString(_("Percent miss by branchement (context %d)"),i)); 75 78 76 _stat_nb_branch_unused [i] = _stat->create_counter("nb_branch_unused_" +toString(i),"",toString(_("Branch unused (previous speculation) (context %d)"),i)); 79 _stat_nb_branch_unused [i] = _stat->create_counter("nb_branch_unused_" +toString(i),"",toString(_("Branch unused (previous speculation) (context %d)"),i)); 80 _stat_nb_branch_ifetch_prediction [i] = _stat->create_counter("nb_branch_ifetch_prediction_"+toString(i),"",toString(_("Branch used and ifetch prediction (context %d)"),i)); 81 _stat_nb_branch_accurate [i] = _stat->create_counter("nb_branch_accurate_" +toString(i),"",toString(_("Branch and is accurate (context %d)"),i)); 82 83 _stat->create_expr("nb_branch_used_"+toString(i),sum_branchement,TYPE_COUNTER,"",_("Branch used")); 77 84 } 78 85 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp
r113 r115 468 468 reg_UPDATE_PREDICTION_TABLE [context][depth]._retire_ok = true; 469 469 reg_UPDATE_PREDICTION_TABLE [context][depth]._miss_prediction = ko; 470 471 #ifdef STATISTICS 472 if (usage_is_set(_usage,USE_STATISTICS)) 473 { 474 if (reg_UPDATE_PREDICTION_TABLE [context][depth]._ifetch_prediction) 475 (*_stat_nb_branch_ifetch_prediction [context])++; 476 if (reg_UPDATE_PREDICTION_TABLE [context][depth]._is_accurate) 477 (*_stat_nb_branch_accurate [context])++; 478 } 479 #endif 470 480 } 471 481
Note: See TracChangeset
for help on using the changeset viewer.