OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_46/] [or1ksim/] [cpu/] [common/] [stats.c] - Diff between revs 535 and 541

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 535 Rev 541
Line 136... Line 136...
void printotherstats(int which)
void printotherstats(int which)
{
{
  int i, all = 0, dependall = 0;
  int i, all = 0, dependall = 0;
 
 
  printf ("\n");
  printf ("\n");
  if (config.cpu.bpb) {
  if (config.bpb.enabled) {
    struct branchstat bf;
    struct branchstat bf;
    struct branchstat bnf;
    struct branchstat bnf;
    long bf_all, bnf_all;
    long bf_all, bnf_all;
    bf.taken = mstats.bf[1][0] + mstats.bf[1][1];
    bf.taken = mstats.bf[1][0] + mstats.bf[1][1];
    bf.nottaken = mstats.bf[0][0] + mstats.bf[0][1];
    bf.nottaken = mstats.bf[0][0] + mstats.bf[0][1];
Line 161... Line 161...
    printf("bf: %d (%d%%) taken,", bnf.taken, (bnf.taken * 100) / SD(bnf_all));
    printf("bf: %d (%d%%) taken,", bnf.taken, (bnf.taken * 100) / SD(bnf_all));
    printf(" %d (%d%%) not taken,", bnf.nottaken, (bnf.nottaken * 100) / SD(bnf_all));
    printf(" %d (%d%%) not taken,", bnf.nottaken, (bnf.nottaken * 100) / SD(bnf_all));
    printf(" %d (%d%%) forward,", bnf.forward, (bnf.forward * 100) / SD(bnf_all));
    printf(" %d (%d%%) forward,", bnf.forward, (bnf.forward * 100) / SD(bnf_all));
    printf(" %d (%d%%) backward\n", bnf.backward, (bnf.backward * 100) / SD(bnf_all));
    printf(" %d (%d%%) backward\n", bnf.backward, (bnf.backward * 100) / SD(bnf_all));
 
 
    printf("StaticBP bnf(%s): correct %d%%\n", config.cpu.sbp_bnf_fwd ? "forward" : "backward",
    printf("StaticBP bnf(%s): correct %d%%\n", config.bpb.sbp_bnf_fwd ? "forward" : "backward",
      (mstats.bnf[0][config.cpu.sbp_bnf_fwd] * 100) / SD(bnf_all));
      (mstats.bnf[0][config.bpb.sbp_bnf_fwd] * 100) / SD(bnf_all));
    printf("StaticBP bf(%s): correct %d%%\n", config.cpu.sbp_bf_fwd ? "forward" : "backward",
    printf("StaticBP bf(%s): correct %d%%\n", config.bpb.sbp_bf_fwd ? "forward" : "backward",
      (mstats.bnf[1][config.cpu.sbp_bf_fwd] * 100) / SD(bf_all));
      (mstats.bnf[1][config.bpb.sbp_bf_fwd] * 100) / SD(bf_all));
    printf("BPB: hit %d (correct %d%%), miss %d\n", mstats.bpb.hit, (mstats.bpb.correct * 100) / SD(mstats.bpb.hit), mstats.bpb.miss);
    printf("BPB: hit %d (correct %d%%), miss %d\n", mstats.bpb.hit, (mstats.bpb.correct * 100) / SD(mstats.bpb.hit), mstats.bpb.miss);
  } else
  } else
    printf("BPB simulation disabled. Enable it to see BPB analysis\n");
    printf("BPB simulation disabled. Enable it to see BPB analysis\n");
 
 
  if (config.cpu.btic) {
  if (config.bpb.btic) {
    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 (testsprbits(SPR_UPR, SPR_UPR_ICP)) {
  if (testsprbits(SPR_UPR, SPR_UPR_ICP)) {

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.