Ignore:
Timestamp:
Feb 12, 2009, 12:55:06 PM (15 years ago)
Author:
rosiere
Message:

1) decod_queue : add reg_LAST_SLOT.
2) Commit : insert on event -> to pop decod_queue. Head test : add information (speculative or not)
3) Context State / UPT : Branch miss and Load miss in same cycle.
4) Free List : Bank is on LSB not MSB.
5) Platforms : move data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue_genMealy_predict.cpp

    r98 r108  
    2828      {
    2929        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"  * PREDICT [%d]",i);
     30
     31        Tcontrol_t val          = PORT_READ(in_PREDICT_VAL          [i]);
     32        Tcontrol_t register_ack = PORT_READ(in_PREDICT_REGISTER_ACK [i]);
     33        Tcontrol_t sort_val     = (_param->_have_port_victim)?PORT_READ(in_PREDICT_SORT_VAL   [i]):true;
     34        Tcontrol_t victim_ack   = (_param->_have_port_victim)?PORT_READ(in_PREDICT_VICTIM_ACK [i]):true;
     35
     36        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * val          : %d",val         );
     37        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * register_ack : %d",register_ack);
     38        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * sort_val     : %d",sort_val    );
     39        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * victim_ack   : %d",victim_ack  );
     40       
    3041        Tptr_t          index       = (_param->_have_port_victim)?PORT_READ(in_PREDICT_SORT_INDEX [i]):0;
    31         Tcontrol_t      hit         = PORT_READ(in_PREDICT_REGISTER_HIT         [i][index]);
     42        Tcontrol_t      hit         = // (_param->_have_port_victim)?sort_val:
     43                                      PORT_READ(in_PREDICT_REGISTER_HIT [i][index]);
    3244        Tgeneral_data_t address_src = PORT_READ(in_PREDICT_REGISTER_ADDRESS_SRC [i][index]);
    3345
     
    4456        PORT_WRITE(out_PREDICT_IS_ACCURATE  [i],PORT_READ(in_PREDICT_REGISTER_IS_ACCURATE   [i][index]));
    4557
    46         Tcontrol_t val          = PORT_READ(in_PREDICT_VAL          [i]);
    47         Tcontrol_t register_ack = PORT_READ(in_PREDICT_REGISTER_ACK [i]);
    48         Tcontrol_t sort_val     = (_param->_have_port_victim)?PORT_READ(in_PREDICT_SORT_VAL   [i]):true;
    49         Tcontrol_t victim_ack   = (_param->_have_port_victim)?PORT_READ(in_PREDICT_VICTIM_ACK [i]):true;
    50 
    51         log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * val          : %d",val         );
    52         log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * register_ack : %d",register_ack);
    53         log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * sort_val     : %d",sort_val    );
    54         log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * victim_ack   : %d",victim_ack  );
    55        
    5658        PORT_WRITE(out_PREDICT_ACK            [i], (
    5759//                                                  val          and
    5860                                                    register_ack and
    59                                                     sort_val     and
     61//                                                  sort_val     and
    6062                                                    victim_ack
    6163                                                    ));
     
    6365                                                    val          and
    6466//                                                  register_ack and
    65                                                     sort_val     and
     67//                                                  sort_val     and
    6668                                                    victim_ack
    6769                                                    ));
     
    7173        PORT_WRITE(out_PREDICT_VICTIM_VAL     [i], (
    7274                                                    val          and
    73                                                     register_ack and
    74                                                     sort_val     // and
     75                                                    register_ack // and
     76//                                                  sort_val    and
    7577//                                                  victim_ack
    7678                                                    ));
Note: See TracChangeset for help on using the changeset viewer.