Changeset 123 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_transition.cpp
- Timestamp:
- Jun 8, 2009, 10:43:30 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_transition.cpp
r118 r123 43 43 else 44 44 { 45 #ifdef DEBUG_TEST 46 { 47 uint32_t free_list_nb_gpr_free = PORT_READ(in_INFO_NB_GPR_FREE); 48 uint32_t free_list_nb_spr_free = PORT_READ(in_INFO_NB_SPR_FREE); 49 uint32_t stat_list_nb_gpr_free = 0; 50 uint32_t stat_list_nb_spr_free = 0; 51 uint32_t stat_list_nb_gpr_can_free = 0; 52 uint32_t stat_list_nb_spr_can_free = 0; 53 uint32_t stat_list_nb_gpr_link = 0; 54 uint32_t stat_list_nb_spr_link = 0; 55 uint32_t stat_list_nb_gpr_use = 0; 56 uint32_t stat_list_nb_spr_use = 0; 57 58 for (uint32_t i=0; i<_param->_nb_bank; i++) 59 { 60 for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++) 61 { 62 if (gpr_stat_list [i][j]._is_free) 63 stat_list_nb_gpr_free ++; 64 if (gpr_stat_list [i][j]._is_link) 65 stat_list_nb_gpr_link ++; 66 if (gpr_stat_list [i][j]._is_use) 67 stat_list_nb_gpr_use ++; 68 if (gpr_stat_list [i][j].can_free()) 69 stat_list_nb_gpr_can_free ++; 70 } 71 for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++) 72 { 73 if (spr_stat_list [i][j]._is_free) 74 stat_list_nb_spr_free ++; 75 if (spr_stat_list [i][j]._is_link) 76 stat_list_nb_spr_link ++; 77 if (spr_stat_list [i][j]._is_use) 78 stat_list_nb_spr_use ++; 79 if (spr_stat_list [i][j].can_free()) 80 stat_list_nb_spr_can_free ++; 81 } 82 } 83 84 uint32_t nb_gpr_free = stat_list_nb_gpr_free+stat_list_nb_gpr_can_free; 85 uint32_t nb_spr_free = stat_list_nb_spr_free+stat_list_nb_spr_can_free; 86 uint32_t _nb_gpr_free = (_param->_nb_general_register - _param->_nb_gpr_use_init); 87 uint32_t _nb_spr_free = (_param->_nb_special_register - _param->_nb_spr_use_init); 88 uint32_t nb_gpr_link = stat_list_nb_gpr_link - _param->_nb_gpr_use_init; 89 uint32_t nb_spr_link = stat_list_nb_spr_link - _param->_nb_spr_use_init; 90 uint32_t nb_gpr_use = stat_list_nb_gpr_use - _param->_nb_gpr_use_init; 91 uint32_t nb_spr_use = stat_list_nb_spr_use - _param->_nb_spr_use_init; 92 93 log_printf(TRACE,Stat_List_unit,FUNCTION," * nb_gpr_free : stat_list %d - free_list %d - free %d, link %d (%d), use %d (%d)",stat_list_nb_gpr_free,free_list_nb_gpr_free,nb_gpr_free,nb_gpr_link,stat_list_nb_gpr_link,nb_gpr_use,stat_list_nb_gpr_use); 94 log_printf(TRACE,Stat_List_unit,FUNCTION," * nb_spr_free : stat_list %d - free_list %d - free %d, link %d (%d), use %d (%d)",stat_list_nb_spr_free,free_list_nb_spr_free,nb_spr_free,nb_spr_link,stat_list_nb_spr_link,nb_spr_use,stat_list_nb_spr_use); 95 96 if (free_list_nb_gpr_free != stat_list_nb_gpr_free) 97 throw ERRORMORPHEO(FUNCTION,toString(_("Number of free general register is not valid. %d in Stat_List and %d in Free_list.\n"),stat_list_nb_gpr_free,free_list_nb_gpr_free)); 98 if (free_list_nb_spr_free != stat_list_nb_spr_free) 99 throw ERRORMORPHEO(FUNCTION,toString(_("Number of free general register is not valid. %d in Stat_List and %d in Free_list.\n"),stat_list_nb_spr_free,free_list_nb_spr_free)); 100 101 if (PORT_READ(in_INFO_ROB_EMPTY) and (nb_gpr_free != _nb_gpr_free)) 102 throw ERRORMORPHEO(FUNCTION,toString(_("Rob is empty but they have %d general registers free or can_free and must be %d registers."),nb_gpr_free,_nb_gpr_free)); 103 104 if (PORT_READ(in_INFO_ROB_EMPTY) and (nb_spr_free != _nb_spr_free)) 105 throw ERRORMORPHEO(FUNCTION,toString(_("Rob is empty but they have %d special registers free or can_free and must be %d registers."),nb_spr_free,_nb_spr_free)); 106 } 107 #endif 108 45 109 // ===================================================== 46 110 // =====[ INSERT ]====================================== … … 256 320 for (uint32_t i=0; i<_param->_nb_bank; i++) 257 321 for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++) 258 log_printf(TRACE,Stat_List_unit,FUNCTION," * GPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d ",322 log_printf(TRACE,Stat_List_unit,FUNCTION," * GPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, use %.1d", 259 323 i, 260 324 j, 261 325 (i<<_param->_shift_gpr)|j, 262 326 gpr_stat_list[i][j]._is_free, 263 gpr_stat_list[i][j]._is_link// , 327 gpr_stat_list[i][j]._is_link, 328 gpr_stat_list[i][j]._is_use// , 264 329 // gpr_stat_list[i][j]._is_valid, 265 330 // gpr_stat_list[i][j]._counter … … 267 332 for (uint32_t i=0; i<_param->_nb_bank; i++) 268 333 for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++) 269 log_printf(TRACE,Stat_List_unit,FUNCTION," * SPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d ",334 log_printf(TRACE,Stat_List_unit,FUNCTION," * SPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, use %.1d", 270 335 i, 271 336 j, 272 337 (i<<_param->_shift_spr)|j, 273 338 spr_stat_list[i][j]._is_free, 274 spr_stat_list[i][j]._is_link// , 339 spr_stat_list[i][j]._is_link, 340 spr_stat_list[i][j]._is_use// , 275 341 // spr_stat_list[i][j]._is_valid, 276 342 // spr_stat_list[i][j]._counter
Note: See TracChangeset
for help on using the changeset viewer.