Ignore:
Timestamp:
May 16, 2009, 4:42:39 PM (15 years ago)
Author:
rosiere
Message:

1) Platforms : add new organization for test
2) Load_Store_Unit : add array to count nb_check in store_queue
3) Issue_queue and Core_Glue : rewrite the issue network
4) Special_Register_Unit : add reset value to register CID
5) Softwares : add multicontext test
6) Softwares : add SPECINT
7) Softwares : add MiBench?
7) Read_queue : inhib access for r0
8) Change Core_Glue (network) - dont yet support priority and load balancing scheme

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_transition.cpp

    r111 r117  
    352352              log_printf(TRACE,Context_State,FUNCTION,"  * BRANCH_COMPLETE [%d]",i);
    353353
    354               context_state_t state = reg_STATE [i];
     354              Tcontext_t context_id = (_param->_have_port_context_id)?PORT_READ(in_BRANCH_COMPLETE_CONTEXT_ID [i]):0;
     355
     356              context_state_t state = reg_STATE [context_id];
    355357
    356358              Tdepth_t   depth      = (_param->_have_port_depth)?PORT_READ(in_BRANCH_COMPLETE_DEPTH [i]):0;
    357               Tdepth_t   depth_cur  = reg_EVENT_DEPTH [i];
    358               Tdepth_t   depth_min  = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MIN [i]):0;
    359               Tdepth_t   depth_max  = _param->_nb_inst_branch_speculated [i];
     359              Tdepth_t   depth_cur  = reg_EVENT_DEPTH [context_id];
     360              Tdepth_t   depth_min  = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MIN [context_id]):0;
     361              Tdepth_t   depth_max  = _param->_nb_inst_branch_speculated [context_id];
    360362             
    361363              Tdepth_t   depth0     = (depth_cur>=depth_min)?(depth_cur-depth_min):((depth_cur+depth_max-depth_min));
     
    375377                                       ((depth1==depth0) and (priority1>=priority0))); // >= because another branch can be a miss prediction with same depth
    376378
     379              log_printf(TRACE,Context_State,FUNCTION,"    * context_id: %d",context_id);
    377380              log_printf(TRACE,Context_State,FUNCTION,"    * depth     : %d",depth     );
    378381              log_printf(TRACE,Context_State,FUNCTION,"    * depth_cur : %d",depth_cur );
     
    387390              if (is_valid)
    388391                {
    389 //                reg_STATE                  [i] =  CONTEXT_STATE_KO_MISS_BRANCH_ADDR;
    390                   reg_STATE                  [i] =  CONTEXT_STATE_KO_MISS_BRANCH_WAIT_UPDATE;
    391                   reg_EVENT_DEPTH            [i] =  depth;
     392//                reg_STATE                  [context_id] =  CONTEXT_STATE_KO_MISS_BRANCH_ADDR;
     393                  reg_STATE                  [context_id] =  CONTEXT_STATE_KO_MISS_BRANCH_WAIT_UPDATE;
     394                  reg_EVENT_DEPTH            [context_id] =  depth;
    392395                }
    393396            }
Note: See TracChangeset for help on using the changeset viewer.