Ignore:
Timestamp:
Mar 30, 2011, 6:30:22 PM (13 years ago)
Author:
kane
Message:

in vci_cc_xcache_wrapper_v4 : (1) Fix bug in MISS_VICTIM state, (2) add HIT after MISS, (3) add STORE after STORE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/vci_cc_xcache_wrapper_v4/caba/source/include/vci_cc_xcache_wrapper_v4.h

    r143 r144  
    7474 *     2    - icache dedicated
    7575 *
     76 * CC_XCACHE_WRAPPER_MULTI_CACHE_HIT_AFTER_MISS
     77 *   (In multi-cache)
     78 *   A dcache used by a cpu and in miss_wait state can be use by
     79 *   an another cpu to make a load cached access.
     80 *
     81 * CC_XCACHE_WRAPPER_STORE_AFTER_STORE
     82 *   Store access in dcache (and hit) is make in two cycle :
     83 *    - first read directory and read data
     84 *    - second make a mask with old data and write new data.
     85 *   If data part has a write enable per byte, read data access can be suppress
     86 *   and we can pipeline consecutive store access.
     87 *
    7688 * CC_XCACHE_WRAPPER_STOP_SIMULATION :
    7789 *   stop simulation if processor is stall after a long time
     
    94106// implementation
    95107#ifndef CC_XCACHE_WRAPPER_FIFO_RSP
    96 #define CC_XCACHE_WRAPPER_FIFO_RSP                    1
     108#define CC_XCACHE_WRAPPER_FIFO_RSP                    2
    97109#endif
    98110#ifndef CC_XCACHE_WRAPPER_CC_UPDATE_MULTI_CYCLE
     
    107119#ifndef CC_XCACHE_WRAPPER_VCI_CMD_PRIORITY
    108120#define CC_XCACHE_WRAPPER_VCI_CMD_PRIORITY            3
    109 #endif 
     121#endif
    110122#ifndef CC_XCACHE_WRAPPER_MULTI_CACHE
    111123#define CC_XCACHE_WRAPPER_MULTI_CACHE                 2
     
    113125// <tsar toplevel>/modules/vci_mem_cache_v4/caba/source/include/mem_cache_directory_v4.h : L1_MULTI_CACHE 1
    114126// <soclib toplevel>/soclib/lib/multi_write_buffer/include/multi_write_buffer.h          : CC_XCACHE_MULTI_CACHE 1
     127#endif
     128#ifndef CC_XCACHE_WRAPPER_MULTI_CACHE_HIT_AFTER_MISS
     129#define CC_XCACHE_WRAPPER_MULTI_CACHE_HIT_AFTER_MISS  1
     130#endif
     131#ifndef CC_XCACHE_WRAPPER_STORE_AFTER_STORE
     132#define CC_XCACHE_WRAPPER_STORE_AFTER_STORE           1
    115133#endif
    116134 
     
    444462    uint32_t * m_cpt_icache_access; //[m_nb_icache]
    445463    uint32_t * m_cpt_dcache_access; //[m_nb_dcache]
     464    uint32_t * m_cpt_dcache_hit_after_miss_read;  //[m_nb_dcache]
     465    uint32_t * m_cpt_dcache_hit_after_miss_write; //[m_nb_dcache]
     466    uint32_t * m_cpt_dcache_store_after_store; //[m_nb_dcache]
     467    uint32_t * m_cpt_icache_miss_victim_wait; //[m_nb_icache]
     468    uint32_t * m_cpt_dcache_miss_victim_wait; //[m_nb_dcache]
    446469
    447470    uint32_t ** m_cpt_fsm_dcache;  //[m_nb_dcache]
     
    495518    ~VciCcXCacheWrapperV4();
    496519
    497     void print_trace(size_t mode = 0);
    498     void print_cpi();
    499     void print_stats();
     520  void print_trace(size_t mode = 0);
     521  void print_cpi();
     522  void print_stats(bool print_wbuf=true, bool print_fsm=true);
    500523
    501524// #if CC_XCACHE_WRAPPER_STOP_SIMULATION
Note: See TracChangeset for help on using the changeset viewer.