Changeset 110 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Parameters.cpp
- Timestamp:
- Feb 19, 2009, 5:31:47 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Parameters.cpp
r108 r110 7 7 8 8 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Parameters.h" 9 #include "Behavioural/include/Allocation.h" 9 10 #include "Common/include/Max.h" 10 11 #include "Common/include/BitManipulation.h" … … 20 21 #undef FUNCTION 21 22 #define FUNCTION "Commit_unit::Parameters" 22 Parameters::Parameters (uint32_t nb_front_end , 23 uint32_t * nb_context , 24 uint32_t nb_rename_unit , 25 uint32_t size_queue , 26 uint32_t nb_bank , 27 uint32_t * nb_inst_insert , 28 uint32_t * nb_inst_retire , 29 uint32_t nb_inst_commit , 30 uint32_t nb_inst_reexecute , 31 uint32_t nb_inst_branch_complete , 32 uint32_t ** nb_branch_speculated , 33 uint32_t size_nb_inst_decod , 34 uint32_t size_general_data , 35 uint32_t size_store_queue_ptr , 36 uint32_t size_load_queue_ptr , 37 uint32_t size_general_register , 38 uint32_t size_special_register , 39 Tpriority_t priority , 40 Tload_balancing_t load_balancing , 41 uint32_t nb_rename_unit_select , 23 Parameters::Parameters (uint32_t nb_front_end , 24 uint32_t * nb_context , 25 uint32_t nb_rename_unit , 26 uint32_t size_queue , 27 uint32_t nb_bank , 28 uint32_t * nb_inst_insert , 29 uint32_t * nb_inst_retire , 30 uint32_t nb_inst_commit , 31 uint32_t nb_inst_reexecute , 32 uint32_t nb_inst_branch_complete , 33 uint32_t ** nb_branch_speculated , 34 uint32_t size_nb_inst_decod , 35 uint32_t size_general_data , 36 uint32_t size_store_queue_ptr , 37 uint32_t size_load_queue_ptr , 38 uint32_t size_general_register , 39 uint32_t size_special_register , 40 Tpriority_t priority , 41 Tload_balancing_t load_balancing , 42 uint32_t nb_rename_unit_select , 43 uint32_t nb_thread , 44 uint32_t ** translate_num_context_to_num_thread, 42 45 bool is_toplevel): 43 46 _nb_bank_access_commit (1 ), … … 46 49 log_begin(Commit_unit,FUNCTION); 47 50 48 _nb_front_end = nb_front_end ; 49 _nb_context = nb_context ; 50 _nb_rename_unit = nb_rename_unit ; 51 _size_queue = size_queue ; 52 _nb_bank = nb_bank ; 53 _nb_inst_insert = nb_inst_insert ; 54 _nb_inst_retire = nb_inst_retire ; 55 _nb_inst_commit = nb_inst_commit ; 56 _nb_inst_reexecute = nb_inst_reexecute ; 57 _nb_inst_branch_complete = nb_inst_branch_complete; 58 _nb_branch_speculated = nb_branch_speculated ; 59 _priority = priority ; 60 _load_balancing = load_balancing ; 61 _nb_rename_unit_select = nb_rename_unit_select ; 51 _nb_front_end = nb_front_end ; 52 _nb_context = nb_context ; 53 _nb_rename_unit = nb_rename_unit ; 54 _size_queue = size_queue ; 55 _nb_bank = nb_bank ; 56 _nb_inst_insert = nb_inst_insert ; 57 _nb_inst_retire = nb_inst_retire ; 58 _nb_inst_commit = nb_inst_commit ; 59 _nb_inst_reexecute = nb_inst_reexecute ; 60 _nb_inst_branch_complete = nb_inst_branch_complete ; 61 _nb_branch_speculated = nb_branch_speculated ; 62 _priority = priority ; 63 _load_balancing = load_balancing ; 64 _nb_rename_unit_select = nb_rename_unit_select ; 65 _nb_thread = nb_thread ; 66 _translate_num_context_to_num_thread = translate_num_context_to_num_thread; 62 67 63 68 _size_rename_unit_id = log2(_nb_rename_unit); … … 71 76 _have_port_rename_unit_id = _size_rename_unit_id > 0; 72 77 73 _array_size_depth = new uint32_t * [_nb_front_end];78 ALLOC2(_array_size_depth,uint32_t,_nb_front_end,_nb_context [it1]); 74 79 for (uint32_t i=0; i<_nb_front_end; i++) 75 { 76 _array_size_depth [i] = new uint32_t [_nb_context [i]]; 77 for (uint32_t j=0; j<_nb_context [i]; j++) 78 _array_size_depth [i][j] = (_nb_branch_speculated [i][j] == 0)?0:log2(_nb_branch_speculated [i][j]); 79 } 80 for (uint32_t j=0; j<_nb_context [i]; j++) 81 _array_size_depth [i][j] = (_nb_branch_speculated [i][j] == 0)?0:log2(_nb_branch_speculated [i][j]); 80 82 81 83 test(); 84 85 ALLOC1(_have_thread,bool,_nb_thread); 86 for (uint32_t i=0; i<_nb_thread; i++) 87 _have_thread[i] = false; 88 for (uint32_t i=0; i<_nb_front_end; i++) 89 for (uint32_t j=0; j<_nb_context [i]; j++) 90 _have_thread[_translate_num_context_to_num_thread [i][j]] = true; 82 91 83 92 if (is_toplevel) … … 123 132 log_begin(Commit_unit,FUNCTION); 124 133 125 for (uint32_t i=0; i<_nb_front_end; i++) 126 { 127 delete [] _array_size_depth [i]; 128 } 129 delete [] _array_size_depth; 134 DELETE1(_have_thread ,_nb_thread); 135 DELETE2(_array_size_depth,_nb_front_end,_nb_context [it1]); 130 136 131 137 log_end(Commit_unit,FUNCTION);
Note: See TracChangeset
for help on using the changeset viewer.