ECE521 Project One

Cache Design

1. C++ Cade




// proj98_2.cxx
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>

typedef struct branch_st {
    unsigned int history;
    unsigned int tag;
    unsigned int target;
} Branch;

#define EMPTY 0xffffffff
 

Branch *branch;
unsigned int *predictor;
int m,n,h;
int branch_size, predictor_size;
int taken_limit;

//Data of Statistics

int accesses = 0;
int interferences = 0;
int mis_branch = 0;
int mis_target = 0;
float asc,cpi;
FILE *ifp;

int branch_access(unsigned int, char, unsigned int);

main(int argc, char *argv[])
{
    int i, j;
    char taken;
    unsigned int branch_addr, target_addr;
 

 // Decode command line arguments

    if (argc != 5) {
        cout<< "usage:" << argv[0] << " trace_file_name m h n\n" ;
        exit(-1);
    }

    m = atoi(argv[2]);
    h = atoi(argv[3]);
    n = atoi(argv[4]);

    ifp=fopen(argv[1],"r");

    if ((m>32)||(m<1)||(n<1)||(h<1)||(n>6) ) {
        cout<<"invalid parameters of m h n\n";
        cout<<"The range of m h n should be:\n";
        cout<<"1 < m < 33\t 1 < n < 7\t 1 < h\n";
        exit(-3);
    }

 // Make arrays

    branch_size = 1<<m;
    predictor_size = 1<<h;
    taken_limit = 1 << (n-1);

    branch =   new Branch[branch_size];
    predictor = new (unsigned int)[predictor_size];
 

    for (i = 0; i < branch_size; i++) {
        branch[i].history = 0;
        branch[i].tag = EMPTY;
        branch[i].target = EMPTY;
    }

    for (i = 0; i < predictor_size; i++) {
        predictor[i] = taken_limit - 1;
    }
 

    //Begin reading the file and predicting branch directions

    while ((fscanf(ifp,"%x %c %x",&branch_addr, &taken, &target_addr))==3) {
      fflush(ifp);
      accesses++;
       //       cout<<accesses<<'\t'<<target_addr<<endl;
       branch_access(branch_addr,taken,target_addr);
    }
    fclose(ifp);

    // Print out the final Statistic results

    cout<<endl;
    cout.flags(ios::dec);
    cout << "m  n  h\t";
    cout << "accesses    interf.  mis_branch  mis_target     asc       cpi\n";
    cout << m<<" "<<n<<" "<<h<<'\t';
    cout.width(8);
    cout << accesses<<"  ";
    cout.width(8);
    cout << interferences<<"  ";
    cout.width(8);
    cout << mis_branch<<"  ";
    cout.width(8);
    cout << mis_target<<"       ";

    asc = 2.0 * (mis_branch + mis_target)/(5.0 * accesses);
    cpi = asc +1;

    cout.width(8);
    cout << asc<<'\t';
    cout.width(8);
    cout << cpi << '\n';
}
 

int branch_access(unsigned int addr1, char taken, unsigned int addr2)
{
  int branch_index,predictor_index;
  int branch_tag;
  char pred;

  // Get index and tag of the branch
  branch_index = (addr1>>2) & ((1<<m)-1);
  branch_tag = addr1>>(m+2);

/*  cout.flags(ios::hex);
  cout << "index= " << branch_index << '\t' << "tag= " << branch_tag;
  cout << "\ttarget= "<<addr2 <<"\ttaken="<<taken<<endl;*/

  // Check interference
  if (branch[branch_index].tag != branch_tag) {
     if (branch[branch_index].tag != EMPTY)
         interferences++;
      branch[branch_index].tag = branch_tag;
     }

  // Check mispredictions of branch target addresses
  if ((branch[branch_index].target != addr2) && (taken == 't')) {
     mis_target++;
     branch[branch_index].target = addr2;
     }

  // Predict the branch dirction
  predictor_index = branch[branch_index].history & ((1<<h)-1);
  if (predictor[predictor_index] < taken_limit)
     pred = 'n';
  else
     pred = 't';

  // Check mispredictions of branch direction
  if (taken != pred)
     mis_branch++;

  // Modify predictor
  if ((taken == 't') && (predictor[predictor_index] != ((1<<n)-1)))
     predictor[predictor_index]++;

  if ((taken == 'n') && (predictor[predictor_index] != 0))
     predictor[predictor_index]--;

  // Modify branch history
  if (taken == 't')
     branch[branch_index].history = ( branch[branch_index].history << 1 ) | 0x1;
  if (taken == 'n')
     branch[branch_index].history = branch[branch_index].history << 1 ;

/*    cout.flags(ios::dec);
    cout << "accesses\tinterference\tmis_branch\tmis_target\n";
    cout.width(8);
    cout << accesses<<'\t';
    cout.width(8);
    cout << interferences<<'\t';
    cout.width(8);
    cout << mis_branch<<'\t';
    cout.width(8);
    cout << mis_target<<'\n';
                               */

  return 1;

}
 


2. Outputs



m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
10 2 5     97864      1824      2629      4948       0.0309695   1.03097

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
11 2 5     97864      1047      2532      4758       0.0297965    1.0298

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
12 2 5     97864       696      2523      4722       0.0296125   1.02961

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
13 2 5     97864       519      2518      4657       0.0293264   1.02933

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5     97864       405      2492      4657       0.0292201   1.02922

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5     97864       405      2492      4657       0.0292201   1.02922

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
15 2 5     97864       268      2545      4596       0.0291874   1.02919

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
16 2 5     97864       267      2547      4596       0.0291956    1.0292

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5     97864         5      2395      4533       0.0283168   1.02832

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
18 2 5     97864         0      2389      4533       0.0282923   1.02829

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
19 2 5     97864         0      2389      4533       0.0282923   1.02829

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
9 2 5      97864      3844      2927      5146       0.0329968     1.033

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
8 2 5      97864      8509      3599      6534       0.0414167   1.04142

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
7 2 5      97864     17684      5124      8848       0.0571078   1.05711

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
6 2 5      97864     29541      8343     11230       0.0800008      1.08

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
5 2 5      97864     50186     15171     14781       0.122423    1.12242

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
4 2 5      97864     71327     22569     23997       0.190329    1.19033

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
3 2 5      97864     81304     26423     31556       0.236978    1.23698

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
2 2 5      97864     82459     27998     33462       0.251206    1.25121

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
1 2 5      97864     84739     23038     34781       0.236324    1.23632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
1 2 5     100001     95134     23488     25130        0.19447    1.19447

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
2 2 5     100001     90068     22573     20314       0.171546    1.17155

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
3 2 5     100001     46227     19110     12793       0.127611    1.12761

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
4 2 5     100001     28805     14713      9291       0.096015    1.09602

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
5 2 5     100001     13357     12619      4938       0.0702273   1.07023

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
6 2 5     100001      4171     10168      2075       0.0489715   1.04897

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
7 2 5     100001      1482      8497       248       0.0349796   1.03498

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
8 2 5     100001        91      7906        95       0.0320037     1.032

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
9 2 5     100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
10 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
11 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
12 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
13 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
15 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
16 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
18 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
19 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
20 2 5    100001         0      7844        63       0.0316277   1.03163

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
20 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
19 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
18 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
16 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
15 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
13 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
12 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
11 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
10 2 5    100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
9 2 5     100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
8 2 5     100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
7 2 5     100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
6 2 5     100001         0        11         6       6.79993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
5 2 5     100001     20000        14         6       7.99992e-05         1.00008

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
4 2 5     100001     20000        14         6       7.99992e-05         1.00008

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
3 2 5     100001     59998        12         6       7.19993e-05         1.00007

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
2 2 5     100001     89998        12     40002       0.160054    1.16005

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
1 2 5     100001     99999        10     60000       0.240038    1.24004

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
1 2 5     100001     10139      3478      5191       0.0346757   1.03468

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
2 2 5     100001      8901      4144      3235       0.0295157   1.02952

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
3 2 5     100001      7162      3443      2507       0.0237998    1.0238

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
4 2 5     100001      5328      3019      1676       0.0187798   1.01878

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
5 2 5     100001      3049      2617      1483       0.0163998    1.0164

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
6 2 5     100001      2202      2025      1260       0.0131399   1.01314

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
7 2 5     100001       918      1647       687       0.00933591  1.00934

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
8 2 5     100001       524      1384       518       0.00760792  1.00761

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
9 2 5     100001       250      1299       397       0.00678393  1.00678

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
10 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
11 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
12 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
13 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
15 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
16 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
18 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
19 2 5    100001         0      1237       343       0.00631994  1.00632
usage:proj2 m h n

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
20 2 5    100001         0      1237       343       0.00631994  1.00632

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
20 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
19 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
18 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
16 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
15 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
13 2 5    100001         0      6760      7007       0.0550674   1.05507

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
12 2 5    100001       927      6908      7081       0.0559554   1.05596

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
11 2 5    100001      1113      6948      7130       0.0563114   1.05631

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
10 2 5    100001      1883      7294      7376       0.0586794   1.05868

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
9 2 5     100001      5834      8789      8940       0.0709153   1.07092

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
8 2 5     100001      9429     10803      9760       0.0822512   1.08225

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
7 2 5     100001     18760     14021     11517       0.102151    1.10215

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
6 2 5     100001     40680     18392     17325       0.142867    1.14287

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
5 2 5     100001     54693     22620     24827       0.189786    1.18979

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
4 2 5     100001     72532     27631     31888       0.238074    1.23807

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
3 2 5     100001     82066     33912     38147       0.288233    1.28823

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
2 2 5     100001     90593     32656     44940       0.310381    1.31038

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
1 2 5     100001     95302     34280     45904       0.320733    1.32073

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
1 2 5     100001     95169     36444     33354       0.279189    1.27919

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
2 2 5     100001     92268     37046     32994       0.280157    1.28016

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
3 2 5     100001     85200     39152     31901       0.284209    1.28421

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
4 2 5     100001     78677     37067     28230       0.261185    1.26119

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
5 2 5     100001     72976     37093     26016       0.252433    1.25243

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
6 2 5     100001     64263     33547     21760       0.221226    1.22123

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
7 2 5     100001     48778     21444     14149       0.142371    1.14237

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
8 2 5     100001     31296     15163      8932       0.096379    1.09638

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
9 2 5     100001     15206      8893      6629       0.0620874   1.06209

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
10 2 5    100001      7027      6271      5769       0.0481595   1.04816

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
11 2 5    100001      4937      5852      5252       0.0444156   1.04442

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
12 2 5    100001      2215      5200      5191       0.0415636   1.04156

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
13 2 5    100001      1608      5083      5175       0.0410316   1.04103

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5    100001      1544      5075      5168       0.0409716   1.04097

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
15 2 5    100001        13      5070      4420       0.0379596   1.03796

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
16 2 5    100001         0      5074      4419       0.0379716   1.03797

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5    100001         0      5074      4419       0.0379716   1.03797

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
18 2 5    100001         0      5074      4419       0.0379716   1.03797

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
19 2 5    100001         0      5074      4419       0.0379716   1.03797

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
20 2 5    100001         0      5074      4419       0.0379716   1.03797

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
20 2 5    100001         0      1567      7430       0.0359876   1.03599

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
19 2 5    100001         0      1567      7430       0.0359876   1.03599

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
18 2 5    100001         0      1567      7430       0.0359876   1.03599

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
17 2 5    100001         0      1567      7430       0.0359876   1.03599

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
16 2 5    100001         9      1565      7430       0.0359796   1.03598

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
15 2 5    100001      1079      1921      7433       0.0374156   1.03742

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
14 2 5    100001      3237      2143      7445       0.0383516   1.03835

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
13 2 5    100001      4047      2416      7773       0.0407556   1.04076

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
12 2 5    100001      5338      2786      7913       0.0427956    1.0428

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
11 2 5    100001      8551      3858      8225       0.0483315   1.04833

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
10 2 5    100001     14756      5385      9414       0.0591954    1.0592

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
9 2 5     100001     23043      8567     10765       0.0773272   1.07733

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
8 2 5     100001     34565     11936     12366       0.097207    1.09721

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
7 2 5     100001     50442     16334     16051       0.129539    1.12954

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
6 2 5     100001     70879     21869     21795       0.174654    1.17465

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
5 2 5     100001     82050     29936     25218       0.220614    1.22061

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
4 2 5     100001     88664     33623     27653       0.245102     1.2451

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
3 2 5     100001     95003     34975     29202       0.256705    1.25671

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
2 2 5     100001     97504     34104     31423       0.262105    1.26211

m  n  h accesses    interf.  mis_branch  mis_target     asc       cpi
1 2 5     100001     98052     34176     31466       0.262565    1.26257
Data for program 1: Cache design

w 400341a0
r dfcfa8
w 7b034dd4
r df7c48
r 7b034dd4
r 423aebbc
r 423aebb8
r 423aebbc
r 40002634
w 40139dd0
r 423aeb9c
w 40139dd4
w 40138938
r 423aeba0
w 4013893c
r 7b034dcc
r df8a70
w 7b034c50
w 7b034c68
r df9f10