Changeset 122 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue
- Timestamp:
- Jun 3, 2009, 10:15:51 AM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Issue_queue.h
r111 r122 77 77 public : SC_IN (Ttype_t ) *** in_ISSUE_IN_TYPE ;//[nb_rename_unit][nb_inst_rename] 78 78 public : SC_IN (Tlsq_ptr_t ) *** in_ISSUE_IN_STORE_QUEUE_PTR_WRITE ;//[nb_rename_unit][nb_inst_rename] 79 public : SC_IN (Tlsq_ptr_t ) *** in_ISSUE_IN_STORE_QUEUE_PTR_READ ;//[nb_rename_unit][nb_inst_rename] 80 public : SC_IN (Tcontrol_t ) *** in_ISSUE_IN_STORE_QUEUE_EMPTY ;//[nb_rename_unit][nb_inst_rename] 79 81 public : SC_IN (Tlsq_ptr_t ) *** in_ISSUE_IN_LOAD_QUEUE_PTR_WRITE ;//[nb_rename_unit][nb_inst_rename] 80 82 public : SC_IN (Tcontrol_t ) *** in_ISSUE_IN_HAS_IMMEDIAT ;//[nb_rename_unit][nb_inst_rename] … … 100 102 public : SC_IN (Ttype_t ) ** in_REEXECUTE_TYPE ;//[nb_inst_reexecute] 101 103 public : SC_IN (Tlsq_ptr_t ) ** in_REEXECUTE_STORE_QUEUE_PTR_WRITE;//[nb_inst_reexecute] 104 public : SC_IN (Tlsq_ptr_t ) ** in_REEXECUTE_STORE_QUEUE_PTR_READ ;//[nb_inst_reexecute] 105 public : SC_IN (Tcontrol_t ) ** in_REEXECUTE_STORE_QUEUE_EMPTY ;//[nb_inst_reexecute] 102 106 public : SC_IN (Tlsq_ptr_t ) ** in_REEXECUTE_LOAD_QUEUE_PTR_WRITE ;//[nb_inst_reexecute] 103 107 public : SC_IN (Tcontrol_t ) ** in_REEXECUTE_HAS_IMMEDIAT ;//[nb_inst_reexecute] … … 123 127 public : SC_OUT(Ttype_t ) ** out_ISSUE_OUT_TYPE ;//[nb_inst_issue] 124 128 public : SC_OUT(Tlsq_ptr_t ) ** out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE;//[nb_inst_issue] 129 public : SC_OUT(Tlsq_ptr_t ) ** out_ISSUE_OUT_STORE_QUEUE_PTR_READ ;//[nb_inst_issue] 130 public : SC_OUT(Tcontrol_t ) ** out_ISSUE_OUT_STORE_QUEUE_EMPTY ;//[nb_inst_issue] 125 131 public : SC_OUT(Tlsq_ptr_t ) ** out_ISSUE_OUT_LOAD_QUEUE_PTR_WRITE ;//[nb_inst_issue] 126 132 public : SC_OUT(Tcontrol_t ) ** out_ISSUE_OUT_HAS_IMMEDIAT ;//[nb_inst_issue] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Types.h
r111 r122 33 33 public : Ttype_t _type ; 34 34 public : Tlsq_ptr_t _store_queue_ptr_write ; 35 public : Tlsq_ptr_t _store_queue_ptr_read ; 36 public : Tcontrol_t _store_queue_empty ; 35 37 public : Tlsq_ptr_t _load_queue_ptr_write ; 36 38 public : Tcontrol_t _has_immediat ; … … 53 55 Ttype_t type , 54 56 Tlsq_ptr_t store_queue_ptr_write , 57 Tlsq_ptr_t store_queue_ptr_read , 58 Tcontrol_t store_queue_empty , 55 59 Tlsq_ptr_t load_queue_ptr_write , 56 60 Tcontrol_t has_immediat , … … 73 77 _type = type ; 74 78 _store_queue_ptr_write = store_queue_ptr_write; 79 _store_queue_ptr_read = store_queue_ptr_read ; 80 _store_queue_empty = store_queue_empty ; 75 81 _load_queue_ptr_write = load_queue_ptr_write ; 76 82 _has_immediat = has_immediat ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_allocation.cpp
r112 r122 69 69 _ALLOC2_SIGNAL_IN ( in_ISSUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1]); 70 70 _ALLOC2_SIGNAL_IN ( in_ISSUE_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1]); 71 _ALLOC2_SIGNAL_IN ( in_ISSUE_IN_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1]); 72 _ALLOC2_SIGNAL_IN ( in_ISSUE_IN_STORE_QUEUE_EMPTY ,"store_queue_empty" ,Tcontrol_t ,1 ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1]); 71 73 _ALLOC2_SIGNAL_IN ( in_ISSUE_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1]); 72 74 _ALLOC2_SIGNAL_IN ( in_ISSUE_IN_HAS_IMMEDIAT ,"has_immediat" ,Tcontrol_t ,1 ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1]); … … 98 100 ALLOC1_SIGNAL_IN ( in_REEXECUTE_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 99 101 ALLOC1_SIGNAL_IN ( in_REEXECUTE_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 102 ALLOC1_SIGNAL_IN ( in_REEXECUTE_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 103 ALLOC1_SIGNAL_IN ( in_REEXECUTE_STORE_QUEUE_EMPTY ,"store_queue_empty" ,Tcontrol_t ,1); 100 104 ALLOC1_SIGNAL_IN ( in_REEXECUTE_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr ); 101 105 ALLOC1_SIGNAL_IN ( in_REEXECUTE_HAS_IMMEDIAT ,"has_immediat" ,Tcontrol_t ,1 ); … … 127 131 ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 128 132 ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 133 ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 134 ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_STORE_QUEUE_EMPTY ,"store_queue_empty" ,Tcontrol_t ,1); 129 135 ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr ); 130 136 ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_HAS_IMMEDIAT ,"has_immediat" ,Tcontrol_t ,1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_deallocation.cpp
r112 r122 36 36 DELETE2_SIGNAL( in_ISSUE_IN_TYPE ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1],_param->_size_type ); 37 37 DELETE2_SIGNAL( in_ISSUE_IN_STORE_QUEUE_PTR_WRITE,_param->_nb_rename_unit, _param->_nb_inst_rename[it1],_param->_size_store_queue_ptr ); 38 DELETE2_SIGNAL( in_ISSUE_IN_STORE_QUEUE_PTR_READ ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1],_param->_size_store_queue_ptr ); 39 DELETE2_SIGNAL( in_ISSUE_IN_STORE_QUEUE_EMPTY ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1],1); 38 40 DELETE2_SIGNAL( in_ISSUE_IN_LOAD_QUEUE_PTR_WRITE ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1],_param->_size_load_queue_ptr ); 39 41 DELETE2_SIGNAL( in_ISSUE_IN_HAS_IMMEDIAT ,_param->_nb_rename_unit, _param->_nb_inst_rename[it1],1 ); … … 58 60 DELETE1_SIGNAL( in_REEXECUTE_TYPE ,_param->_nb_inst_reexecute,_param->_size_type ); 59 61 DELETE1_SIGNAL( in_REEXECUTE_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_reexecute,_param->_size_store_queue_ptr ); 62 DELETE1_SIGNAL( in_REEXECUTE_STORE_QUEUE_PTR_READ ,_param->_nb_inst_reexecute,_param->_size_store_queue_ptr ); 63 DELETE1_SIGNAL( in_REEXECUTE_STORE_QUEUE_EMPTY ,_param->_nb_inst_reexecute,1); 60 64 DELETE1_SIGNAL( in_REEXECUTE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_reexecute,_param->_size_load_queue_ptr ); 61 65 DELETE1_SIGNAL( in_REEXECUTE_HAS_IMMEDIAT ,_param->_nb_inst_reexecute,1 ); … … 80 84 DELETE1_SIGNAL(out_ISSUE_OUT_TYPE ,_param->_nb_inst_issue,_param->_size_type ); 81 85 DELETE1_SIGNAL(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_issue,_param->_size_store_queue_ptr ); 86 DELETE1_SIGNAL(out_ISSUE_OUT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_issue,_param->_size_store_queue_ptr ); 87 DELETE1_SIGNAL(out_ISSUE_OUT_STORE_QUEUE_EMPTY ,_param->_nb_inst_issue,1); 82 88 DELETE1_SIGNAL(out_ISSUE_OUT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_issue,_param->_size_load_queue_ptr ); 83 89 DELETE1_SIGNAL(out_ISSUE_OUT_HAS_IMMEDIAT ,_param->_nb_inst_issue,1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_in_order_genMealy_issue_out.cpp
r117 r122 57 57 PORT_WRITE(out_ISSUE_OUT_TYPE [index], entry->_type ); 58 58 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [index], entry->_store_queue_ptr_write); 59 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ [index], entry->_store_queue_ptr_read ); 60 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_EMPTY [index], entry->_store_queue_empty ); 59 61 if (_param->_have_port_load_queue_ptr) 60 62 PORT_WRITE(out_ISSUE_OUT_LOAD_QUEUE_PTR_WRITE [index], entry->_load_queue_ptr_write ); … … 130 132 PORT_WRITE(out_ISSUE_OUT_TYPE [index], entry->_type ); 131 133 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [index], entry->_store_queue_ptr_write); 134 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ [index], entry->_store_queue_ptr_read ); 135 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_EMPTY [index], entry->_store_queue_empty ); 132 136 if (_param->_have_port_load_queue_ptr) 133 137 PORT_WRITE(out_ISSUE_OUT_LOAD_QUEUE_PTR_WRITE [index], entry->_load_queue_ptr_write ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_in_order_transition.cpp
r111 r122 66 66 PORT_READ(in_ISSUE_IN_TYPE [i][j]), 67 67 PORT_READ(in_ISSUE_IN_STORE_QUEUE_PTR_WRITE [i][j]), 68 PORT_READ(in_ISSUE_IN_STORE_QUEUE_PTR_READ [i][j]), 69 PORT_READ(in_ISSUE_IN_STORE_QUEUE_EMPTY [i][j]), 68 70 (_param->_have_port_load_queue_ptr)?PORT_READ(in_ISSUE_IN_LOAD_QUEUE_PTR_WRITE [i][j]):0, 69 71 PORT_READ(in_ISSUE_IN_HAS_IMMEDIAT [i][j]), -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_genMoore.cpp
r117 r122 125 125 PORT_WRITE(out_ISSUE_OUT_TYPE [i], entry->_type ); 126 126 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [i], entry->_store_queue_ptr_write); 127 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ [i], entry->_store_queue_ptr_read ); 128 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_EMPTY [i], entry->_store_queue_empty ); 127 129 if (_param->_have_port_load_queue_ptr) 128 130 PORT_WRITE(out_ISSUE_OUT_LOAD_QUEUE_PTR_WRITE [i], entry->_load_queue_ptr_write ); … … 186 188 PORT_WRITE(out_ISSUE_OUT_TYPE [i], entry->_type ); 187 189 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [i], entry->_store_queue_ptr_write); 190 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ [i], entry->_store_queue_ptr_read ); 191 PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_EMPTY [i], entry->_store_queue_empty ); 188 192 if (_param->_have_port_load_queue_ptr) 189 193 PORT_WRITE(out_ISSUE_OUT_LOAD_QUEUE_PTR_WRITE [i], entry->_load_queue_ptr_write ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_transition.cpp
r111 r122 65 65 PORT_READ(in_ISSUE_IN_TYPE [x][y]), 66 66 PORT_READ(in_ISSUE_IN_STORE_QUEUE_PTR_WRITE [x][y]), 67 PORT_READ(in_ISSUE_IN_STORE_QUEUE_PTR_READ [x][y]), 68 PORT_READ(in_ISSUE_IN_STORE_QUEUE_EMPTY [x][y]), 67 69 (_param->_have_port_load_queue_ptr)?PORT_READ(in_ISSUE_IN_LOAD_QUEUE_PTR_WRITE [x][y]):0, 68 70 PORT_READ(in_ISSUE_IN_HAS_IMMEDIAT [x][y]), -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_transition.cpp
r117 r122 53 53 PORT_READ(in_REEXECUTE_TYPE [i]), 54 54 PORT_READ(in_REEXECUTE_STORE_QUEUE_PTR_WRITE [i]), 55 PORT_READ(in_REEXECUTE_STORE_QUEUE_PTR_READ [i]), 56 PORT_READ(in_REEXECUTE_STORE_QUEUE_EMPTY [i]), 55 57 (_param->_have_port_load_queue_ptr)?PORT_READ(in_REEXECUTE_LOAD_QUEUE_PTR_WRITE [i]):0, 56 58 PORT_READ(in_REEXECUTE_HAS_IMMEDIAT [i]), … … 119 121 for (std::list<entry_t*>::iterator it=_issue_queue[i].begin();it!=_issue_queue[i].end(); ++it) 120 122 { 121 log_printf(TRACE,Issue_queue,FUNCTION," [%.4d] %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d , %.1d %.8x, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d",123 log_printf(TRACE,Issue_queue,FUNCTION," [%.4d] %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d %.1d %.2d, %.1d %.8x, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d", 122 124 j, 123 125 … … 130 132 131 133 (*it)->_store_queue_ptr_write, 134 (*it)->_store_queue_ptr_read , 135 (*it)->_store_queue_empty , 132 136 (*it)->_load_queue_ptr_write , 133 137 … … 161 165 for (std::list<entry_t*>::iterator it=_reexecute_queue.begin();it!=_reexecute_queue.end(); ++it) 162 166 { 163 log_printf(TRACE,Issue_queue,FUNCTION," [%.4d] %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d , %.1d %.8x, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d",167 log_printf(TRACE,Issue_queue,FUNCTION," [%.4d] %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d %.1d %.2d, %.1d %.8x, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d, %.1d %.4d", 164 168 i, 165 169 … … 172 176 173 177 (*it)->_store_queue_ptr_write, 178 (*it)->_store_queue_ptr_read , 179 (*it)->_store_queue_empty , 174 180 (*it)->_load_queue_ptr_write , 175 181
Note: See TracChangeset
for help on using the changeset viewer.