Ignore:
Timestamp:
Jun 3, 2009, 10:15:51 AM (15 years ago)
Author:
rosiere
Message:

Modif for performance :
1) Load Store Unit : store send request to valid exeception
2) Commit_unit : retire can bypass store
3) Commit_unit : add stat to manage store instruction
4) Load Store Unit and Load Store Pointer Manager : add store_queue_ptr_read
5) Fix lot of bug

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Types.h

    r121 r122  
    2828    {
    2929      ROB_EMPTY                      , //
     30
    3031      ROB_BRANCH_WAIT_END            , //
    3132      ROB_BRANCH_COMPLETE            , //
    32       ROB_STORE_WAIT_HEAD_OK         , //
    33 //    ROB_STORE_WAIT_HEAD_KO         , //
    34       ROB_STORE_HEAD_OK              , //
    35       ROB_STORE_HEAD_KO              , //
     33
     34      ROB_STORE_WAIT_END_OK          , //
     35      ROB_STORE_WAIT_END_KO          , //
     36      ROB_STORE_OK                   , //
     37      ROB_STORE_KO                   , //
     38      ROB_STORE_OK_WAIT_END          , //
     39      ROB_STORE_KO_WAIT_END          , //
     40      ROB_STORE_EVENT                , //
     41
    3642      ROB_OTHER_WAIT_END             , //
    3743
     
    5056      ROB_END_EXCEPTION_WAIT_HEAD    , //
    5157      ROB_END_EXCEPTION_UPDATE       , //
    52       ROB_END_EXCEPTION                //
     58      ROB_END_EXCEPTION              , //
     59      ROB_END
     60    } rob_state_t;
    5361
    54     } rob_state_t;
     62  typedef enum
     63    {
     64      COMMIT_EVENT_STATE_NO_EVENT  ,
     65      COMMIT_EVENT_STATE_EVENT     ,
     66      COMMIT_EVENT_STATE_WAIT_DECOD,
     67      COMMIT_EVENT_STATE_WAIT_END  ,
     68      COMMIT_EVENT_STATE_END     
     69    } Tcommit_event_state_t;
     70
     71#define commit_event_state_to_event_state(x) ((x==COMMIT_EVENT_STATE_EVENT)?EVENT_STATE_EVENT:((x==COMMIT_EVENT_STATE_WAIT_DECOD)?EVENT_STATE_WAITEND:((x==COMMIT_EVENT_STATE_WAIT_END)?EVENT_STATE_WAITEND:((x==COMMIT_EVENT_STATE_END)?EVENT_STATE_END:EVENT_STATE_NO_EVENT))))
     72
    5573
    5674  class entry_t
    5775  {
    5876  public  : rob_state_t        state                   ;
     77  public  : rob_state_t        state_old               ;
    5978  public  : uint32_t           ptr                     ;
    6079  public  : Tcontext_t         front_end_id            ;
     
    98117//public  : Tgeneral_data_t    data_commit             ; // branch's destination
    99118#ifdef DEBUG
     119  public  : Tgeneral_data_t    load_data               ;
    100120  public  : Taddress_t         address                 ;
    101121#endif
     
    121141      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_BRANCH_WAIT_END            : return "ROB_BRANCH_WAIT_END"             ; break;
    122142      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_BRANCH_COMPLETE            : return "ROB_BRANCH_COMPLETE"             ; break;
    123       case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_WAIT_HEAD_OK         : return "ROB_STORE_WAIT_HEAD_OK"          ; break;
    124 //    case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_WAIT_HEAD_KO         : return "ROB_STORE_WAIT_HEAD_KO"          ; break;
    125       case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_HEAD_OK              : return "ROB_STORE_HEAD_OK"               ; break;
    126       case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_HEAD_KO              : return "ROB_STORE_HEAD_KO"               ; break;
     143      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_WAIT_END_OK          : return "ROB_STORE_WAIT_END_OK"           ; break;
     144      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_WAIT_END_KO          : return "ROB_STORE_WAIT_END_KO"           ; break;
     145      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_OK                   : return "ROB_STORE_OK"                    ; break;
     146      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_KO                   : return "ROB_STORE_KO"                    ; break;
     147      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_OK_WAIT_END          : return "ROB_STORE_OK_WAIT_END"           ; break;
     148      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_STORE_KO_WAIT_END          : return "ROB_STORE_KO_WAIT_END"           ; break;
    127149      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_OTHER_WAIT_END             : return "ROB_OTHER_WAIT_END"              ; break;
    128150      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_EVENT_WAIT_END             : return "ROB_EVENT_WAIT_END"              ; break;
     
    140162      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_END_EXCEPTION_UPDATE       : return "ROB_END_EXCEPTION_UPDATE"        ; break;
    141163      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_END_EXCEPTION              : return "ROB_END_EXCEPTION"               ; break;
     164      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::ROB_END                        : return "ROB_END"                         ; break;
    142165
    143166      default    : return ""      ; break;
Note: See TracChangeset for help on using the changeset viewer.