modified following the tips
This commit is contained in:
parent
aa89420f1f
commit
18f0b76f2e
|
@ -11,7 +11,9 @@
|
||||||
#define L1_SIZE 768*1024
|
#define L1_SIZE 768*1024
|
||||||
#define L2_SIZE 16*1024*1024
|
#define L2_SIZE 16*1024*1024
|
||||||
#define L3_SIZE 64*1024*1024
|
#define L3_SIZE 64*1024*1024
|
||||||
#define BUFF_SIZE 16*1024*1024
|
#define REDUNDANCY 2
|
||||||
|
#define BUFF_SIZE REDUNDANCY*16*1024*1024
|
||||||
|
#define REPEAT 10
|
||||||
|
|
||||||
int main (int ac, char **av) {
|
int main (int ac, char **av) {
|
||||||
|
|
||||||
|
@ -69,9 +71,12 @@ int main (int ac, char **av) {
|
||||||
// Step 1: bring the target cache line into L1 by simply accessing
|
// Step 1: bring the target cache line into L1 by simply accessing
|
||||||
// the line
|
// the line
|
||||||
tmp = target_buffer[0];
|
tmp = target_buffer[0];
|
||||||
for(int j=0; j<L1_SIZE/LINE_SIZE; j++){
|
for(int k=0; k<REPEAT; k++){
|
||||||
|
for(int j=0; j<REDUNDANCY*L1_SIZE/LINE_SIZE; j++){
|
||||||
tmp = eviction_buffer[j*LINE_SIZE];
|
tmp = eviction_buffer[j*LINE_SIZE];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Step 2: measure the access latency
|
// Step 2: measure the access latency
|
||||||
l2_latency[i] = measure_one_block_access_time((uint64_t)target_buffer);
|
l2_latency[i] = measure_one_block_access_time((uint64_t)target_buffer);
|
||||||
|
@ -85,9 +90,11 @@ int main (int ac, char **av) {
|
||||||
// Step 1: bring the target cache line into L1 by simply accessing
|
// Step 1: bring the target cache line into L1 by simply accessing
|
||||||
// the line
|
// the line
|
||||||
tmp = target_buffer[0];
|
tmp = target_buffer[0];
|
||||||
for(int j=0; j<L2_SIZE/LINE_SIZE; j++){
|
for(int k=0; k<REPEAT; k++){
|
||||||
|
for(int j=0; j<REDUNDANCY*L2_SIZE/LINE_SIZE; j++){
|
||||||
tmp = eviction_buffer[j*LINE_SIZE];
|
tmp = eviction_buffer[j*LINE_SIZE];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Step 2: measure the access latency
|
// Step 2: measure the access latency
|
||||||
l3_latency[i] = measure_one_block_access_time((uint64_t)target_buffer);
|
l3_latency[i] = measure_one_block_access_time((uint64_t)target_buffer);
|
||||||
|
|
Loading…
Reference in New Issue