Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/include/Parameters.h
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/include/Parameters.h
r81 r88 12 12 #include "Behavioural/include/Parameters.h" 13 13 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/include/Types.h" 14 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/include/Parameters.h" 14 15 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Parameters.h" 15 16 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h" … … 36 37 public : uint32_t _nb_load_store_unit ; 37 38 public : uint32_t _nb_write_unit ; 38 // generic parameters 39 // generic parameters 39 40 public : uint32_t _nb_context ; 40 41 public : uint32_t _nb_front_end ; 41 42 public : uint32_t _nb_ooo_engine ; 42 43 public : uint32_t _nb_packet ; 43 public : uint32_t _size_general_data ; 44 public : uint32_t _size_special_data ; 45 // specific parameters 46 // * read_unit 47 public : uint32_t * _size_read_queue ; //[nb_read_unit] 48 public : uint32_t * _size_reservation_station ; //[nb_read_unit] 49 public : uint32_t * _nb_inst_retire ; //[nb_read_unit] 50 public : uint32_t * _read_unit_nb_register_write ; //[nb_read_unit] 51 public : uint32_t * _read_unit_nb_bypass_write ; //[nb_read_unit] 52 public : uint32_t * _read_unit_nb_bypass_memory ; //[nb_read_unit] 53 public : bool ** _link_read_unit_with_load_store_unit ; //[nb_read_unit][nb_load_store_unit] 54 public : bool ** _link_read_unit_with_write_unit ; //[nb_read_unit][nb_write_unit] 55 public : bool ** _link_read_unit_with_thread ; //[nb_read_unit][nb_thread] 56 57 // * functionnal_unit 58 public : execute_timing_t *** _timing ; //[nb_execute_unit][nb_type][nb_operation] 59 public : morpheo::behavioural::custom::custom_information_t (*_get_custom_information) (uint32_t); 44 //public : uint32_t _size_general_data ; 45 //public : uint32_t _size_special_data ; 46 // specific parameters 47 // * functionnal_unit 48 public : uint32_t * _nb_inst_functionnal_unit ; //[nb_functionnal_unit] 49 public : execute_timing_t *** _timing ; //[nb_functionnal_unit][nb_type][nb_operation] 50 public : morpheo::behavioural::custom::custom_information_t (*_get_custom_information) (void); 51 60 52 // * load_store_unit 61 53 public : uint32_t * _size_store_queue ; //[nb_load_store_unit] … … 65 57 public : Tspeculative_load_t * _speculative_load ; //[nb_load_store_unit] 66 58 public : uint32_t * _nb_bypass_memory ; //[nb_load_store_unit] 67 // * write_unit 59 public : uint32_t * _nb_cache_port ; //[nb_load_store_unit] 60 public : uint32_t * _nb_inst_memory ; //[nb_load_store_unit] 61 // * read_unit 62 public : uint32_t * _size_read_queue ; //[nb_read_unit] 63 public : uint32_t * _size_reservation_station ; //[nb_read_unit] 64 public : uint32_t * _nb_inst_retire ; //[nb_read_unit] 65 public : uint32_t * _read_unit_nb_register_write ; //[nb_read_unit] 66 public : uint32_t * _read_unit_nb_bypass_write ; //[nb_read_unit] 67 public : uint32_t * _read_unit_nb_bypass_memory ; //[nb_read_unit] 68 public : bool *** _link_read_unit_with_load_store_unit ; //[nb_read_unit][nb_load_store_unit][nb_inst_memory] 69 public : bool ** _link_read_unit_with_write_unit ; //[nb_read_unit][nb_write_unit] 70 public : bool ** _link_read_unit_with_thread ; //[nb_read_unit][nb_thread] 71 // * write_unit 68 72 public : uint32_t * _size_write_queue ; //[nb_write_unit] 69 73 public : uint32_t * _size_execute_queue ; //[nb_write_unit] 70 74 public : uint32_t * _nb_bypass_write ; //[nb_write_unit] 71 // * register_unit 75 // * register_unit 72 76 public : uint32_t _nb_gpr_read ; 73 77 public : uint32_t _nb_gpr_write ; … … 86 90 // * network 87 91 public : Tpriority_t _execution_unit_to_write_unit_priority ; 88 public : bool ** _execution_unit_to_write_unit_table_routing ; //[nb_execute_unit][nb_write_unit]92 public : bool *** _execution_unit_to_write_unit_table_routing ; //[nb_execute_unit][nb_execute_unit_port][nb_write_unit] 89 93 public : bool ** _execution_unit_to_write_unit_table_thread ; //[nb_write_unit][nb_thread] 90 94 91 95 public : Tpriority_t _read_unit_to_execution_unit_priority ; 92 public : bool ** _read_unit_to_execution_unit_table_routing ; //[nb_read_unit][nb_execute_unit]96 public : bool *** _read_unit_to_execution_unit_table_routing ; //[nb_read_unit][nb_execute_unit][nb_execute_unit_port] 93 97 public : bool ** _read_unit_to_execution_unit_table_execute_type; //[nb_execute_unit][nb_type] 94 98 public : bool ** _read_unit_to_execution_unit_table_thread ; //[nb_execute_unit][nb_thread] … … 98 102 99 103 public : uint32_t _nb_execute_unit ; 100 101 public : uint32_t _size_context_id ; 102 public : uint32_t _size_front_end_id ; 103 public : uint32_t _size_ooo_engine_id ; 104 public : uint32_t _size_packet_id ; 105 public : bool _have_port_context_id ; 106 public : bool _have_port_front_end_id ; 107 public : bool _have_port_ooo_engine_id ; 108 public : bool _have_port_packet_id ; 109 public : bool _have_port_load_queue_ptr ; 104 public : uint32_t * _nb_execute_unit_port ; 105 106 //public : uint32_t _size_context_id ; 107 //public : uint32_t _size_front_end_id ; 108 //public : uint32_t _size_ooo_engine_id ; 109 //public : uint32_t _size_packet_id ; 110 //public : bool _have_port_context_id ; 111 //public : bool _have_port_front_end_id ; 112 //public : bool _have_port_ooo_engine_id ; 113 //public : bool _have_port_packet_id ; 114 //public : bool _have_port_load_queue_ptr ; 110 115 public : bool _have_port_dcache_context_id ; 111 116 … … 115 120 public : uint32_t _max_size_load_queue ; 116 121 117 118 122 //public : uint32_t _size_general_register ; 123 //public : uint32_t _size_special_register ; 119 124 120 125 public : uint32_t _max_size_dcache_context_id; … … 125 130 public : std::set<uint32_t> * _set_read_unit_source_bypass_memory ; //[nb_read_unit] 126 131 132 public : morpheo::behavioural::core::multi_execute_loop::execute_loop::execute_loop_glue:: Parameters * _param_glue; 127 133 public : morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit:: Parameters ** _param_read_unit; 128 134 public : morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::Parameters ** _param_functionnal_unit; … … 135 141 //-----[ methods ]----------------------------------------------------------- 136 142 public : Parameters (uint32_t nb_read_unit , 137 uint32_t nb_functionnal_unit , 138 uint32_t nb_load_store_unit , 139 uint32_t nb_write_unit , 140 141 uint32_t nb_context , 142 uint32_t nb_front_end , 143 uint32_t nb_ooo_engine , 144 uint32_t nb_packet , 145 uint32_t size_general_data , 146 uint32_t size_special_data , 147 148 uint32_t * size_read_queue , 149 uint32_t * size_reservation_station , 150 uint32_t * nb_inst_retire , 151 152 execute_timing_t *** timing , 153 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t), 154 155 uint32_t * size_store_queue , 156 uint32_t * size_load_queue , 157 uint32_t * size_speculative_access_queue , 158 uint32_t * nb_port_check , 159 Tspeculative_load_t * speculative_load , 160 uint32_t * nb_bypass_memory , 161 162 uint32_t * size_write_queue , 163 uint32_t * size_execute_queue , 164 uint32_t * nb_bypass_write , 165 166 uint32_t nb_gpr_bank , 167 uint32_t nb_gpr_port_read_by_bank , 168 uint32_t nb_gpr_port_write_by_bank , 169 uint32_t nb_spr_bank , 170 uint32_t nb_spr_port_read_by_bank , 171 uint32_t nb_spr_port_write_by_bank , 172 uint32_t * nb_general_register , 173 uint32_t * nb_special_register , 174 uint32_t * nb_inst_insert_rob , 175 uint32_t * nb_inst_retire_rob , 176 177 Tpriority_t execution_unit_to_write_unit_priority , 178 bool ** execution_unit_to_write_unit_table_routing , 179 bool ** execution_unit_to_write_unit_table_thread , 180 181 Tpriority_t read_unit_to_execution_unit_priority , 182 bool ** read_unit_to_execution_unit_table_routing , 183 bool ** read_unit_to_execution_unit_table_thread 184 ); 143 uint32_t nb_functionnal_unit , 144 uint32_t nb_load_store_unit , 145 uint32_t nb_write_unit , 146 147 uint32_t nb_context , 148 uint32_t nb_front_end , 149 uint32_t nb_ooo_engine , 150 uint32_t nb_packet , 151 uint32_t size_general_data , 152 uint32_t size_special_data , 153 154 uint32_t * size_read_queue ,//[nb_read_unit] 155 uint32_t * size_reservation_station ,//[nb_read_unit] 156 uint32_t * nb_inst_retire ,//[nb_read_unit] 157 158 uint32_t * nb_inst_functionnal_unit ,//[nb_functionnal_unit] 159 execute_timing_t *** timing ,//[nb_functionnal_unit][nb_type][nb_operation] 160 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void), 161 162 uint32_t * size_store_queue ,//[nb_load_store_unit] 163 uint32_t * size_load_queue ,//[nb_load_store_unit] 164 uint32_t * size_speculative_access_queue ,//[nb_load_store_unit] 165 uint32_t * nb_port_check ,//[nb_load_store_unit] 166 Tspeculative_load_t * speculative_load ,//[nb_load_store_unit] 167 uint32_t * nb_bypass_memory ,//[nb_load_store_unit] 168 uint32_t * nb_cache_port ,//[nb_load_store_unit] 169 uint32_t * nb_inst_memory ,//[nb_load_store_unit] 170 171 uint32_t * size_write_queue ,//[nb_write_unit] 172 uint32_t * size_execute_queue ,//[nb_write_unit] 173 uint32_t * nb_bypass_write ,//[nb_write_unit] 174 175 uint32_t nb_gpr_bank , 176 uint32_t nb_gpr_port_read_by_bank , 177 uint32_t nb_gpr_port_write_by_bank , 178 uint32_t nb_spr_bank , 179 uint32_t nb_spr_port_read_by_bank , 180 uint32_t nb_spr_port_write_by_bank , 181 uint32_t * nb_general_register ,//[nb_ooo_engine] 182 uint32_t * nb_special_register ,//[nb_ooo_engine] 183 uint32_t * nb_inst_insert_rob ,//[nb_ooo_engine] 184 uint32_t * nb_inst_retire_rob ,//[nb_ooo_engine] 185 186 Tpriority_t execution_unit_to_write_unit_priority , 187 bool *** execution_unit_to_write_unit_table_routing ,//[nb_execute_unit][nb_execute_unit_port][nb_write_unit] 188 bool ** execution_unit_to_write_unit_table_thread ,//[nb_write_unit][nb_thread] 189 190 Tpriority_t read_unit_to_execution_unit_priority , 191 bool *** read_unit_to_execution_unit_table_routing ,//[nb_read_unit][nb_execute_unit][nb_execute_unit_port] 192 bool ** read_unit_to_execution_unit_table_thread ,//[nb_execute_unit][nb_thread] 193 194 bool * is_load_store_unit ,//[nb_execute_unit] 195 uint32_t * translate_num_execute_unit ,//[nb_execute_unit] 196 197 bool is_toplevel=false 198 ); 185 199 // public : Parameters (Parameters & param) ; 186 public : ~Parameters () ; 200 public : ~Parameters (void) ; 201 202 public : void copy (void); 187 203 188 204 public : Parameters_test msg_error (void); 189 205 190 public : std::string print (uint32_t depth);191 public : friend std::ostream& operator<< (std::ostream& output_stream,192 206 public : std::string print (uint32_t depth); 207 public : friend std::ostream& operator<< (std::ostream& output_stream, 208 morpheo::behavioural::core::multi_execute_loop::execute_loop::Parameters & x); 193 209 }; 194 210
Note: See TracChangeset
for help on using the changeset viewer.