Współczynnik braku pamięci podręcznej tablicy

Próbuję dowiedzieć się, jak obliczyć współczynnik braków tablicy. Mam odpowiedź, ale nie rozumiem, jak doszło do odpowiedzi. Mam następujący kod:

int C[N1][N2];
int A[N1][N3];
int B[N3][N2];

initialize_arrays(A, B, C, N1, N2, N3);

for(i=0; i<N1; ++i)
   for(j=0; j<N2; ++j)
      for(k=0; k<N3, ++k)
         C[i][j] += A[i][k] * B[k][j];

Mam również następujące informacje:N1=N2=N3=2048 (co to znaczy??). Procesor ma pamięć podręczną danych L1 o wielkości 32kB z rozmiarem linii 64B (bez pamięci podręcznej L2). (jaki jest rozmiar linii?)

Wiem, że współczynnik braków w tablicy C jest(N^2/16)/N^3. Wiem, że ta formuła jest(total misses)/(total accesses). Widzę, że sąN^3 całkowity dostęp, ale w jaki sposób udało im się uzyskać całkowitą tęsknotę?

Znam również współczynnik braków tablicy B:(N^3)/(N^3) i A:(N^2/16)/N^3. Czy ktoś mógłby mi wytłumaczyć, skąd wzięły się tu również wszystkie chybienia?

questionAnswers(1)

yourAnswerToTheQuestion