Changeset 101 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src
- Timestamp:
- Jan 15, 2009, 6:19:08 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp
r100 r101 213 213 ALLOC2_INTERFACE("depth",IN,WEST,_("Interface with Prediction unit."),_param->_nb_front_end, _param->_nb_context[it1]); 214 214 215 _ALLOC2_SIGNAL_IN ( in_DEPTH_MIN ,"min" ,Tdepth_t ,_param->_size_depth ,_param->_nb_front_end, _param->_nb_context[it1]); 216 _ALLOC2_SIGNAL_IN ( in_DEPTH_MAX ,"max" ,Tdepth_t ,_param->_size_depth+1,_param->_nb_front_end, _param->_nb_context[it1]); 215 _ALLOC2_SIGNAL_IN ( in_DEPTH_MIN ,"min" ,Tdepth_t ,_param->_size_depth,_param->_nb_front_end, _param->_nb_context[it1]); 216 _ALLOC2_SIGNAL_IN ( in_DEPTH_MAX ,"max" ,Tdepth_t ,_param->_size_depth,_param->_nb_front_end, _param->_nb_context[it1]); 217 _ALLOC2_SIGNAL_IN ( in_DEPTH_FULL ,"full" ,Tcontrol_t ,1 ,_param->_nb_front_end, _param->_nb_context[it1]); 217 218 } 218 219 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp
r100 r101 140 140 DELETE2_SIGNAL(out_NB_INST_COMMIT_MEM ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_nb_inst_commit); 141 141 142 DELETE2_SIGNAL( in_DEPTH_MIN ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth ); 143 DELETE2_SIGNAL( in_DEPTH_MAX ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth+1); 142 DELETE2_SIGNAL( in_DEPTH_MIN ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth); 143 DELETE2_SIGNAL( in_DEPTH_MAX ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth); 144 DELETE2_SIGNAL( in_DEPTH_FULL ,_param->_nb_front_end, _param->_nb_context[it1],1); 144 145 145 146 DELETE2_SIGNAL( in_SPR_READ_SR_OVE ,_param->_nb_front_end, _param->_nb_context[it1],1); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp
r100 r101 347 347 if (internal_REEXECUTE_VAL [0] and PORT_READ(in_REEXECUTE_ACK [0])) 348 348 { 349 log_printf(TRACE,Commit_unit,FUNCTION," * REEXECUTE [0]"); 350 349 351 uint32_t num_bank = internal_REEXECUTE_NUM_BANK [0]; 350 352 … … 368 370 if (internal_BRANCH_COMPLETE_VAL [i] and PORT_READ(in_BRANCH_COMPLETE_ACK [i])) 369 371 { 372 log_printf(TRACE,Commit_unit,FUNCTION," * BRANCH_COMPLETE [%d]",i); 373 log_printf(TRACE,Commit_unit,FUNCTION," * miss_prediction : %d",PORT_READ(in_BRANCH_COMPLETE_MISS_PREDICTION [i])); 374 370 375 uint32_t num_bank = internal_BRANCH_COMPLETE_NUM_BANK [i]; 371 376 … … 378 383 #endif 379 384 380 entry->state = (PORT_READ(in_BRANCH_COMPLETE_MISS_PREDICTION [i]))?ROB_END_ OK_SPECULATIVE:ROB_END_BRANCH_MISS_SPECULATIVE;385 entry->state = (PORT_READ(in_BRANCH_COMPLETE_MISS_PREDICTION [i]))?ROB_END_BRANCH_MISS_SPECULATIVE:ROB_END_OK_SPECULATIVE; 381 386 // entry->state = ROB_END_OK_SPECULATIVE; 382 387 } … … 410 415 Tdepth_t depth = entry->depth; 411 416 412 Tdepth_t depth_min = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MIN [front_end_id][context_id]):0; 413 Tdepth_t depth_max = PORT_READ(in_DEPTH_MAX[front_end_id][context_id]); 417 Tdepth_t depth_min = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MIN[front_end_id][context_id]):0; 418 Tdepth_t depth_max = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MAX[front_end_id][context_id]):0; 419 Tcontrol_t depth_full = PORT_READ(in_DEPTH_FULL [front_end_id][context_id]); 414 420 415 421 // is a valid instruction ? 416 422 // If DEPTH_CURRENT : 417 423 // equal at DEPTH_MIN -> not speculative 418 // not include ]DEPTH_MIN:DEPTH_MAX [-> previous branch miss419 // include ]DEPTH_MIN:DEPTH_MAX [-> speculative424 // not include ]DEPTH_MIN:DEPTH_MAX] -> previous branch miss 425 // include ]DEPTH_MIN:DEPTH_MAX] -> speculative 420 426 421 427 // All case … … 428 434 429 435 Tcontrol_t is_valid = ((depth == depth_min) or 430 ((depth_min < depth_max)? 431 (depth<depth_max): 432 ((depth > depth_min) or (depth < depth_max)))); 433 436 depth_full or 437 ((depth_min <= depth_max)? 438 ((depth >= depth_min) and (depth <=depth_max)): 439 ((depth >= depth_min) or (depth <=depth_max)))); 440 441 log_printf(TRACE,Commit_unit,FUNCTION," * HEAD [%d]",i); 442 log_printf(TRACE,Commit_unit,FUNCTION," * is_valid : %d",is_valid); 443 log_printf(TRACE,Commit_unit,FUNCTION," * depth : %d",depth ); 444 log_printf(TRACE,Commit_unit,FUNCTION," * depth_min : %d",depth_min); 445 log_printf(TRACE,Commit_unit,FUNCTION," * depth_max : %d",depth_max); 446 434 447 //------------------------------------------------------ 435 448 // test if instruction is miss speculative … … 542 555 toString((*it)->state).c_str() , 543 556 (*it)->ptr ); 544 log_printf(TRACE,Commit_unit,FUNCTION," %.1d %. 5d %.6d, %.1d %.5d %.6d, %.1d %.5d %.6d, %.1d %.1d %.6d %.6d, %.1d %.1d %.6d %.6d ",557 log_printf(TRACE,Commit_unit,FUNCTION," %.1d %.2d %.6d, %.1d %.2d %.6d, %.1d %.1d %.6d, %.1d %.2d %.6d %.6d, %.1d %.1d %.6d %.6d ", 545 558 (*it)->read_ra , 546 559 (*it)->num_reg_ra_log , … … 562 575 563 576 log_printf(TRACE,Commit_unit,FUNCTION," %.2d %.2d %.1d %.1d %.8x", 577 (*it)->exception_use , 564 578 (*it)->exception , 565 (*it)->exception_use ,566 579 (*it)->flags , 567 580 (*it)->no_sequence ,
Note: See TracChangeset
for help on using the changeset viewer.