Line 298... |
Line 298... |
if (config.bp.btic_sim) {
|
if (config.bp.btic_sim) {
|
printf("BTIC: hit %d(%d%%), miss %d\n", mstats.btic.hit, (mstats.btic.hit * 100) / SD(mstats.btic.hit + mstats.btic.miss), mstats.btic.miss);
|
printf("BTIC: hit %d(%d%%), miss %d\n", mstats.btic.hit, (mstats.btic.hit * 100) / SD(mstats.btic.hit + mstats.btic.miss), mstats.btic.miss);
|
} else
|
} else
|
printf("BTIC simulation disabled. Enabled it to see BTIC analysis\n");
|
printf("BTIC simulation disabled. Enabled it to see BTIC analysis\n");
|
|
|
if (getsprbits(SPR_UPR, SPR_UPR_ICP)) {
|
if (testsprbits(SPR_UPR, SPR_UPR_ICP)) {
|
printf("IC read: hit %d(%d%%), miss %d\n", ic_stats.readhit, (ic_stats.readhit * 100) / SD(ic_stats.readhit + ic_stats.readmiss), ic_stats.readmiss);
|
printf("IC read: hit %d(%d%%), miss %d\n", ic_stats.readhit, (ic_stats.readhit * 100) / SD(ic_stats.readhit + ic_stats.readmiss), ic_stats.readmiss);
|
} else
|
} else
|
printf("No ICache. Set UPR[ICP]\n");
|
printf("No ICache. Set UPR[ICP]\n");
|
|
|
if (getsprbits(SPR_UPR, SPR_UPR_DCP)) {
|
if (testsprbits(SPR_UPR, SPR_UPR_DCP)) {
|
printf("DC read: hit %d(%d%%), miss %d\n", dc_stats.readhit, (dc_stats.readhit * 100) / SD(dc_stats.readhit + dc_stats.readmiss), dc_stats.readmiss);
|
printf("DC read: hit %d(%d%%), miss %d\n", dc_stats.readhit, (dc_stats.readhit * 100) / SD(dc_stats.readhit + dc_stats.readmiss), dc_stats.readmiss);
|
printf("DC write: hit %d(%d%%), miss %d\n", dc_stats.writehit, (dc_stats.writehit * 100) / SD(dc_stats.writehit + dc_stats.writemiss), dc_stats.writemiss);
|
printf("DC write: hit %d(%d%%), miss %d\n", dc_stats.writehit, (dc_stats.writehit * 100) / SD(dc_stats.writehit + dc_stats.writemiss), dc_stats.writemiss);
|
} else
|
} else
|
printf("No DCache. Set UPR[DCP]\n");
|
printf("No DCache. Set UPR[DCP]\n");
|
|
|
if (getsprbits(SPR_UPR, SPR_UPR_IMP)) {
|
if (testsprbits(SPR_UPR, SPR_UPR_IMP)) {
|
printf("IMMU read: hit %d(%d%%), miss %d\n", immu_stats.fetch_tlbhit, (immu_stats.fetch_tlbhit * 100) / SD(immu_stats.fetch_tlbhit + immu_stats.fetch_tlbmiss), immu_stats.fetch_tlbmiss);
|
printf("IMMU read: hit %d(%d%%), miss %d\n", immu_stats.fetch_tlbhit, (immu_stats.fetch_tlbhit * 100) / SD(immu_stats.fetch_tlbhit + immu_stats.fetch_tlbmiss), immu_stats.fetch_tlbmiss);
|
} else
|
} else
|
printf("No IMMU. Set UPR[IMP]\n");
|
printf("No IMMU. Set UPR[IMP]\n");
|
|
|
if (getsprbits(SPR_UPR, SPR_UPR_DMP)) {
|
if (testsprbits(SPR_UPR, SPR_UPR_DMP)) {
|
printf("DMMU read: hit %d(%d%%), miss %d\n", dmmu_stats.loads_tlbhit, (dmmu_stats.loads_tlbhit * 100) / SD(dmmu_stats.loads_tlbhit + dmmu_stats.loads_tlbmiss), dmmu_stats.loads_tlbmiss);
|
printf("DMMU read: hit %d(%d%%), miss %d\n", dmmu_stats.loads_tlbhit, (dmmu_stats.loads_tlbhit * 100) / SD(dmmu_stats.loads_tlbhit + dmmu_stats.loads_tlbmiss), dmmu_stats.loads_tlbmiss);
|
} else
|
} else
|
printf("No DMMU. Set UPR[DMP]\n");
|
printf("No DMMU. Set UPR[DMP]\n");
|
}
|
}
|
|
|