Changeset 145 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src
- Timestamp:
- Oct 13, 2010, 8:15:51 PM (14 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_statistics_allocation.cpp
r120 r145 40 40 for (uint32_t i=0; i<_param->_nb_context; ++i) 41 41 { 42 _stat_nb_cycle_state_ok [i] = _stat->create_counter("nb_cycle_state_ok_" +toString(i),"",toString(_("Number of cycle in state ok (context %d)"),i)); 43 _stat_nb_cycle_state_ko_excep [i] = _stat->create_counter("nb_cycle_state_ko_excep_" +toString(i),"",toString(_("Number of cycle in state ko_excep (context %d)"),i)); 44 _stat_nb_cycle_state_ko_miss_branch [i] = _stat->create_counter("nb_cycle_state_ko_miss_branch_" +toString(i),"",toString(_("Number of cycle in state ko_miss_branch (context %d)"),i)); 45 _stat_nb_cycle_state_ko_miss_load [i] = _stat->create_counter("nb_cycle_state_ko_miss_load_" +toString(i),"",toString(_("Number of cycle in state ko_miss_load (context %d)"),i)); 46 _stat_nb_cycle_state_ko_miss_load_and_branch [i] = _stat->create_counter("nb_cycle_state_ko_miss_load_and_branch_"+toString(i),"",toString(_("Number of cycle in state ko_miss_load_and_branch (context %d)"),i)); 47 _stat_nb_cycle_state_ko_msync [i] = _stat->create_counter("nb_cycle_state_ko_msync_" +toString(i),"",toString(_("Number of cycle in state ko_msync (context %d)"),i)); 48 _stat_nb_cycle_state_ko_psync [i] = _stat->create_counter("nb_cycle_state_ko_psync_" +toString(i),"",toString(_("Number of cycle in state ko_psync (context %d)"),i)); 49 _stat_nb_cycle_state_ko_csync [i] = _stat->create_counter("nb_cycle_state_ko_csync_" +toString(i),"",toString(_("Number of cycle in state ko_csync (context %d)"),i)); 50 _stat_nb_cycle_state_ko_spr [i] = _stat->create_counter("nb_cycle_state_ko_spr_" +toString(i),"",toString(_("Number of cycle in state ko_spr (context %d)"),i)); 51 42 _stat_nb_cycle_state_ok [i] = _stat->create_variable("nb_cycle_state_ok_" +toString(i)); 43 _stat_nb_cycle_state_ko_excep [i] = _stat->create_variable("nb_cycle_state_ko_excep_" +toString(i)); 44 _stat_nb_cycle_state_ko_miss_branch [i] = _stat->create_variable("nb_cycle_state_ko_miss_branch_" +toString(i)); 45 _stat_nb_cycle_state_ko_miss_load [i] = _stat->create_variable("nb_cycle_state_ko_miss_load_" +toString(i)); 46 _stat_nb_cycle_state_ko_miss_load_and_branch [i] = _stat->create_variable("nb_cycle_state_ko_miss_load_and_branch_"+toString(i)); 47 _stat_nb_cycle_state_ko_msync [i] = _stat->create_variable("nb_cycle_state_ko_msync_" +toString(i)); 48 _stat_nb_cycle_state_ko_psync [i] = _stat->create_variable("nb_cycle_state_ko_psync_" +toString(i)); 49 _stat_nb_cycle_state_ko_csync [i] = _stat->create_variable("nb_cycle_state_ko_csync_" +toString(i)); 50 _stat_nb_cycle_state_ko_spr [i] = _stat->create_variable("nb_cycle_state_ko_spr_" +toString(i)); 52 51 53 52 _stat->create_expr_percent("percent_state_ok_" +toString(i),"nb_cycle_state_ok_" +toString(i),"cycle",toString(_("Percent of cycle in state ok (context %d)"),i)); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_transition.cpp
r128 r145 33 33 (((state == CONTEXT_STATE_KO_MISS_BRANCH_ADDR ) or \ 34 34 (state == CONTEXT_STATE_KO_MISS_BRANCH_WAITEND ) or \ 35 (state == CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE ) or \ 35 36 (state == CONTEXT_STATE_KO_MISS_BRANCH_WAIT_UPDATE ))?PRIORITY_MISS_BRANCH: \ 36 37 ((state == EVENT_TYPE_EXCEPTION)?PRIORITY_EXCEPTION: \ … … 112 113 // state = CONTEXT_STATE_OK; 113 114 state = CONTEXT_STATE_KO_MISS_BRANCH_ADDR; 115 break; 116 } 117 case CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE : 118 { 119 if (inst_all == 0) 120 // state = CONTEXT_STATE_OK; 121 state = CONTEXT_STATE_OK; 114 122 break; 115 123 } … … 321 329 if (can_continue) 322 330 reg_STATE [i] = CONTEXT_STATE_KO_MISS_BRANCH_ADDR; 323 else 324 { 325 // #if (MANAGE_EVENT == MANAGE_EVENT_NO_WAIT) 326 // reg_STATE [i] = CONTEXT_STATE_KO_MISS_BRANCH_ADDR; 327 // #else 328 reg_STATE [i] = CONTEXT_STATE_KO_MISS_BRANCH_WAITEND; 329 // #endif 330 } 331 else 332 // cf UPT : dest_val = direction, accurate depend of jump type (e.g. jr is inacurate) 333 // reg_STATE [i] = CONTEXT_STATE_KO_MISS_BRANCH_WAITEND; 334 reg_STATE [i] = CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE; 331 335 332 336 reg_EVENT_ADDRESS [i] = PORT_READ(in_BRANCH_EVENT_ADDRESS_SRC [i])+1; // address delay slot … … 647 651 case CONTEXT_STATE_KO_MISS_BRANCH_ADDR : 648 652 case CONTEXT_STATE_KO_MISS_BRANCH_WAITEND : 653 case CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE : 649 654 case CONTEXT_STATE_KO_MISS_LOAD_AND_BRANCH_ADDR : 650 655 case CONTEXT_STATE_KO_MISS_LOAD_AND_BRANCH_WAITEND : … … 752 757 case CONTEXT_STATE_KO_EXCEP_SPR : (*_stat_nb_cycle_state_ko_excep [i])++; break; 753 758 759 case CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE : 754 760 case CONTEXT_STATE_KO_MISS_BRANCH_WAIT_UPDATE : 755 761 case CONTEXT_STATE_KO_MISS_BRANCH_ADDR :
Note: See TracChangeset
for help on using the changeset viewer.