Changeset 110 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue
- Timestamp:
- Feb 19, 2009, 5:31:47 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/SelfTest/src/test.cpp
r88 r110 26 26 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 27 27 // _usage = usage_unset(_usage,USE_POSITION ); 28 _usage = usage_unset(_usage,USE_STATISTICS );28 // _usage = usage_unset(_usage,USE_STATISTICS ); 29 29 // _usage = usage_unset(_usage,USE_INFORMATION ); 30 30 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/OOO_Engine_Glue.h
r88 r110 52 52 #ifdef STATISTICS 53 53 public : Stat * _stat; 54 55 private : counter_t * _stat_nb_inst_issue_stall_by_registerfile; 56 //private : counter_t * _stat_nb_inst_issue_stall_by_rename_unit ; 57 private : counter_t * _stat_nb_inst_issue_stall_by_commit_unit ; 58 private : counter_t * _stat_nb_inst_issue_stall_by_issue_queue ; 54 59 #endif 55 60 … … 122 127 public : SC_OUT(Tspecial_address_t ) *** out_INSERT_COMMIT_UNIT_NUM_REG_RE_PHY_NEW ;//[nb_rename_unit][nb_inst_insert] 123 128 124 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_VAL ;//[nb_rename_unit][nb_inst_ rename]125 public : SC_IN (Tcontrol_t ) *** in_INSERT_ISSUE_QUEUE_ACK ;//[nb_rename_unit][nb_inst_ rename]126 public : SC_OUT(Tcontext_t ) *** out_INSERT_ISSUE_QUEUE_CONTEXT_ID ;//[nb_rename_unit][nb_inst_ rename]127 public : SC_OUT(Tcontext_t ) *** out_INSERT_ISSUE_QUEUE_FRONT_END_ID ;//[nb_rename_unit][nb_inst_ rename]128 public : SC_OUT(Toperation_t ) *** out_INSERT_ISSUE_QUEUE_OPERATION ;//[nb_rename_unit][nb_inst_ rename]129 public : SC_OUT(Ttype_t ) *** out_INSERT_ISSUE_QUEUE_TYPE ;//[nb_rename_unit][nb_inst_ rename]130 public : SC_OUT(Tlsq_ptr_t ) *** out_INSERT_ISSUE_QUEUE_STORE_QUEUE_PTR_WRITE ;//[nb_rename_unit][nb_inst_ rename]131 public : SC_OUT(Tlsq_ptr_t ) *** out_INSERT_ISSUE_QUEUE_LOAD_QUEUE_PTR_WRITE ;//[nb_rename_unit][nb_inst_ rename]132 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_HAS_IMMEDIAT ;//[nb_rename_unit][nb_inst_ rename]133 public : SC_OUT(Tgeneral_data_t ) *** out_INSERT_ISSUE_QUEUE_IMMEDIAT ;//[nb_rename_unit][nb_inst_ rename]134 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_READ_RA ;//[nb_rename_unit][nb_inst_ rename]135 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RA ;//[nb_rename_unit][nb_inst_ rename]136 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_READ_RB ;//[nb_rename_unit][nb_inst_ rename]137 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RB ;//[nb_rename_unit][nb_inst_ rename]138 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_READ_RC ;//[nb_rename_unit][nb_inst_ rename]139 public : SC_OUT(Tspecial_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RC ;//[nb_rename_unit][nb_inst_ rename]140 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_WRITE_RD ;//[nb_rename_unit][nb_inst_ rename]141 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RD ;//[nb_rename_unit][nb_inst_ rename]142 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_WRITE_RE ;//[nb_rename_unit][nb_inst_ rename]143 public : SC_OUT(Tspecial_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RE ;//[nb_rename_unit][nb_inst_ rename]129 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_VAL ;//[nb_rename_unit][nb_inst_insert] 130 public : SC_IN (Tcontrol_t ) *** in_INSERT_ISSUE_QUEUE_ACK ;//[nb_rename_unit][nb_inst_insert] 131 public : SC_OUT(Tcontext_t ) *** out_INSERT_ISSUE_QUEUE_CONTEXT_ID ;//[nb_rename_unit][nb_inst_insert] 132 public : SC_OUT(Tcontext_t ) *** out_INSERT_ISSUE_QUEUE_FRONT_END_ID ;//[nb_rename_unit][nb_inst_insert] 133 public : SC_OUT(Toperation_t ) *** out_INSERT_ISSUE_QUEUE_OPERATION ;//[nb_rename_unit][nb_inst_insert] 134 public : SC_OUT(Ttype_t ) *** out_INSERT_ISSUE_QUEUE_TYPE ;//[nb_rename_unit][nb_inst_insert] 135 public : SC_OUT(Tlsq_ptr_t ) *** out_INSERT_ISSUE_QUEUE_STORE_QUEUE_PTR_WRITE ;//[nb_rename_unit][nb_inst_insert] 136 public : SC_OUT(Tlsq_ptr_t ) *** out_INSERT_ISSUE_QUEUE_LOAD_QUEUE_PTR_WRITE ;//[nb_rename_unit][nb_inst_insert] 137 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_HAS_IMMEDIAT ;//[nb_rename_unit][nb_inst_insert] 138 public : SC_OUT(Tgeneral_data_t ) *** out_INSERT_ISSUE_QUEUE_IMMEDIAT ;//[nb_rename_unit][nb_inst_insert] 139 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_READ_RA ;//[nb_rename_unit][nb_inst_insert] 140 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RA ;//[nb_rename_unit][nb_inst_insert] 141 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_READ_RB ;//[nb_rename_unit][nb_inst_insert] 142 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RB ;//[nb_rename_unit][nb_inst_insert] 143 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_READ_RC ;//[nb_rename_unit][nb_inst_insert] 144 public : SC_OUT(Tspecial_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RC ;//[nb_rename_unit][nb_inst_insert] 145 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_WRITE_RD ;//[nb_rename_unit][nb_inst_insert] 146 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RD ;//[nb_rename_unit][nb_inst_insert] 147 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ISSUE_QUEUE_WRITE_RE ;//[nb_rename_unit][nb_inst_insert] 148 public : SC_OUT(Tspecial_address_t ) *** out_INSERT_ISSUE_QUEUE_NUM_REG_RE ;//[nb_rename_unit][nb_inst_insert] 144 149 145 150 // // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert_valack.cpp
r109 r110 59 59 commit_unit_ack and 60 60 not rename_unit_no_execute); 61 61 62 62 PORT_WRITE(out_INSERT_VAL [x] ,val ); 63 63 PORT_WRITE(out_INSERT_RENAME_UNIT_ACK [i][j],rename_unit_ack); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_statistics_allocation.cpp
r88 r110 26 26 "OOO_Engine_Glue", 27 27 param_statistics); 28 29 _stat_nb_inst_issue_stall_by_registerfile = _stat->create_variable("nb_inst_issue_stall_by_registerfile"); 30 // _stat_nb_inst_issue_stall_by_rename_unit = _stat->create_variable("nb_inst_issue_stall_by_rename_unit" ); 31 _stat_nb_inst_issue_stall_by_commit_unit = _stat->create_variable("nb_inst_issue_stall_by_commit_unit" ); 32 _stat_nb_inst_issue_stall_by_issue_queue = _stat->create_variable("nb_inst_issue_stall_by_issue_queue" ); 33 34 // std::string nb_inst_issue_stall = "+ + nb_inst_issue_stall_by_registerfile nb_inst_issue_stall_by_rename_unit + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue"; 35 std::string nb_inst_issue_stall = "+ nb_inst_issue_stall_by_registerfile + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue"; 36 37 _stat->create_expr_percent ("percent_issue_stall_by_registerfile", "nb_inst_issue_stall_by_registerfile", nb_inst_issue_stall, _("Percent of instruction stalled by RegisterFile")); 38 // _stat->create_expr_percent ("percent_issue_stall_by_rename_unit" , "nb_inst_issue_stall_by_rename_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Rename_Unit") ); 39 _stat->create_expr_percent ("percent_issue_stall_by_commit_unit" , "nb_inst_issue_stall_by_commit_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Commit_Unit") ); 40 _stat->create_expr_percent ("percent_issue_stall_by_issue_queue" , "nb_inst_issue_stall_by_issue_queue" , nb_inst_issue_stall, _("Percent of instruction stalled by Issue_Queue") ); 28 41 29 42 log_end(OOO_Engine_Glue,FUNCTION); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_transition.cpp
r88 r110 23 23 log_begin(OOO_Engine_Glue,FUNCTION); 24 24 25 #ifdef STATISTICS 26 if (usage_is_set(_usage,USE_STATISTICS)) 27 { 28 uint32_t x=0; 29 for (uint32_t i=0; i<_param->_nb_rename_unit; ++i) 30 for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j) 31 { 32 if (PORT_READ(in_INSERT_RENAME_UNIT_VAL [i][j])) 33 { 34 if (PORT_READ(in_INSERT_ACK [x]) == 0) 35 (*_stat_nb_inst_issue_stall_by_registerfile) ++; 36 if (PORT_READ(in_INSERT_COMMIT_UNIT_ACK [i][j]) == 0) 37 (*_stat_nb_inst_issue_stall_by_commit_unit ) ++; 38 if (PORT_READ(in_INSERT_ISSUE_QUEUE_ACK [i][j]) == 0) 39 (*_stat_nb_inst_issue_stall_by_issue_queue ) ++; 40 } 41 x++; 42 } 43 } 44 #endif 45 25 46 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 26 47 end_cycle ();
Note: See TracChangeset
for help on using the changeset viewer.