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

1) OOO_egine : add stat to depiste low perf source
2) Commit : add stat
3) LSU_Pointer : retire - always ack (else combinatory loop). insert - max nb_inst_memory
4) TopLevel? : add debug_idle_time to stop combinatory loop.
5) Issue_queue : add reexecute_queue, new implementation (routage after issue_queue)
6) Decod / Predictor : add "can_continue"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp

    r88 r110  
    44 * $Id$
    55 *
    6  * [ Description ]
     6 * [ Description ]
    77 *
    88 */
     
    2727    log_function(Reservation_station,FUNCTION,_name.c_str());
    2828
    29     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~
     29    // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~
    3030   
    3131    // accept a new instructions when reservation_station is not full
     
    3838    PORT_WRITE(out_INSERT_ACK, internal_INSERT_ACK);
    3939
    40     // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~
     40    // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~
    4141
    4242    uint32_t index_queue=0;
     
    4646      {
    4747        bool     val        = false;
    48         uint32_t index_find = 0;;
     48        uint32_t index_find = 0;
     49
     50        log_printf(TRACE,Reservation_station,FUNCTION,"  * RETIRE [%d]",i);
    4951
    5052        for (; (
     
    6769              (
    6870#ifdef  SYSTEMC_VHDL_COMPATIBILITY
    69                _queue_valid [index_queue]      and
     71               _queue_valid [index_queue] and
    7072#endif
    7173               _queue[index_find]._data_ra_val and
     
    7476               );
    7577
    76 //          cout << "========== Moore : " << endl
    77 //               << " * i           : " << i << endl
    78 //               << " * val         : " << val << endl
    79 //               << " * index_queue : " << index_queue << endl
    80 //               << " * index_find  : " << index_find << endl;
     78            log_printf(
     79#ifdef  SYSTEMC_VHDL_COMPATIBILITY
     80                       TRACE,Reservation_station,FUNCTION,"    [%d] valid : %d, data ra %d, rb %d, rc %d - %d",
     81                       index_find,
     82                       _queue_valid [index_queue],
     83#else
     84                       TRACE,Reservation_station,FUNCTION,"    [%d] data ra %d, rb %d, rc %d - %d",
     85                       index_find,
     86#endif
     87                       _queue[index_find]._data_ra_val,
     88                       _queue[index_find]._data_rb_val,
     89                       _queue[index_find]._data_rc_val,
     90                       val);
    8191          }
    8292
Note: See TracChangeset for help on using the changeset viewer.