Hi,
I am using MESI_SCMP_bankdirectory protocol in my project, and after
running a simulation, L2 cache doesn't have any misses:
L2_cache cache stats:
L2_cache_total_misses: 0
L2_cache_total_demand_misses: 0
L2_cache_total_prefetches: 0
L2_cache_total_sw_prefetches: 0
L2_cache_total_hw_prefetches: 0
L2_cache_misses_per_transaction: 0
L2_cache_misses_per_instruction: 0
L2_cache_instructions_per_misses: NaN
L2_cache_request_size: [binsize: log2 max: 0 count: 0 average: NaN
|standard d
eviation: NaN | 0 ]
Tracing back, I see this is because the function addSecondaryStatSample
is called in profile_L2Cache_miss; but this profile_L2Cache_miss is
commented out in MESI_SCMP_bankdirectory-L2cache.sm.
Next, if I remove the comment, I got the following error during compile:
Parsing...
../protocols/RubySlicc_Exports.sm
../protocols/RubySlicc_Types.sm
../protocols/RubySlicc_Util.sm
../protocols/RubySlicc_ComponentMapping.sm
../protocols/RubySlicc_Profiler.sm
../protocols/RubySlicc_Defines.sm
../protocols/RubySlicc_MemControl.sm
../protocols/MESI_SCMP_bankdirectory-msg.sm
../protocols/MESI_SCMP_bankdirectory-L2cache.sm
../protocols/MESI_SCMP_bankdirectory-L1cache.sm
../protocols/MESI_SCMP_bankdirectory-mem.sm
../protocols/standard_CMP-protocol.sm
Generator pass 1...
Generator pass 2...
../protocols/MESI_SCMP_bankdirectory-L2cache.sm:686: Error: Unrecognized
function name: 'convertToGenericType'
make[1]: *** [generated/MESI_SCMP_bankdirectory/generated] Error 1
For some reason, the function convertToGenericType is auto-generated in
some other protocol, e.g. MOSI_SMP_bcast; but not for
MESI_SCMP_bankdirectory.
1. I would like to know why this is the case?
2. Also why is profile_L2Cache_miss commented out in the sm file? If
this indeed should be left out, what should I do to get the L2 cache stats?
Thank you for your time and help,
Binh
|