diff --git a/csim.c b/csim.c new file mode 100644 index 0000000..b26e098 --- /dev/null +++ b/csim.c @@ -0,0 +1,174 @@ +/** + * Groupmembers: + * 1. Anna Schlittenhardt + * 2. Tuan-Dat Tran + */ + +#include +#include +#include +#include +#include +#include +#include "cachelab.h" + +int v = 0; /* verbose */ +int s = 0; /* set index */ +int E = 0; /* Set of cache lines */ +int b = 0; /* Block offset */ +int S; /* Set of Set of cache lines*/ +int B; /* Block size */ +long long time = 0; +FILE *tracefile; /* File to trace from */ +struct cache_line **cache; /* cache */ + +int hit = 0, miss = 0, eviction = 0; + +struct cache_line { + unsigned char v; + unsigned int tag; + unsigned int time; +}; + +void print_help() { + printf("Usage: ./csim-ref [-hv] -s -E -b -t \n"); + printf(" -h: Optional help flag that prints usage info\n"); + printf(" -v: Optional verbose flag that displays trace info\n"); + printf(" -s : Number of set index bits (S = 2 s is the number of sets)\n"); + printf(" -E : Associativity (number of lines per set)\n"); + printf(" -b : Number of block bits (B = 2 b is the block size)\n"); + printf(" -t : Name of the valgrind trace to replay\n"); +} + +void init() { + cache = (struct cache_line **) malloc(S*sizeof(struct cache_line *)); + for (int i = 0; i < S; i++) { + struct cache_line* cache_set = (struct cache_line *) malloc(E*sizeof(struct cache_line)); + cache[i] = cache_set; + for (int j = 0; j < E; j++) { + cache_set[j].v = 0; + cache_set[j].tag = 0; + cache_set[j].time = 0; + } + } +} + +void clean() { + for (int i = 0; i < S; i++) { + free(cache[i]); + } + free(cache); + fclose(tracefile); +} + +void accessMem (int addr) { + unsigned int set = ((addr >> b) & ((1LL << s) - 1)); + unsigned int tag = addr >> (b + s); + struct cache_line *cache_set = cache[set]; + long evic_time = 0; + int evic_line = 0; + for (int i = 0; i < E; i++) { + if (cache_set[i].tag == tag && cache_set[i].v != 0){ + if (v) { printf("hit "); } + hit++; + cache_set[i].time = time; + time++; + return; + } + } + + if (v) { printf("miss "); } + miss++; + + for (int i = 0; i < E; i++) { + if (cache_set[i].time < evic_time) { + evic_line = i; + evic_time = cache_set[i].time; + } + } + + if (cache_set[evic_line].v == 1) { + if (v) { printf("eviction "); } + eviction++; + } + + cache_set[evic_line].v = 1; + cache_set[evic_line].tag = tag; + cache_set[evic_line].time = time; + time++; + return; +} + +void trace() { + char op; + unsigned address; + int size; + + while (fscanf(tracefile, " %c %x,%d", &op, &address, &size) > 0 ) { + switch (op) { + case 'M': + if (v) { printf("%c %x,%d ", op, address, size); } + accessMem(address); + accessMem(address); + printf("\n"); + break; + case 'L': + if (v) { printf("%c %x,%d ", op, address, size); } + accessMem(address); + printf("\n"); + break; + case 'S': + if (v) { printf("%c %x,%d ", op, address, size); } + accessMem(address); + printf("\n"); + break; + } + } +} + +int main(int argc, char *argv[]) { + char c; + while ((c = getopt(argc, argv, "s:E:b:t:vh")) != -1) { + switch (c) { + case 'h': + print_help(); + exit(0); + break; + case 'v': + v = 1; + break; + case 's': + s = atoi(optarg); + break; + case 'E': + E = atoi(optarg); + break; + case 'b': + b = atoi(optarg); + break; + case 't': + tracefile = fopen(optarg, "r"); + break; + } + } + + if (s == 0 || E == 0 || b == 0 || tracefile == NULL) { + print_help(); + exit(1); + } + + S = pow(2, s); + B = pow(2, b); + + init(); + trace(); + for (int i = 0; i < S; i++) { + for (int j = 0; j < E; j++) { + // printf("cache[%d][%d]: %c %x %ul\n", i, j, cache[i][j].v, cache[i][j].tag, cache[i][j].time); + } + } + clean(); + + printSummary(hit, miss, eviction); + return 0; +} diff --git a/src/csim.c b/src/csim.c index 4b4b630..e7ed320 100644 --- a/src/csim.c +++ b/src/csim.c @@ -26,8 +26,8 @@ int hit = 0, miss = 0, eviction = 0; struct cache_line { unsigned char v; - unsigned int tag; - unsigned int time; + unsigned long tag; + unsigned long time; }; void print_help() { @@ -43,7 +43,7 @@ void print_help() { void init() { cache = (struct cache_line **) malloc(S*sizeof(struct cache_line *)); for (int i = 0; i < S; i++) { - struct cache_line* cache_set = (struct cache_line *) malloc(E*sizeof(struct cache_line)); + struct cache_line* cache_set = (struct cache_line *) malloc(E*sizeof(struct cache_line)); cache[i] = cache_set; for (int j = 0; j < E; j++) { cache_set[j].v = 0; @@ -64,10 +64,9 @@ void clean() { void accessMem (int addr) { unsigned int set = ((addr >> b) & ((1LL << s) - 1)); unsigned int tag = addr >> (b + s); - printf("addr %x, set %x, tag %x ", addr, set, tag); struct cache_line *cache_set = cache[set]; - long evic_time = 0xffffffffffffffff; - int evic_line = 0; + unsigned long evic_time = 0; + unsigned int evic_line = 0; for (int i = 0; i < E; i++) { if (cache_set[i].tag == tag && cache_set[i].v != 0){ if (v) { printf("hit "); } @@ -89,41 +88,42 @@ void accessMem (int addr) { } if (cache_set[evic_line].v == 1) { - eviction++; if (v) { printf("eviction "); } + eviction++; } cache_set[evic_line].v = 1; cache_set[evic_line].tag = tag; cache_set[evic_line].time = time; time++; - return; } void trace() { - char op; - unsigned address; + char op[2]; + unsigned long address; int size; - while (fscanf(tracefile, " %c %x,%d", &op, &address, &size) > 0 ) { - switch (op) { + while (fscanf(tracefile, "%s %lx,%d", op, &address, &size) > 0 ) { + switch (op[0]) { case 'M': - if (v) { printf("%c %x,%d ", op, address, size); } + if (v) { printf("%c %lx,%d ", op[0], address, size); } accessMem(address); accessMem(address); printf("\n"); break; case 'L': - if (v) { printf("%c %x,%d ", op, address, size); } + if (v) { printf("%c %lx,%d ", op[0], address, size); } accessMem(address); printf("\n"); break; case 'S': - if (v) { printf("%c %x,%d ", op, address, size); } + if (v) { printf("%c %lx,%d ", op[0], address, size); } accessMem(address); printf("\n"); break; + default: + break; } } } diff --git a/src/ref_trans b/src/ref_trans new file mode 100644 index 0000000..fa661f2 --- /dev/null +++ b/src/ref_trans @@ -0,0 +1,219 @@ +S 600aa0,1 miss +S 7ff000398,8 miss +S 7ff000390,8 hit +S 7ff000378,8 miss +S 7ff000370,8 hit +S 7ff000384,4 hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a20,4 miss +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a60,4 miss +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a24,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a70,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a28,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a80,4 miss +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a2c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a90,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a30,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a64,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a34,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a74,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a38,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a84,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a3c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a94,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a40,4 miss +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a68,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a44,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a78,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a48,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a88,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a4c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a98,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a50,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a6c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a54,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a7c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a58,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a8c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a5c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a9c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +L 7ff000390,8 hit +L 7ff000398,8 hit +L 600aa0,1 hit +hits:231 misses:7 evictions:0 diff --git a/src/ref_trans.txt b/src/ref_trans.txt new file mode 100644 index 0000000..fa661f2 --- /dev/null +++ b/src/ref_trans.txt @@ -0,0 +1,219 @@ +S 600aa0,1 miss +S 7ff000398,8 miss +S 7ff000390,8 hit +S 7ff000378,8 miss +S 7ff000370,8 hit +S 7ff000384,4 hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a20,4 miss +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a60,4 miss +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a24,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a70,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a28,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a80,4 miss +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a2c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a90,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a30,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a64,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a34,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a74,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a38,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a84,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a3c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a94,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a40,4 miss +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a68,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a44,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a78,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a48,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a88,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a4c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a98,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +S 7ff000388,4 hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a50,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a6c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a54,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a7c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a58,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a8c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +L 7ff000384,4 hit +L 7ff000378,8 hit +L 7ff000388,4 hit +L 600a5c,4 hit +S 7ff00038c,4 hit +L 7ff000388,4 hit +L 7ff000370,8 hit +L 7ff000384,4 hit +L 7ff00038c,4 hit +S 600a9c,4 hit +M 7ff000388,4 hit hit +L 7ff000388,4 hit +M 7ff000384,4 hit hit +L 7ff000384,4 hit +L 7ff000390,8 hit +L 7ff000398,8 hit +L 600aa0,1 hit +hits:231 misses:7 evictions:0 diff --git a/src/trans.txt b/src/trans.txt new file mode 100644 index 0000000..2b9ab9d --- /dev/null +++ b/src/trans.txt @@ -0,0 +1,219 @@ +S 600aa0,1 miss +I 4005b6,5 I 4005bb,5 I 4005c0,5 S 7ff000398,8 miss +I 40051e,1 S 7ff000390,8 hit +I 40051f,3 I 400522,4 S 7ff000378,8 miss +I 400526,4 S 7ff000370,8 hit +I 40052a,7 S 7ff000384,4 hit +I 400531,2 I 400581,4 L 7ff000384,4 hit +I 400585,2 I 400533,7 S 7ff000388,4 hit +I 40053a,2 I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a20,4 miss +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a60,4 miss +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a24,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a70,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a28,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a80,4 miss +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a2c,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a90,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40057d,4 M 7ff000384,4 hit +I 400581,4 L 7ff000384,4 hit +I 400585,2 I 400533,7 S 7ff000388,4 hit +I 40053a,2 I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a30,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a64,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a34,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a74,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a38,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a84,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a3c,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a94,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40057d,4 M 7ff000384,4 hit +I 400581,4 L 7ff000384,4 hit +I 400585,2 I 400533,7 S 7ff000388,4 hit +I 40053a,2 I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a40,4 miss +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a68,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a44,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a78,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a48,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a88,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a4c,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a98,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40057d,4 M 7ff000384,4 hit +I 400581,4 L 7ff000384,4 hit +I 400585,2 I 400533,7 S 7ff000388,4 hit +I 40053a,2 I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a50,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a6c,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a54,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a7c,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a58,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a8c,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40053c,3 L 7ff000384,4 hit +I 40053f,2 I 400541,4 I 400545,3 I 400548,4 L 7ff000378,8 hit +I 40054c,3 L 7ff000388,4 hit +I 40054f,2 I 400551,3 L 600a5c,4 hit +I 400554,3 S 7ff00038c,4 hit +I 400557,3 L 7ff000388,4 hit +I 40055a,2 I 40055c,4 I 400560,3 I 400563,4 L 7ff000370,8 hit +I 400567,3 L 7ff000384,4 hit +I 40056a,3 I 40056d,3 L 7ff00038c,4 hit +I 400570,3 S 600a9c,4 hit +I 400573,4 M 7ff000388,4 hit +I 400577,4 L 7ff000388,4 hit +I 40057b,2 I 40057d,4 M 7ff000384,4 hit +I 400581,4 L 7ff000384,4 hit +I 400585,2 I 400587,1 L 7ff000390,8 hit +I 400588,1 L 7ff000398,8 hit +I 4005c5,7 L 600aa0,1 hit +hits:211 misses:7 evictions:0 diff --git a/tuan-handin.tar b/tuan-handin.tar new file mode 100644 index 0000000..1670072 Binary files /dev/null and b/tuan-handin.tar differ