Changeset 128 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
- Timestamp:
- Jun 26, 2009, 10:43:23 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
r123 r128 42 42 43 43 // Init, else error in registerfile 44 _queue_head->_ooo_engine_id = 0; 45 // not necessary 46 _queue_head->_read_ra_val = false; 47 _queue_head->_read_rb_val = false; 48 _queue_head->_read_rc_val = false; 49 50 _queue_head->_data_ra_val = false; 51 _queue_head->_data_rb_val = false; 52 _queue_head->_data_rc_val = false; 53 54 _queue_head->_num_reg_ra = 0; 55 _queue_head->_num_reg_rb = 0; 56 _queue_head->_num_reg_rc = 0; 44 _queue_head->_context_id = 0;// not necessary 45 _queue_head->_front_end_id = 0;// not necessary 46 _queue_head->_ooo_engine_id = 0;// not necessary 47 48 _queue_head->_rob_id = 0;// not necessary 49 _queue_head->_operation = 0;// not necessary 50 _queue_head->_type = 0;// not necessary 51 _queue_head->_store_queue_ptr_write = 0;// not necessary 52 _queue_head->_store_queue_ptr_read = 0;// not necessary 53 _queue_head->_store_queue_empty = 0;// not necessary 54 _queue_head->_load_queue_ptr_write = 0;// not necessary 55 _queue_head->_has_immediat = 0;// not necessary 56 _queue_head->_immediat = 0;// not necessary 57 58 _queue_head->_read_ra = 0;// not necessary 59 _queue_head->_read_rb = 0;// not necessary 60 _queue_head->_read_rc = 0;// not necessary 61 _queue_head->_write_rd = 0;// not necessary 62 _queue_head->_write_re = 0;// not necessary 63 64 _queue_head->_read_ra_val = false; 65 _queue_head->_read_rb_val = false; 66 _queue_head->_read_rc_val = false; 67 68 _queue_head->_data_ra_val = false; 69 _queue_head->_data_rb_val = false; 70 _queue_head->_data_rc_val = false; 71 72 _queue_head->_num_reg_ra = 0;// not necessary 73 _queue_head->_num_reg_rb = 0;// not necessary 74 _queue_head->_num_reg_rc = 0;// not necessary 75 _queue_head->_num_reg_rd = 0;// not necessary 76 _queue_head->_num_reg_re = 0;// not necessary 57 77 } 58 78 else … … 76 96 Tread_queue_entry_t * entry = new Tread_queue_entry_t; 77 97 78 if(_param->_have_port_context_id ) 79 entry->_context_id = PORT_READ(in_READ_QUEUE_IN_CONTEXT_ID ); 80 if(_param->_have_port_front_end_id ) 81 entry->_front_end_id = PORT_READ(in_READ_QUEUE_IN_FRONT_END_ID); 82 if(_param->_have_port_ooo_engine_id) 83 entry->_ooo_engine_id= PORT_READ(in_READ_QUEUE_IN_OOO_ENGINE_ID); 84 if(_param->_have_port_rob_ptr ) 85 entry->_rob_id = PORT_READ(in_READ_QUEUE_IN_ROB_ID ); 86 entry->_operation = PORT_READ(in_READ_QUEUE_IN_OPERATION ); 87 entry->_type = PORT_READ(in_READ_QUEUE_IN_TYPE ); 98 entry->_context_id = (_param->_have_port_context_id )?PORT_READ(in_READ_QUEUE_IN_CONTEXT_ID ):0; 99 entry->_front_end_id = (_param->_have_port_front_end_id )?PORT_READ(in_READ_QUEUE_IN_FRONT_END_ID ):0; 100 entry->_ooo_engine_id = (_param->_have_port_ooo_engine_id )?PORT_READ(in_READ_QUEUE_IN_OOO_ENGINE_ID):0; 101 entry->_rob_id = (_param->_have_port_rob_ptr )?PORT_READ(in_READ_QUEUE_IN_ROB_ID ):0; 102 entry->_operation = PORT_READ(in_READ_QUEUE_IN_OPERATION ); 103 entry->_type = PORT_READ(in_READ_QUEUE_IN_TYPE ); 88 104 entry->_store_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE); 89 105 entry->_store_queue_ptr_read = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_READ ); 90 106 entry->_store_queue_empty = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_EMPTY ); 91 if (_param->_have_port_load_queue_ptr) 92 entry->_load_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ); 93 entry->_has_immediat = PORT_READ(in_READ_QUEUE_IN_HAS_IMMEDIAT); 94 entry->_immediat = PORT_READ(in_READ_QUEUE_IN_IMMEDIAT ); 95 entry->_read_ra = PORT_READ(in_READ_QUEUE_IN_READ_RA ); 96 entry->_num_reg_ra = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RA ); 97 entry->_read_rb = PORT_READ(in_READ_QUEUE_IN_READ_RB ); 98 entry->_num_reg_rb = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RB ); 99 entry->_read_rc = PORT_READ(in_READ_QUEUE_IN_READ_RC ); 100 entry->_num_reg_rc = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RC ); 101 entry->_write_rd = PORT_READ(in_READ_QUEUE_IN_WRITE_RD ); 102 entry->_num_reg_rd = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RD ); 103 entry->_write_re = PORT_READ(in_READ_QUEUE_IN_WRITE_RE ); 104 entry->_num_reg_re = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RE ); 107 entry->_load_queue_ptr_write = (_param->_have_port_load_queue_ptr)?PORT_READ(in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ):0; 108 entry->_has_immediat = PORT_READ(in_READ_QUEUE_IN_HAS_IMMEDIAT); 109 entry->_immediat = PORT_READ(in_READ_QUEUE_IN_IMMEDIAT ); 110 entry->_read_ra = PORT_READ(in_READ_QUEUE_IN_READ_RA ); 111 entry->_num_reg_ra = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RA ); 112 entry->_read_rb = PORT_READ(in_READ_QUEUE_IN_READ_RB ); 113 entry->_num_reg_rb = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RB ); 114 entry->_read_rc = PORT_READ(in_READ_QUEUE_IN_READ_RC ); 115 entry->_num_reg_rc = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RC ); 116 entry->_write_rd = PORT_READ(in_READ_QUEUE_IN_WRITE_RD ); 117 entry->_num_reg_rd = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RD ); 118 entry->_write_re = PORT_READ(in_READ_QUEUE_IN_WRITE_RE ); 119 entry->_num_reg_re = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RE ); 105 120 106 121 log_printf(TRACE,Read_queue,FUNCTION," * push (id : %d-%d)",entry->_context_id, entry->_rob_id); … … 122 137 // Pop the entry 123 138 log_printf(TRACE,Read_queue,FUNCTION," * pop (id : %d-%d)",_queue->front()->_context_id, _queue->front()->_rob_id); 139 delete _queue->front(); 124 140 _queue->pop_front(); 125 141
Note: See TracChangeset
for help on using the changeset viewer.