Ignore:
Timestamp:
Feb 5, 2009, 12:18:31 PM (15 years ago)
Author:
rosiere
Message:

1) Bug fix : Load Miss Speculation (in Commit_unit, Update Prediction Table and Context State)
2) Change address, in rob write address_next.
3) Move Meta_Predictor in save directory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/include/Types.h

    r101 r105  
    2525  typedef enum
    2626    {
    27       CONTEXT_STATE_OK              , // none event
    28       CONTEXT_STATE_KO_EXCEP        , // wait end of event (exception)
    29       CONTEXT_STATE_KO_EXCEP_ADDR   , // update address manager
    30       CONTEXT_STATE_KO_EXCEP_SPR    , // update spr (epc, esr, sr[DSX])
    31       CONTEXT_STATE_KO_MISS_ADDR    , // update address manager
    32       CONTEXT_STATE_KO_MISS_WAITEND , // wait end of event (miss (branch, load))
    33 //    CONTEXT_STATE_KO_MSYNC        , // wait completion of all memory operation
    34 //    CONTEXT_STATE_KO_MSYNC_ISSUE  , // issue msync operation
    35       CONTEXT_STATE_KO_MSYNC_EXEC   , // wait completion of     msync  operation
    36 //    CONTEXT_STATE_KO_PSYNC        , // wait completion of all        operation and after flush pipeline
    37       CONTEXT_STATE_KO_PSYNC_FLUSH  , // wait completion of all
    38       CONTEXT_STATE_KO_PSYNC_ADDR   , // wait completion of all
    39 //    CONTEXT_STATE_KO_CSYNC        , // wait completion of all        operation and after flush pipeline and flush ALL units (MMU, cache ...)
    40       CONTEXT_STATE_KO_CSYNC_FLUSH  ,
    41       CONTEXT_STATE_KO_CSYNC_ADDR   ,
    42 //    CONTEXT_STATE_KO_SPR          , // wait completion of all        operation
    43 //    CONTEXT_STATE_KO_SPR_ISSUE    , // issue spr's access
    44       CONTEXT_STATE_KO_SPR_EXEC       // wait completion of all        operation (spr access)
     27      CONTEXT_STATE_OK                    , // none event
     28      CONTEXT_STATE_KO_EXCEP              , // wait end of event (exception)
     29      CONTEXT_STATE_KO_EXCEP_ADDR         , // update address manager
     30      CONTEXT_STATE_KO_EXCEP_SPR          , // update spr (epc, esr, sr[DSX])
     31      CONTEXT_STATE_KO_MISS_BRANCH_ADDR   , // update address manager
     32      CONTEXT_STATE_KO_MISS_BRANCH_WAITEND, // wait end of event (miss branch)
     33      CONTEXT_STATE_KO_MISS_LOAD_ADDR     , // update address manager
     34      CONTEXT_STATE_KO_MISS_LOAD_WAITEND  , // wait end of event (miss load))
     35//    CONTEXT_STATE_KO_MSYNC              , // wait completion of all memory operation
     36//    CONTEXT_STATE_KO_MSYNC_ISSUE        , // issue msync operation
     37      CONTEXT_STATE_KO_MSYNC_EXEC         , // wait completion of     msync  operation
     38//    CONTEXT_STATE_KO_PSYNC              , // wait completion of all        operation and after flush pipeline
     39      CONTEXT_STATE_KO_PSYNC_FLUSH        , // wait completion of all
     40      CONTEXT_STATE_KO_PSYNC_ADDR         , // wait completion of all
     41//    CONTEXT_STATE_KO_CSYNC              , // wait completion of all        operation and after flush pipeline and flush ALL units (MMU, cache ...)
     42      CONTEXT_STATE_KO_CSYNC_FLUSH        ,
     43      CONTEXT_STATE_KO_CSYNC_ADDR         ,
     44//    CONTEXT_STATE_KO_SPR                , // wait completion of all        operation
     45//    CONTEXT_STATE_KO_SPR_ISSUE          , // issue spr's access
     46      CONTEXT_STATE_KO_SPR_EXEC             // wait completion of all        operation (spr access)
    4547    } context_state_t;
    4648
     
    5658    switch (x)
    5759      {
    58       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_OK              : return "context_state_ok"             ; break;
    59       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_EXCEP        : return "context_state_ko_excep"       ; break;
    60       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_EXCEP_ADDR   : return "context_state_ko_excep_addr"  ; break;
    61       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_EXCEP_SPR    : return "context_state_ko_excep_spr"   ; break;
    62       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_ADDR    : return "context_state_ko_miss_addr"   ; break;
    63       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_WAITEND : return "context_state_ko_miss_waitend"; break;
    64 //       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MSYNC        : return "context_state_ko_msync"       ; break;
    65 //    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MSYNC_ISSUE  : return "context_state_ko_msync_issue" ; break;
    66       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MSYNC_EXEC   : return "context_state_ko_msync_exec"  ; break;
    67 //    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_PSYNC        : return "context_state_ko_psync"       ; break;
    68       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_PSYNC_FLUSH  : return "context_state_ko_psync_flush" ; break;
    69       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_PSYNC_ADDR   : return "context_state_ko_psync_addr"  ; break;
    70 //    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_CSYNC        : return "context_state_ko_csync"       ; break;
    71       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_CSYNC_FLUSH  : return "context_state_ko_csync_flush" ; break;
    72       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_CSYNC_ADDR   : return "context_state_ko_csync_addr"  ; break;
    73 //    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_SPR          : return "context_state_ko_spr"         ; break;
    74 //    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_SPR_ISSUE    : return "context_state_ko_spr_issue"   ; break;
    75       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_SPR_EXEC     : return "context_state_ko_spr_exec"    ; break;
     60      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_OK                     : return "context_state_ok"                    ; break;
     61      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_EXCEP               : return "context_state_ko_excep"              ; break;
     62      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_EXCEP_ADDR          : return "context_state_ko_excep_addr"         ; break;
     63      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_EXCEP_SPR           : return "context_state_ko_excep_spr"          ; break;
     64      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_BRANCH_ADDR    : return "context_state_ko_miss_branch_addr"   ; break;
     65      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_BRANCH_WAITEND : return "context_state_ko_miss_branch_waitend"; break;
     66      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_LOAD_ADDR      : return "context_state_ko_miss_load_addr"     ; break;
     67      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_LOAD_WAITEND   : return "context_state_ko_miss_load_waitend"  ; break;
     68//    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MSYNC               : return "context_state_ko_msync"              ; break;
     69//    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MSYNC_ISSUE         : return "context_state_ko_msync_issue"        ; break;
     70      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MSYNC_EXEC          : return "context_state_ko_msync_exec"         ; break;
     71//    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_PSYNC               : return "context_state_ko_psync"              ; break;
     72      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_PSYNC_FLUSH         : return "context_state_ko_psync_flush"        ; break;
     73      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_PSYNC_ADDR          : return "context_state_ko_psync_addr"         ; break;
     74//    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_CSYNC               : return "context_state_ko_csync"              ; break;
     75      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_CSYNC_FLUSH         : return "context_state_ko_csync_flush"        ; break;
     76      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_CSYNC_ADDR          : return "context_state_ko_csync_addr"         ; break;
     77//    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_SPR                 : return "context_state_ko_spr"                ; break;
     78//    case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_SPR_ISSUE           : return "context_state_ko_spr_issue"          ; break;
     79      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_SPR_EXEC            : return "context_state_ko_spr_exec"           ; break;
    7680      default    : return ""      ; break;
    7781      }
Note: See TracChangeset for help on using the changeset viewer.