Changeset 136 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src
- Timestamp:
- Oct 20, 2009, 8:52:15 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_allocation.cpp
r134 r136 65 65 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 66 66 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 67 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 67 68 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 68 69 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ); … … 94 95 // ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 95 96 // ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 97 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 96 98 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 97 99 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_deallocation.cpp
r134 r136 44 44 DELETE1_SIGNAL( in_MEMORY_IN_OPERATION ,_param->_nb_inst_memory,_param->_size_operation ); 45 45 DELETE1_SIGNAL( in_MEMORY_IN_TYPE ,_param->_nb_inst_memory,_param->_size_type ); 46 DELETE1_SIGNAL( in_MEMORY_IN_CANCEL ,_param->_nb_inst_memory,1); 46 47 DELETE1_SIGNAL( in_MEMORY_IN_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_memory,_param->_size_store_queue_ptr ); 47 48 DELETE1_SIGNAL( in_MEMORY_IN_STORE_QUEUE_PTR_READ ,_param->_nb_inst_memory,_param->_size_store_queue_ptr ); … … 66 67 // DELETE1_SIGNAL(out_MEMORY_OUT_OPERATION ,_param->_nb_inst_memory,_param->_size_operation ); 67 68 // DELETE1_SIGNAL(out_MEMORY_OUT_TYPE ,_param->_nb_inst_memory,_param->_size_type ); 69 DELETE1_SIGNAL(out_MEMORY_OUT_CANCEL ,_param->_nb_inst_memory,1 ); 68 70 DELETE1_SIGNAL(out_MEMORY_OUT_WRITE_RD ,_param->_nb_inst_memory,1 ); 69 71 DELETE1_SIGNAL(out_MEMORY_OUT_NUM_REG_RD ,_param->_nb_inst_memory,_param->_size_general_register ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMoore.cpp
r123 r136 35 35 Tcontext_t memory_out_ooo_engine_id = 0; 36 36 Tpacket_t memory_out_packet_id = 0; 37 Tcontrol_t memory_out_cancel = 0; 37 38 Tcontrol_t memory_out_write_rd = 0; 38 39 Tgeneral_address_t memory_out_num_reg_rd = 0; … … 67 68 memory_out_ooo_engine_id = _load_queue [internal_MEMORY_OUT_PTR]._ooo_engine_id; 68 69 memory_out_packet_id = _load_queue [internal_MEMORY_OUT_PTR]._packet_id ; 70 memory_out_cancel = _load_queue [internal_MEMORY_OUT_PTR]._cancel ; 69 71 memory_out_write_rd = _load_queue [internal_MEMORY_OUT_PTR]._write_rd ; 70 72 memory_out_num_reg_rd = _load_queue [internal_MEMORY_OUT_PTR]._num_reg_rd; … … 130 132 memory_out_ooo_engine_id = _store_queue [internal_MEMORY_OUT_PTR]._ooo_engine_id; 131 133 memory_out_packet_id = _store_queue [internal_MEMORY_OUT_PTR]._packet_id ; 134 memory_out_cancel = _store_queue [internal_MEMORY_OUT_PTR]._cancel; 132 135 // memory_out_write_rd 133 136 // memory_out_num_reg_rd … … 152 155 // PORT_WRITE(out_MEMORY_OUT_OPERATION [0], memory_out_operation ); 153 156 // PORT_WRITE(out_MEMORY_OUT_TYPE [0], TYPE_MEMORY ); 157 PORT_WRITE(out_MEMORY_OUT_CANCEL [0], memory_out_cancel ); 154 158 PORT_WRITE(out_MEMORY_OUT_WRITE_RD [0], memory_out_write_rd ); 155 159 PORT_WRITE(out_MEMORY_OUT_NUM_REG_RD [0], memory_out_num_reg_rd ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp
r134 r136 251 251 _store_queue [i]._packet_id = 0; // not necessary 252 252 _store_queue [i]._operation = 0; // not necessary 253 _store_queue [i]._cancel = 0; // not necessary 253 254 _store_queue [i]._load_queue_ptr_write = 0; // not necessary 254 255 _store_queue [i]._address = 0; // not necessary … … 268 269 _load_queue [i]._packet_id = 0; // not necessary 269 270 _load_queue [i]._operation = 0; // not necessary 271 _load_queue [i]._cancel = 0; // not necessary 270 272 _load_queue [i]._store_queue_ptr_write = 0; // not necessary 271 273 _load_queue [i]._store_queue_ptr_read = 0; // not necessary … … 291 293 _speculative_access_queue [i]._packet_id = 0; // not necessary 292 294 _speculative_access_queue [i]._operation = 0; // not necessary 295 _speculative_access_queue [i]._cancel = 0; // not necessary 293 296 _speculative_access_queue [i]._load_queue_ptr_write = 0; // not necessary 294 297 _speculative_access_queue [i]._store_queue_ptr_write = 0; // not necessary … … 815 818 #endif 816 819 Toperation_t operation = PORT_READ(in_MEMORY_IN_OPERATION[internal_MEMORY_IN_PORT]); 820 Tcontrol_t cancel = PORT_READ(in_MEMORY_IN_CANCEL [internal_MEMORY_IN_PORT]); 817 821 Tgeneral_data_t address = (PORT_READ(in_MEMORY_IN_IMMEDIAT[internal_MEMORY_IN_PORT]) + 818 822 PORT_READ(in_MEMORY_IN_DATA_RA [internal_MEMORY_IN_PORT])); … … 925 929 _store_queue [index]._packet_id = (not _param->_have_port_rob_ptr )?0:PORT_READ(in_MEMORY_IN_PACKET_ID [internal_MEMORY_IN_PORT]); 926 930 _store_queue [index]._operation = operation; 931 _store_queue [index]._cancel = cancel ; 927 932 _store_queue [index]._load_queue_ptr_write = (not _param->_have_port_load_queue_ptr)?0:PORT_READ(in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE[internal_MEMORY_IN_PORT]); 928 933 _store_queue [index]._address = address; … … 965 970 966 971 _speculative_access_queue [index]._operation = operation; 972 _speculative_access_queue [index]._cancel = cancel ; 967 973 _speculative_access_queue [index]._load_queue_ptr_write = (not _param->_have_port_load_queue_ptr)?0:PORT_READ(in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE[internal_MEMORY_IN_PORT]); 968 974 _speculative_access_queue [index]._store_queue_ptr_write= PORT_READ(in_MEMORY_IN_STORE_QUEUE_PTR_WRITE[internal_MEMORY_IN_PORT]); … … 1094 1100 _load_queue [ptr_write]._packet_id = _speculative_access_queue [internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._packet_id; 1095 1101 _load_queue [ptr_write]._operation = operation; 1102 _load_queue [ptr_write]._cancel = _speculative_access_queue [internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._cancel; 1096 1103 _load_queue [ptr_write]._store_queue_ptr_write = store_queue_ptr_write; 1097 1104 _load_queue [ptr_write]._store_queue_ptr_read = store_queue_ptr_read ; … … 1286 1293 uint32_t j = (reg_STORE_QUEUE_PTR_READ+i)%_param->_size_store_queue; 1287 1294 1288 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d , %.4d, %.8x %.8x, %.2d %.1d, %.2d %s",1295 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d %.1d, %.4d, %.8x %.8x, %.2d %.1d, %.2d %s", 1289 1296 j, 1290 1297 _store_queue[j]._context_id , … … 1293 1300 _store_queue[j]._packet_id , 1294 1301 _store_queue[j]._operation , 1302 _store_queue[j]._cancel , 1295 1303 _store_queue[j]._load_queue_ptr_write, 1296 1304 _store_queue[j]._address , … … 1311 1319 uint32_t j = (*_speculative_access_queue_control)[i]; 1312 1320 1313 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d , %.4d %.4d %.4d %.1d, %.8x, %.1d %.4d, %.2d, %s",1321 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d %.1d, %.4d %.4d %.4d %.1d, %.8x, %.1d %.4d, %.2d, %s", 1314 1322 j, 1315 1323 _speculative_access_queue[j]._context_id , … … 1318 1326 _speculative_access_queue[j]._packet_id , 1319 1327 _speculative_access_queue[j]._operation , 1328 _speculative_access_queue[j]._cancel , 1320 1329 _speculative_access_queue[j]._load_queue_ptr_write, 1321 1330 _speculative_access_queue[j]._store_queue_ptr_write, … … 1337 1346 uint32_t j = i; 1338 1347 1339 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d , %.4d %.4d %.1d, %.8x %.1x %.1d %.2d %.1d %.2d, %.8x, %.1d %.4d, %.2d, %s",1348 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d %.1d, %.4d %.4d %.1d, %.8x %.1x %.1d %.2d %.1d %.2d, %.8x, %.1d %.4d, %.2d, %s", 1340 1349 j, 1341 1350 _load_queue[j]._context_id , … … 1344 1353 _load_queue[j]._packet_id , 1345 1354 _load_queue[j]._operation , 1355 _load_queue[j]._cancel , 1346 1356 _load_queue[j]._store_queue_ptr_write, 1347 1357 _load_queue[j]._store_queue_ptr_read ,
Note: See TracChangeset
for help on using the changeset viewer.