Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp
- 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/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp
r81 r88 30 30 uint32_t nb_spr_write , 31 31 uint32_t size_store_queue , 32 uint32_t size_load_queue ): 33 _size_queue (size_queue ), 34 _nb_context (nb_context ), 35 _nb_front_end (nb_front_end ), 36 _nb_ooo_engine (nb_ooo_engine ), 37 _nb_packet (nb_packet ), 38 _size_general_data (size_general_data ), 39 _size_special_data (size_special_data ), 40 _nb_general_register (nb_general_register ), 41 _nb_special_register (nb_special_register ), 42 _nb_gpr_write (nb_gpr_write ), 43 _nb_spr_write (nb_spr_write ), 44 _size_store_queue (size_store_queue ), 45 _size_load_queue (size_load_queue ), 46 47 _nb_gpr_read (2 ), 48 _nb_spr_read (1 ), 49 _size_context_id (static_cast<uint32_t>(log2(_nb_context ))), 50 _size_front_end_id (static_cast<uint32_t>(log2(_nb_front_end ))), 51 _size_ooo_engine_id (static_cast<uint32_t>(log2(_nb_ooo_engine ))), 52 _size_rob_id (static_cast<uint32_t>(log2(_nb_packet ))), 53 _size_general_register (static_cast<uint32_t>(log2(_nb_general_register))), 54 _size_special_register (static_cast<uint32_t>(log2(_nb_special_register))), 55 56 _have_port_context_id (_size_context_id > 0), 57 _have_port_front_end_id (_size_front_end_id > 0), 58 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 59 _have_port_rob_id (_size_rob_id > 0), 60 _have_port_load_queue_ptr(_size_load_queue > 1), 61 62 _size_internal_queue ( _size_context_id //_context_id 63 + _size_front_end_id //_front_end_id 64 + _size_ooo_engine_id //_ooo_engine_id 65 + _size_rob_id //_rob_id 66 + _size_operation //_operation 67 + _size_type //_type 68 + log2(_size_store_queue)//_store_queue_ptr_write 69 + log2(_size_load_queue )//_load_queue_ptr_write 70 + 1 //_has_immediat 71 + _size_general_data //_immediat 72 + 1 //_read_ra 73 + _size_general_register //_num_reg_ra 74 + 1 //_read_rb 75 + _size_general_register //_num_reg_rb 76 + 1 //_read_rc 77 + _size_special_register //_num_reg_rc 78 + 1 //_write_rd 79 + _size_general_register //_num_reg_rd 80 + 1 //_write_re 81 + _size_special_register //_num_reg_re 82 ) 83 84 32 uint32_t size_load_queue , 33 bool is_toplevel) 85 34 { 86 35 log_printf(FUNC,Read_queue,"Parameters","Begin"); 36 37 _size_queue = size_queue ; 38 _nb_context = nb_context ; 39 _nb_front_end = nb_front_end ; 40 _nb_ooo_engine = nb_ooo_engine ; 41 _nb_packet = nb_packet ; 42 _nb_general_register = nb_general_register ; 43 _nb_special_register = nb_special_register ; 44 _nb_gpr_write = nb_gpr_write ; 45 _nb_spr_write = nb_spr_write ; 46 47 _nb_gpr_read = 2 ; 48 _nb_spr_read = 1 ; 49 50 _size_internal_queue = ( log2(nb_context ) //_context_id 51 + log2(nb_front_end ) //_front_end_id 52 + log2(nb_ooo_engine ) //_ooo_engine_id 53 + log2(nb_packet ) //_rob_id 54 + _size_operation //_operation 55 + _size_type //_type 56 + log2(size_store_queue ) //_store_queue_ptr_write 57 + log2(size_load_queue ) //_load_queue_ptr_write 58 + 1 //_has_immediat 59 + size_general_data //_immediat 60 + 1 //_read_ra 61 + log2(nb_general_register) //_num_reg_ra 62 + 1 //_read_rb 63 + log2(nb_general_register) //_num_reg_rb 64 + 1 //_read_rc 65 + log2(nb_special_register) //_num_reg_rc 66 + 1 //_write_rd 67 + log2(nb_general_register) //_num_reg_rd 68 + 1 //_write_re 69 + log2(nb_special_register) //_num_reg_re 70 ); 71 87 72 test(); 73 74 if (is_toplevel) 75 { 76 _size_general_data = size_general_data ; 77 _size_special_data = size_special_data ; 78 _size_store_queue_ptr = log2(size_store_queue); 79 _size_load_queue_ptr = log2(size_load_queue ); 80 _size_context_id = log2(_nb_context ); 81 _size_front_end_id = log2(_nb_front_end ); 82 _size_ooo_engine_id = log2(_nb_ooo_engine ); 83 _size_rob_ptr = log2(_nb_packet ); 84 _size_general_register = log2(_nb_general_register); 85 _size_special_register = log2(_nb_special_register); 86 87 _have_port_context_id = _size_context_id > 0; 88 _have_port_front_end_id = _size_front_end_id > 0; 89 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 90 _have_port_rob_ptr = _size_rob_ptr > 0; 91 _have_port_load_queue_ptr= _size_load_queue_ptr> 0; 92 93 copy(); 94 } 95 88 96 log_printf(FUNC,Read_queue,"Parameters","End"); 89 97 }; 90 98 91 Parameters::Parameters (Parameters & param):92 _size_queue (param._size_queue ),93 _nb_context (param._nb_context ),94 _nb_front_end (param._nb_front_end ),95 _nb_ooo_engine (param._nb_ooo_engine ),96 _nb_packet (param._nb_packet ),97 _size_general_data (param._size_general_data ),98 _size_special_data (param._size_special_data ),99 _nb_general_register (param._nb_general_register ),100 _nb_special_register (param._nb_special_register ),101 _nb_gpr_write (param._nb_gpr_write ),102 _nb_spr_write (param._nb_spr_write ),103 _size_store_queue (param._size_store_queue ),104 _size_load_queue (param._size_load_queue ),99 // Parameters::Parameters (Parameters & param): 100 // _size_queue (param._size_queue ), 101 // _nb_context (param._nb_context ), 102 // _nb_front_end (param._nb_front_end ), 103 // _nb_ooo_engine (param._nb_ooo_engine ), 104 // _nb_packet (param._nb_packet ), 105 // _size_general_data (param._size_general_data ), 106 // _size_special_data (param._size_special_data ), 107 // _nb_general_register (param._nb_general_register ), 108 // _nb_special_register (param._nb_special_register ), 109 // _nb_gpr_write (param._nb_gpr_write ), 110 // _nb_spr_write (param._nb_spr_write ), 111 // _size_store_queue (param._size_store_queue ), 112 // _size_load_queue (param._size_load_queue ), 105 113 106 _nb_gpr_read (param._nb_gpr_read ),107 _nb_spr_read (param._nb_spr_read ),108 _size_context_id (param._size_context_id ),109 _size_front_end_id (param._size_front_end_id ),110 _size_ooo_engine_id (param._size_ooo_engine_id ),111 _size_rob_id (param._size_rob_id ),112 _size_general_register (param._size_general_register ),113 _size_special_register (param._size_special_register ),114 // _nb_gpr_read (param._nb_gpr_read ), 115 // _nb_spr_read (param._nb_spr_read ), 116 // _size_context_id (param._size_context_id ), 117 // _size_front_end_id (param._size_front_end_id ), 118 // _size_ooo_engine_id (param._size_ooo_engine_id ), 119 // _size_rob_id (param._size_rob_id ), 120 // _size_general_register (param._size_general_register ), 121 // _size_special_register (param._size_special_register ), 114 122 115 _have_port_context_id (param._have_port_context_id ),116 _have_port_front_end_id (param._have_port_front_end_id ),117 _have_port_ooo_engine_id (param._have_port_ooo_engine_id),118 _have_port_rob_id (param._have_port_rob_id ),119 _have_port_load_queue_ptr(param._have_port_load_queue_ptr),123 // _have_port_context_id (param._have_port_context_id ), 124 // _have_port_front_end_id (param._have_port_front_end_id ), 125 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 126 // _have_port_rob_id (param._have_port_rob_id ), 127 // _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 120 128 121 _size_internal_queue (param._size_internal_queue )122 {123 log_printf(FUNC,Read_queue,"Parameters (copy)","Begin");124 test();125 log_printf(FUNC,Read_queue,"Parameters (copy)","End");126 };129 // _size_internal_queue (param._size_internal_queue ) 130 // { 131 // log_printf(FUNC,Read_queue,"Parameters (copy)","Begin"); 132 // test(); 133 // log_printf(FUNC,Read_queue,"Parameters (copy)","End"); 134 // }; 127 135 128 Parameters::~Parameters ( )136 Parameters::~Parameters (void) 129 137 { 130 138 log_printf(FUNC,Read_queue,"~Parameters","Begin"); 131 139 log_printf(FUNC,Read_queue,"~Parameters","End"); 140 }; 141 142 void Parameters::copy (void) 143 { 144 log_printf(FUNC,Read_queue,"copy","Begin"); 145 log_printf(FUNC,Read_queue,"copy","End"); 132 146 }; 133 147
Note: See TracChangeset
for help on using the changeset viewer.