Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_allocation.cpp
r109 r112 49 49 ,IN 50 50 ,SOUTH, 51 "Generalist interface"51 _("Generalist interface") 52 52 #endif 53 53 ); … … 58 58 // ~~~~~[ interface : "pop" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59 59 { 60 ALLOC1_INTERFACE ("pop", IN, NORTH, "New destination register", _param->_nb_pop);60 ALLOC1_INTERFACE_BEGIN("pop", IN, NORTH, _("New destination register"), _param->_nb_pop); 61 61 62 62 ALLOC1_VALACK_IN ( in_POP_VAL ,VAL); … … 66 66 ALLOC1_SIGNAL_IN ( in_POP_SPR_VAL ,"spr_val" ,Tcontrol_t ,1 ); 67 67 ALLOC1_SIGNAL_OUT(out_POP_SPR_NUM_REG,"spr_num_reg",Tspecial_address_t,_param->_size_special_register); 68 69 ALLOC1_INTERFACE_END(_param->_nb_pop); 68 70 } 69 71 70 72 // ~~~~~[ interface : "push_gpr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 73 { 72 ALLOC1_INTERFACE ("push_gpr", IN, NORTH, "General register free", _param->_nb_push);74 ALLOC1_INTERFACE_BEGIN("push_gpr", IN, NORTH, _("General register free"), _param->_nb_push); 73 75 74 76 ALLOC1_VALACK_IN ( in_PUSH_GPR_VAL ,VAL); 75 77 ALLOC1_VALACK_OUT(out_PUSH_GPR_ACK ,ACK); 76 78 ALLOC1_SIGNAL_IN ( in_PUSH_GPR_NUM_REG,"num_reg",Tgeneral_address_t,_param->_size_general_register); 79 80 ALLOC1_INTERFACE_END(_param->_nb_push); 77 81 } 78 82 79 83 // ~~~~~[ interface : "push_spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 84 { 81 ALLOC1_INTERFACE ("push_spr", IN, NORTH, "General register free", _param->_nb_push);85 ALLOC1_INTERFACE_BEGIN("push_spr", IN, NORTH, _("General register free"), _param->_nb_push); 82 86 83 87 ALLOC1_VALACK_IN ( in_PUSH_SPR_VAL ,VAL); 84 88 ALLOC1_VALACK_OUT(out_PUSH_SPR_ACK ,ACK); 85 89 ALLOC1_SIGNAL_IN ( in_PUSH_SPR_NUM_REG,"num_reg",Tspecial_address_t,_param->_size_special_register); 90 91 ALLOC1_INTERFACE_END(_param->_nb_push); 86 92 } 87 93 88 94 if (usage_is_set(_usage,USE_SYSTEMC)) 89 95 { 90 _gpr_list = new std::list<uint32_t> [_param->_nb_bank];91 _spr_list = new std::list<uint32_t> [_param->_nb_bank];96 ALLOC1(_gpr_list,std::list<uint32_t>,_param->_nb_bank); 97 ALLOC1(_spr_list,std::list<uint32_t>,_param->_nb_bank); 92 98 93 internal_POP_ACK = new Tcontrol_t [_param->_nb_pop];94 internal_POP_GPR_BANK = new uint32_t [_param->_nb_pop];95 internal_POP_SPR_BANK = new uint32_t [_param->_nb_pop];99 ALLOC1(internal_POP_ACK ,Tcontrol_t,_param->_nb_pop); 100 ALLOC1(internal_POP_GPR_BANK ,uint32_t ,_param->_nb_pop); 101 ALLOC1(internal_POP_SPR_BANK ,uint32_t ,_param->_nb_pop); 96 102 97 internal_PUSH_GPR_ACK = new Tcontrol_t [_param->_nb_push];98 internal_PUSH_SPR_ACK = new Tcontrol_t [_param->_nb_push];99 internal_PUSH_GPR_BANK = new uint32_t [_param->_nb_push];100 internal_PUSH_SPR_BANK = new uint32_t [_param->_nb_push];103 ALLOC1(internal_PUSH_GPR_ACK ,Tcontrol_t,_param->_nb_push); 104 ALLOC1(internal_PUSH_SPR_ACK ,Tcontrol_t,_param->_nb_push); 105 ALLOC1(internal_PUSH_GPR_BANK,uint32_t ,_param->_nb_push); 106 ALLOC1(internal_PUSH_SPR_BANK,uint32_t ,_param->_nb_push); 101 107 } 108 102 109 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 110 _priority_gpr = new generic::priority::Priority (_name+"_priority_gpr", -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_deallocation.cpp
r109 r112 7 7 8 8 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/include/Free_List_unit.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 29 30 delete in_NRESET; 30 31 31 delete [] in_POP_VAL;32 delete [] out_POP_ACK;33 delete [] in_POP_GPR_VAL;34 delete [] out_POP_GPR_NUM_REG;35 delete [] in_POP_SPR_VAL;36 delete [] out_POP_SPR_NUM_REG;32 DELETE1_SIGNAL( in_POP_VAL ,_param->_nb_pop,1); 33 DELETE1_SIGNAL(out_POP_ACK ,_param->_nb_pop,1); 34 DELETE1_SIGNAL( in_POP_GPR_VAL ,_param->_nb_pop,1 ); 35 DELETE1_SIGNAL(out_POP_GPR_NUM_REG ,_param->_nb_pop,_param->_size_general_register); 36 DELETE1_SIGNAL( in_POP_SPR_VAL ,_param->_nb_pop,1 ); 37 DELETE1_SIGNAL(out_POP_SPR_NUM_REG ,_param->_nb_pop,_param->_size_special_register); 37 38 38 delete [] in_PUSH_GPR_VAL;39 delete [] out_PUSH_GPR_ACK;40 delete [] in_PUSH_GPR_NUM_REG;39 DELETE1_SIGNAL( in_PUSH_GPR_VAL ,_param->_nb_push,1); 40 DELETE1_SIGNAL(out_PUSH_GPR_ACK ,_param->_nb_push,1); 41 DELETE1_SIGNAL( in_PUSH_GPR_NUM_REG,_param->_nb_push,_param->_size_general_register); 41 42 42 delete [] in_PUSH_SPR_VAL;43 delete [] out_PUSH_SPR_ACK;44 delete [] in_PUSH_SPR_NUM_REG;43 DELETE1_SIGNAL( in_PUSH_SPR_VAL ,_param->_nb_push,1); 44 DELETE1_SIGNAL(out_PUSH_SPR_ACK ,_param->_nb_push,1); 45 DELETE1_SIGNAL( in_PUSH_SPR_NUM_REG,_param->_nb_push,_param->_size_special_register); 45 46 46 delete [] _gpr_list;47 delete [] _spr_list;48 49 delete [] internal_POP_ACK;50 delete [] internal_POP_GPR_BANK;51 delete [] internal_POP_SPR_BANK;52 53 delete [] internal_PUSH_GPR_ACK;54 delete [] internal_PUSH_SPR_ACK;55 delete [] internal_PUSH_GPR_BANK;56 delete [] internal_PUSH_SPR_BANK;47 DELETE1(_gpr_list ,_param->_nb_bank); 48 DELETE1(_spr_list ,_param->_nb_bank); 49 50 DELETE1(internal_POP_ACK ,_param->_nb_pop); 51 DELETE1(internal_POP_GPR_BANK ,_param->_nb_pop); 52 DELETE1(internal_POP_SPR_BANK ,_param->_nb_pop); 53 54 DELETE1(internal_PUSH_GPR_ACK ,_param->_nb_push); 55 DELETE1(internal_PUSH_SPR_ACK ,_param->_nb_push); 56 DELETE1(internal_PUSH_GPR_BANK,_param->_nb_push); 57 DELETE1(internal_PUSH_SPR_BANK,_param->_nb_push); 57 58 } 58 59 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_transition.cpp
r110 r112 51 51 52 52 #ifdef STATISTICS 53 (*_stat_nb_inst_pop) ++; 53 if (usage_is_set(_usage,USE_STATISTICS)) 54 (*_stat_nb_inst_pop) ++; 54 55 #endif 55 56 … … 57 58 { 58 59 #ifdef STATISTICS 59 (*_stat_nb_inst_pop_gpr) ++; 60 if (usage_is_set(_usage,USE_STATISTICS)) 61 (*_stat_nb_inst_pop_gpr) ++; 60 62 #endif 61 63 _gpr_list [internal_POP_GPR_BANK[i]].pop_front(); … … 65 67 { 66 68 #ifdef STATISTICS 67 (*_stat_nb_inst_pop_spr) ++; 69 if (usage_is_set(_usage,USE_STATISTICS)) 70 (*_stat_nb_inst_pop_spr) ++; 68 71 #endif 69 72 _spr_list [internal_POP_SPR_BANK[i]].pop_front(); … … 82 85 83 86 #ifdef STATISTICS 84 (*_stat_nb_inst_push_gpr) ++; 87 if (usage_is_set(_usage,USE_STATISTICS)) 88 (*_stat_nb_inst_push_gpr) ++; 85 89 #endif 86 90 … … 98 102 99 103 #ifdef STATISTICS 100 (*_stat_nb_inst_push_spr) ++; 104 if (usage_is_set(_usage,USE_STATISTICS)) 105 (*_stat_nb_inst_push_spr) ++; 101 106 #endif 102 107 … … 105 110 106 111 #ifdef STATISTICS 107 for (uint32_t i=0; i<_param->_nb_bank; ++i) 108 { 112 if (usage_is_set(_usage,USE_STATISTICS)) 113 for (uint32_t i=0; i<_param->_nb_bank; ++i) 114 { 115 109 116 (*(_stat_bank_gpr_nb_elt [i])) += _gpr_list[i].size(); 110 117 (*(_stat_bank_spr_nb_elt [i])) += _spr_list[i].size();
Note: See TracChangeset
for help on using the changeset viewer.