Changeset 139 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src
- Timestamp:
- Jul 30, 2010, 4:47:27 PM (14 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp
r137 r139 1 1 2 /* 2 3 * $Id$ … … 71 72 _ALLOC2_SIGNAL_IN ( in_RENAME_LAST_EVENT ,"LAST_EVENT" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 72 73 _ALLOC2_SIGNAL_IN ( in_RENAME_IS_DELAY_SLOT ,"IS_DELAY_SLOT" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 74 _ALLOC2_SIGNAL_IN ( in_RENAME_SAVE_RAT ,"SAVE_RAT" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 73 75 #ifdef DEBUG 74 76 _ALLOC2_SIGNAL_IN ( in_RENAME_ADDRESS ,"ADDRESS" ,Taddress_t ,_param->_size_instruction_address ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); … … 458 460 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_IS_DELAY_SLOT", 459 461 dest, "in_RENAME_" +toString(j)+"_"+toString(k)+"_IS_DELAY_SLOT"); 462 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_SAVE_RAT" , 463 dest, "in_RENAME_" +toString(j)+"_"+toString(k)+"_SAVE_RAT" ); 460 464 #ifdef DEBUG 461 465 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_ADDRESS" , … … 530 534 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_IS_DELAY_SLOT" , 531 535 dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_IS_DELAY_SLOT" ); 532 // 533 // 536 // COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_HAVE_EVENT" , 537 // dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_HAVE_EVENT" ); 534 538 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_LAST_EVENT" , 535 539 dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_LAST_EVENT" ); … … 682 686 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_NUM_REG_RE_LOG" , 683 687 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RE_LOG" ); 688 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_RESTORE" , 689 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RESTORE" ); 690 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_RESTORE_RD_PHY_OLD" , 691 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RESTORE_RD_PHY_OLD" ); 692 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_RESTORE_RE_PHY_OLD" , 693 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RESTORE_RE_PHY_OLD" ); 684 694 } 685 695 … … 705 715 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_STATE", 706 716 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_STATE"); 707 // 708 // 717 // COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_FLUSH", 718 // dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_FLUSH"); 709 719 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_STOP", 710 720 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_STOP"); 721 if (_param->_rat_scheme[i] == RAT_DEPTH_SAVE) 722 { 723 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_TYPE", 724 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_TYPE"); 725 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_DEPTH", 726 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_DEPTH"); 727 } 711 728 } 712 729 x++; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp
r137 r139 41 41 DELETE2_SIGNAL( in_RENAME_LAST_EVENT ,_param->_nb_front_end,_param->_nb_inst_decod[it1],1 ); 42 42 DELETE2_SIGNAL( in_RENAME_IS_DELAY_SLOT ,_param->_nb_front_end,_param->_nb_inst_decod[it1],1 ); 43 DELETE2_SIGNAL( in_RENAME_SAVE_RAT ,_param->_nb_front_end,_param->_nb_inst_decod[it1],1 ); 43 44 #ifdef DEBUG 44 45 DELETE2_SIGNAL( in_RENAME_ADDRESS ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_instruction_address ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp
r138 r139 8 8 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/Parameters.h" 9 9 #include "Common/include/Max.h" 10 #include "Behavioural/include/Allocation.h" 10 11 11 12 namespace morpheo { … … 61 62 uint32_t * nb_general_register ,//[nb_rename_unit] 62 63 uint32_t * nb_special_register ,//[nb_rename_unit] 64 Trat_scheme_t * rat_scheme ,//[nb_rename_unit] 63 65 uint32_t * nb_reg_free ,//[nb_rename_unit] 64 66 uint32_t * nb_rename_unit_bank ,//[nb_rename_unit] … … 108 110 _issue_priority = issue_priority ; 109 111 _issue_load_balancing = issue_load_balancing ; 110 // 111 // 112 // _table_routing = table_routing ; 113 // _table_issue_type = table_issue_type ; 112 114 _size_reexecute_queue = size_reexecute_queue ; 113 115 _rename_select_priority = rename_select_priority ; … … 116 118 _nb_general_register = nb_general_register ; 117 119 _nb_special_register = nb_special_register ; 120 _rat_scheme = rat_scheme ; 118 121 _nb_reg_free = nb_reg_free ; 119 122 _nb_rename_unit_bank = nb_rename_unit_bank ; 120 // 123 // _size_read_counter = size_read_counter ; 121 124 _nb_load_store_queue = nb_load_store_queue ; 122 125 _size_store_queue = size_store_queue ; … … 147 150 _rename_unit_nb_inst_decod = new uint32_t * [_nb_rename_unit]; 148 151 _rename_unit_link_load_store_unit_with_thread = new uint32_t ** [_nb_rename_unit]; 152 _rename_unit_nb_branch_speculated = new uint32_t ** [_nb_rename_unit]; 149 153 150 154 for (uint32_t i=0; i<_nb_rename_unit; i++) … … 156 160 _rename_unit_nb_inst_decod [i] = new uint32_t [x]; 157 161 _rename_unit_link_load_store_unit_with_thread [i] = new uint32_t * [x]; 162 _rename_unit_nb_branch_speculated [i] = new uint32_t * [x]; 158 163 159 164 // Scan front_end list … … 164 169 _rename_unit_nb_inst_decod [i][j] = _nb_inst_decod [*it]; 165 170 _rename_unit_link_load_store_unit_with_thread [i][j] = new uint32_t [_nb_context [*it]]; 166 171 _rename_unit_nb_branch_speculated [i][j] = new uint32_t [_nb_context [*it]]; 172 167 173 for (uint32_t k=0; k<_nb_context [*it]; k++) 168 _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k]; 174 { 175 _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k]; 176 _rename_unit_nb_branch_speculated [i][j][k] = _nb_branch_speculated [*it][k]; 177 } 169 178 170 179 ++it; … … 188 197 } 189 198 } 199 200 ALLOC1(_commit_unit_rat_scheme,Trat_scheme_t,_nb_front_end); 201 202 for (uint32_t num_front_end=0; num_front_end<_nb_front_end; ++num_front_end) 203 _commit_unit_rat_scheme [num_front_end] = rat_scheme [_link_rename_unit_with_front_end [num_front_end]]; 190 204 191 205 _max_nb_context = max<uint32_t>(_nb_context,_nb_front_end); … … 242 256 _nb_general_register [i], 243 257 _nb_special_register [i], 258 _rat_scheme [i], 244 259 _nb_reg_free [i], 245 _nb_rename_unit_bank [i] //,246 // 247 260 _nb_rename_unit_bank [i], 261 // _size_read_counter [i] 262 _rename_unit_nb_branch_speculated [i] 248 263 ); 249 264 … … 268 283 size_general_register , 269 284 size_special_register , 285 _commit_unit_rat_scheme , 270 286 _issue_priority , 271 287 _issue_load_balancing , … … 396 412 { 397 413 for (uint32_t j=0; j<_nb_front_end; j++) 414 delete [] _rename_unit_nb_branch_speculated [i][j]; 415 delete [] _rename_unit_nb_branch_speculated [i]; 416 for (uint32_t j=0; j<_nb_front_end; j++) 398 417 delete [] _rename_unit_link_load_store_unit_with_thread [i][j]; 399 400 418 delete [] _rename_unit_link_load_store_unit_with_thread [i]; 401 419 delete [] _rename_unit_nb_inst_decod [i]; … … 403 421 } 404 422 423 delete [] _rename_unit_nb_branch_speculated ; 405 424 delete [] _rename_unit_link_load_store_unit_with_thread; 406 425 delete [] _rename_unit_nb_inst_decod ; … … 410 429 delete [] _rename_unit_size_context_id ; 411 430 delete [] _link_front_end_with_rename_unit ; 431 432 DELETE1(_commit_unit_rat_scheme,_nb_front_end); 412 433 413 434 for (uint32_t i=0; i<_nb_rename_unit; i++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters_print.cpp
r138 r139 76 76 str+= toString(MSG_INFORMATION)+" * nb_special_register ["+toString(i)+"] : "+toString<uint32_t >(_nb_special_register [i])+"\n";//[nb_rename_unit] 77 77 for (uint32_t i=0; i<_nb_rename_unit; ++i) 78 str+= toString(MSG_INFORMATION)+" * rat_scheme ["+toString(i)+"] : "+toString<uint32_t >(_rat_scheme [i])+"\n";//[nb_rename_unit] 79 for (uint32_t i=0; i<_nb_rename_unit; ++i) 78 80 str+= toString(MSG_INFORMATION)+" * nb_reg_free ["+toString(i)+"] : "+toString<uint32_t >(_nb_reg_free [i])+"\n";//[nb_rename_unit] 79 81 for (uint32_t i=0; i<_nb_rename_unit; ++i)
Note: See TracChangeset
for help on using the changeset viewer.