Ignore:
Timestamp:
Aug 28, 2014, 6:08:03 PM (8 years ago)
Author:
meunier
Message:

RWT:

  • Updating counters tags in mem_cache
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/RWT/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp

    r771 r780  
    884884        m_cpt_ncc_to_cc_read     = 0;
    885885        m_cpt_ncc_to_cc_write    = 0;
    886         m_cpt_ncc_to_cc          = 0;
    887886        m_cpt_write_ncc_miss     = 0;
    888887    }
     
    903902                << "[001] NUMBER OF CYCLES          = " << m_cpt_cycles << std::endl
    904903                << std::endl
    905                 << "[002] LOCAL READ                = " << m_cpt_read_local << std::endl
    906                 << "[003] REMOTE READ               = " << m_cpt_read_remote << std::endl
    907                 << "[004] READ COST (FLITS * DIST)  = " << m_cpt_read_cost << std::endl
     904                << "[010] LOCAL READ                = " << m_cpt_read_local << std::endl
     905                << "[011] REMOTE READ               = " << m_cpt_read_remote << std::endl
     906                << "[012] READ COST (FLITS * DIST)  = " << m_cpt_read_cost << std::endl
    908907                << std::endl
    909                 << "[005] LOCAL WRITE               = " << m_cpt_write_local << std::endl
    910                 << "[006] REMOTE WRITE              = " << m_cpt_write_remote << std::endl
    911                 << "[007] WRITE FLITS LOCAL         = " << m_cpt_write_flits_local << std::endl
    912                 << "[008] WRITE FLITS REMOTE        = " << m_cpt_write_flits_remote << std::endl
    913                 << "[009] WRITE COST (FLITS * DIST) = " << m_cpt_write_cost << std::endl
    914                 << "[XXX] WRITE L1 MISS NCC         = " << m_cpt_write_ncc_miss << std::endl
     908                << "[020] LOCAL WRITE               = " << m_cpt_write_local << std::endl
     909                << "[021] REMOTE WRITE              = " << m_cpt_write_remote << std::endl
     910                << "[022] WRITE FLITS LOCAL         = " << m_cpt_write_flits_local << std::endl
     911                << "[023] WRITE FLITS REMOTE        = " << m_cpt_write_flits_remote << std::endl
     912                << "[024] WRITE COST (FLITS * DIST) = " << m_cpt_write_cost << std::endl
     913                << "[025] WRITE L1 MISS NCC         = " << m_cpt_write_ncc_miss << std::endl
    915914                << std::endl
    916                 << "[010] LOCAL LL                  = " << m_cpt_ll_local << std::endl
    917                 << "[011] REMOTE LL                 = " << m_cpt_ll_remote << std::endl
    918                 << "[012] LL COST (FLITS * DIST)    = " << m_cpt_ll_cost << std::endl
     915                << "[030] LOCAL LL                  = " << m_cpt_ll_local << std::endl
     916                << "[031] REMOTE LL                 = " << m_cpt_ll_remote << std::endl
     917                << "[032] LL COST (FLITS * DIST)    = " << m_cpt_ll_cost << std::endl
    919918                << std::endl
    920                 << "[013] LOCAL SC                  = " << m_cpt_sc_local << std::endl
    921                 << "[014] REMOTE SC                 = " << m_cpt_sc_remote << std::endl
    922                 << "[015] SC COST (FLITS * DIST)    = " << m_cpt_sc_cost << std::endl
     919                << "[040] LOCAL SC                  = " << m_cpt_sc_local << std::endl
     920                << "[041] REMOTE SC                 = " << m_cpt_sc_remote << std::endl
     921                << "[042] SC COST (FLITS * DIST)    = " << m_cpt_sc_cost << std::endl
    923922                << std::endl
    924                 << "[016] LOCAL CAS                 = " << m_cpt_cas_local << std::endl
    925                 << "[017] REMOTE CAS                = " << m_cpt_cas_remote << std::endl
    926                 << "[018] CAS COST (FLITS * DIST)   = " << m_cpt_cas_cost << std::endl
     923                << "[050] LOCAL CAS                 = " << m_cpt_cas_local << std::endl
     924                << "[051] REMOTE CAS                = " << m_cpt_cas_remote << std::endl
     925                << "[052] CAS COST (FLITS * DIST)   = " << m_cpt_cas_cost << std::endl
    927926                << std::endl
    928                 << "[019] REQUESTS TRIG. UPDATE     = " << m_cpt_update << std::endl
    929                 << "[020] LOCAL UPDATE              = " << m_cpt_update_local << std::endl
    930                 << "[021] REMOTE UPDATE             = " << m_cpt_update_remote << std::endl
    931                 << "[022] UPDT COST (FLITS * DIST)  = " << m_cpt_update_cost << std::endl
     927                << "[060] REQUESTS TRIG. UPDATE     = " << m_cpt_update << std::endl
     928                << "[061] LOCAL UPDATE              = " << m_cpt_update_local << std::endl
     929                << "[062] REMOTE UPDATE             = " << m_cpt_update_remote << std::endl
     930                << "[063] UPDT COST (FLITS * DIST)  = " << m_cpt_update_cost << std::endl
    932931                << std::endl
    933                 << "[023] REQUESTS TRIG. M_INV      = " << m_cpt_minval << std::endl
    934                 << "[024] LOCAL M_INV               = " << m_cpt_minval_local << std::endl
    935                 << "[025] REMOTE M_INV              = " << m_cpt_minval_remote << std::endl
    936                 << "[026] M_INV COST (FLITS * DIST) = " << m_cpt_minval_cost << std::endl
     932                << "[070] REQUESTS TRIG. M_INV      = " << m_cpt_minval << std::endl
     933                << "[071] LOCAL M_INV               = " << m_cpt_minval_local << std::endl
     934                << "[072] REMOTE M_INV              = " << m_cpt_minval_remote << std::endl
     935                << "[073] M_INV COST (FLITS * DIST) = " << m_cpt_minval_cost << std::endl
    937936                << std::endl
    938                 << "[027] BROADCAT INVAL            = " << m_cpt_binval << std::endl
     937                << "[080] BROADCAT INVAL            = " << m_cpt_binval << std::endl
     938                << "[081] WRITE BROADCAST           = " << m_cpt_write_broadcast << std::endl
    939939                << std::endl
    940                 << "[028] LOCAL CLEANUP             = " << m_cpt_cleanup_local << std::endl
    941                 << "[029] REMOTE CLEANUP            = " << m_cpt_cleanup_remote << std::endl
    942                 << "[030] CLNUP COST (FLITS * DIST) = " << m_cpt_cleanup_cost << std::endl
     940                << "[090] LOCAL CLEANUP             = " << m_cpt_cleanup_local << std::endl
     941                << "[091] REMOTE CLEANUP            = " << m_cpt_cleanup_remote << std::endl
     942                << "[092] CLNUP COST (FLITS * DIST) = " << m_cpt_cleanup_cost << std::endl
     943                << "[093] CLEANUP DATA              = " << m_cpt_cleanup_data << std::endl
    943944                << std::endl
     945                << "[100] READ MISS                 = " << m_cpt_read_miss << std::endl
     946                << "[101] WRITE MISS                = " << m_cpt_write_miss << std::endl
     947                << "[102] WRITE DIRTY               = " << m_cpt_write_dirty << std::endl
    944948                << std::endl
    945                 << "[031] READ MISS                 = " << m_cpt_read_miss << std::endl
    946                 << "[032] WRITE MISS                = " << m_cpt_write_miss << std::endl
    947                 << "[033] WRITE DIRTY               = " << m_cpt_write_dirty << std::endl
    948                 << "[034] RD BLOCKED BY HIT IN TRT  = " << m_cpt_trt_rb << std::endl
    949                 << "[035] TRANS BLOCKED BY FULL TRT = " << m_cpt_trt_full << std::endl
    950                 << "[036] PUT (UNIMPLEMENTED)       = " << m_cpt_put << std::endl
    951                 << "[037] GET (UNIMPLEMENTED)       = " << m_cpt_get << std::endl
    952                 << "[038] WRITE BROADCAST           = " << m_cpt_write_broadcast << std::endl
    953                 << "[039] MIN HEAP SLOT AVAILABLE   = " << m_cpt_heap_min_slot_available << std::endl
     949                << "[110] RD BLOCKED BY HIT IN TRT  = " << m_cpt_trt_rb << std::endl
     950                << "[111] TRANS BLOCKED BY FULL TRT = " << m_cpt_trt_full << std::endl
     951                << "[120] PUT (UNIMPLEMENTED)       = " << m_cpt_put << std::endl
     952                << "[121] GET (UNIMPLEMENTED)       = " << m_cpt_get << std::endl
     953                << "[130] MIN HEAP SLOT AVAILABLE   = " << m_cpt_heap_min_slot_available << std::endl
    954954                << std::endl
    955                 << "[040] CLEANUP DATA (FLITS)      = " << m_cpt_cleanup_data * 16 << std::endl
    956                 << "[041] NCC TO CC (READ)          = " << m_cpt_ncc_to_cc_read << std::endl
    957                 << "[042] NCC TO CC (WRITE)         = " << m_cpt_ncc_to_cc_write << std::endl
    958                 << "[043] NCC TO CC (TOTAL)         = " << m_cpt_ncc_to_cc << std::endl
     955                << "[140] NCC TO CC (READ)          = " << m_cpt_ncc_to_cc_read << std::endl
     956                << "[141] NCC TO CC (WRITE)         = " << m_cpt_ncc_to_cc_write << std::endl
    959957                << std::endl;
    960958        }
     
    965963            std::cout << "----------------------------------" << std::dec << std::endl;
    966964            std::cout
    967                 << "[100] READ TOTAL            = " << m_cpt_read_local + m_cpt_read_remote << std::endl
    968                 << "[101] READ RATE             = " << (double) (m_cpt_read_local + m_cpt_read_remote) / m_cpt_cycles << std::endl
    969                 << "[102] LOCAL READ RATE       = " << (double) m_cpt_read_local / m_cpt_cycles << std::endl
    970                 << "[103] REMOTE READ RATE      = " << (double) m_cpt_read_remote / m_cpt_cycles << std::endl
    971                 << "[104] READ MISS RATE        = " << (double) m_cpt_read_miss / (m_cpt_read_local + m_cpt_read_remote) << std::endl
     965                << "[300] READ TOTAL            = " << m_cpt_read_local + m_cpt_read_remote << std::endl
     966                << "[301] READ RATE             = " << (double) (m_cpt_read_local + m_cpt_read_remote) / m_cpt_cycles << std::endl
     967                << "[302] LOCAL READ RATE       = " << (double) m_cpt_read_local / m_cpt_cycles << std::endl
     968                << "[303] REMOTE READ RATE      = " << (double) m_cpt_read_remote / m_cpt_cycles << std::endl
     969                << "[304] READ MISS RATE        = " << (double) m_cpt_read_miss / (m_cpt_read_local + m_cpt_read_remote) << std::endl
    972970                << std::endl
    973                 << "[105] WRITE TOTAL           = " << m_cpt_write_local + m_cpt_write_remote << std::endl
    974                 << "[106] WRITE RATE            = " << (double) (m_cpt_write_local + m_cpt_write_remote) / m_cpt_cycles << std::endl
    975                 << "[107] LOCAL WRITE RATE      = " << (double) m_cpt_write_local / m_cpt_cycles << std::endl
    976                 << "[108] REMOTE WRITE RATE     = " << (double) m_cpt_write_remote / m_cpt_cycles << std::endl
    977                 << "[109] WRITE MISS RATE       = " << (double) m_cpt_write_miss / (m_cpt_write_local + m_cpt_write_remote) << std::endl
    978                 << "[110] WRITE BURST TOTAL     = " << m_cpt_write_flits_local + m_cpt_write_flits_remote << std::endl
    979                 << "[111] WRITE BURST AVERAGE   = " << (double) (m_cpt_write_flits_local + m_cpt_write_flits_remote) / (m_cpt_write_local + m_cpt_write_remote) << std::endl
    980                 << "[112] LOCAL WRITE BURST AV. = " << (double) m_cpt_write_flits_local / (m_cpt_write_local + m_cpt_write_remote) << std::endl
    981                 << "[113] REMOTE WRITE BURST AV = " << (double) m_cpt_write_flits_remote / (m_cpt_write_local + m_cpt_write_remote) << std::endl
     971                << "[305] WRITE TOTAL           = " << m_cpt_write_local + m_cpt_write_remote << std::endl
     972                << "[306] WRITE RATE            = " << (double) (m_cpt_write_local + m_cpt_write_remote) / m_cpt_cycles << std::endl
     973                << "[307] LOCAL WRITE RATE      = " << (double) m_cpt_write_local / m_cpt_cycles << std::endl
     974                << "[308] REMOTE WRITE RATE     = " << (double) m_cpt_write_remote / m_cpt_cycles << std::endl
     975                << "[309] WRITE MISS RATE       = " << (double) m_cpt_write_miss / (m_cpt_write_local + m_cpt_write_remote) << std::endl
     976                << "[310] WRITE BURST TOTAL     = " << m_cpt_write_flits_local + m_cpt_write_flits_remote << std::endl
     977                << "[311] WRITE BURST AVERAGE   = " << (double) (m_cpt_write_flits_local + m_cpt_write_flits_remote) / (m_cpt_write_local + m_cpt_write_remote) << std::endl
     978                << "[312] LOCAL WRITE BURST AV. = " << (double) m_cpt_write_flits_local / (m_cpt_write_local + m_cpt_write_remote) << std::endl
     979                << "[313] REMOTE WRITE BURST AV = " << (double) m_cpt_write_flits_remote / (m_cpt_write_local + m_cpt_write_remote) << std::endl
    982980                << std::endl
    983                 << "[114] UPDATE RATE                = " << (double) m_cpt_update / m_cpt_cycles << std::endl
    984                 << "[115] AV. UPDATE PER UP REQ      = " << (double) (m_cpt_update_local + m_cpt_update_remote) / m_cpt_update << std::endl
    985                 << "[116] AV. LOC UPDT PER UP REQ    = " << (double) m_cpt_update_local / m_cpt_update << std::endl
    986                 << "[117] AV. REMOTE UPDT PER UP REQ = " << (double) m_cpt_update_remote / m_cpt_update << std::endl
     981                << "[314] UPDATE RATE                = " << (double) m_cpt_update / m_cpt_cycles << std::endl
     982                << "[315] AV. UPDATE PER UP REQ      = " << (double) (m_cpt_update_local + m_cpt_update_remote) / m_cpt_update << std::endl
     983                << "[316] AV. LOC UPDT PER UP REQ    = " << (double) m_cpt_update_local / m_cpt_update << std::endl
     984                << "[317] AV. REMOTE UPDT PER UP REQ = " << (double) m_cpt_update_remote / m_cpt_update << std::endl
    987985                << std::endl
    988                 << "[118] INVAL MULTICAST RATE  = " << (double) m_cpt_minval / m_cpt_cycles << std::endl
    989                 << "[119] AVE. INVAL PER M_INV  = " << (double) (m_cpt_minval_local + m_cpt_minval_remote) / m_cpt_minval << std::endl
    990                 << "[120] AV. LOC INV PER M_INV = " << (double) m_cpt_minval_local / m_cpt_minval << std::endl
    991                 << "[121] AV. REM INV PER M_INV = " << (double) m_cpt_minval_remote / m_cpt_minval << std::endl
     986                << "[318] INVAL MULTICAST RATE  = " << (double) m_cpt_minval / m_cpt_cycles << std::endl
     987                << "[319] AVE. INVAL PER M_INV  = " << (double) (m_cpt_minval_local + m_cpt_minval_remote) / m_cpt_minval << std::endl
     988                << "[320] AV. LOC INV PER M_INV = " << (double) m_cpt_minval_local / m_cpt_minval << std::endl
     989                << "[321] AV. REM INV PER M_INV = " << (double) m_cpt_minval_remote / m_cpt_minval << std::endl
    992990                << std::endl
    993                 << "[122] INVAL BROADCAST RATE  = " << (double) m_cpt_binval / m_cpt_cycles << std::endl
    994                 << "[123] WRITE DIRTY RATE      = " << (double) m_cpt_write_dirty / m_cpt_cycles << std::endl
     991                << "[322] INVAL BROADCAST RATE  = " << (double) m_cpt_binval / m_cpt_cycles << std::endl
     992                << "[323] WRITE DIRTY RATE      = " << (double) m_cpt_write_dirty / m_cpt_cycles << std::endl
    995993                << std::endl
    996                 << "[124] CLEANUP RATE          = " << (double) (m_cpt_cleanup_local + m_cpt_cleanup_remote) / m_cpt_cycles << std::endl
    997                 << "[125] LOCAL CLEANUP RATE    = " << (double) m_cpt_cleanup_local / m_cpt_cycles << std::endl
    998                 << "[126] REMOTE CLEANUP RATE   = " << (double) m_cpt_cleanup_remote / m_cpt_cycles << std::endl
    999                 << "[127] LL RATE               = " << (double) (m_cpt_ll_local + m_cpt_ll_remote) / m_cpt_cycles << std::endl
    1000                 << "[128] LOCAL LL RATE         = " << (double) m_cpt_ll_local / m_cpt_cycles << std::endl
    1001                 << "[129] REMOTE LL RATE        = " << (double) m_cpt_ll_remote / m_cpt_cycles << std::endl
    1002                 << "[130] SC RATE               = " << (double) (m_cpt_sc_local + m_cpt_sc_remote) / m_cpt_cycles << std::endl
    1003                 << "[131] LOCAL SC RATE         = " << (double) m_cpt_sc_local / m_cpt_cycles << std::endl
    1004                 << "[132] REMOTE SC RATE        = " << (double) m_cpt_sc_remote / m_cpt_cycles << std::endl
    1005                 << "[133] CAS RATE              = " << (double) (m_cpt_cas_local + m_cpt_cas_remote) / m_cpt_cycles << std::endl
    1006                 << "[134] LOCAL CAS RATE        = " << (double) m_cpt_cas_local / m_cpt_cycles << std::endl
    1007                 << "[135] REMOTE CAS RATE       = " << (double) m_cpt_cas_remote / m_cpt_cycles << std::endl
     994                << "[324] CLEANUP RATE          = " << (double) (m_cpt_cleanup_local + m_cpt_cleanup_remote) / m_cpt_cycles << std::endl
     995                << "[325] LOCAL CLEANUP RATE    = " << (double) m_cpt_cleanup_local / m_cpt_cycles << std::endl
     996                << "[326] REMOTE CLEANUP RATE   = " << (double) m_cpt_cleanup_remote / m_cpt_cycles << std::endl
     997                << "[327] LL RATE               = " << (double) (m_cpt_ll_local + m_cpt_ll_remote) / m_cpt_cycles << std::endl
     998                << "[328] LOCAL LL RATE         = " << (double) m_cpt_ll_local / m_cpt_cycles << std::endl
     999                << "[329] REMOTE LL RATE        = " << (double) m_cpt_ll_remote / m_cpt_cycles << std::endl
     1000                << "[330] SC RATE               = " << (double) (m_cpt_sc_local + m_cpt_sc_remote) / m_cpt_cycles << std::endl
     1001                << "[331] LOCAL SC RATE         = " << (double) m_cpt_sc_local / m_cpt_cycles << std::endl
     1002                << "[332] REMOTE SC RATE        = " << (double) m_cpt_sc_remote / m_cpt_cycles << std::endl
     1003                << "[333] CAS RATE              = " << (double) (m_cpt_cas_local + m_cpt_cas_remote) / m_cpt_cycles << std::endl
     1004                << "[334] LOCAL CAS RATE        = " << (double) m_cpt_cas_local / m_cpt_cycles << std::endl
     1005                << "[335] REMOTE CAS RATE       = " << (double) m_cpt_cas_remote / m_cpt_cycles << std::endl
    10081006                << std::endl
    10091007                << std::endl;
     
    12761274            m_cpt_ncc_to_cc_read          = 0;     
    12771275            m_cpt_ncc_to_cc_write         = 0;       
    1278             m_cpt_ncc_to_cc               = 0;       
    12791276
    12801277            m_cpt_heap_min_slot_available = m_heap_size;
     
    59285925
    59295926
    5930                     if (inval_request) m_cpt_ncc_to_cc ++;
    59315927
    59325928                    if (r_write_to_cleanup_req.read() and (r_cleanup_nline.read() == r_write_to_cleanup_nline.read()))
Note: See TracChangeset for help on using the changeset viewer.