Wykres porównawczy pamięci: zrozumienie zachowania pamięci podręcznej

Wypróbowałem każdy rodzaj rozumowania, z którym mogłem wyjść, ale tak naprawdę nie rozumiem tego spisku. W zasadzie pokazuje wydajność odczytu i zapisu z tablicy o różnych rozmiarach z różnym krokiem. Rozumiem, że dla małych kroków, takich jak 4 bajty, czytam całą komórkę w pamięci podręcznej, w konsekwencji mam dobrą wydajność. Ale co się stanie, gdy mam tablicę 2 MB i krok 4k? lub krok 4M i 4k? Dlaczego wydajność jest taka zła? Wreszcie, kiedy mam 1 MB macierzy, a krok to 1/8 wydajności, są przyzwoite, gdy 1/4 wydajności osiąga najgorszy wynik, a następnie o połowę mniejszy, wydajność jest super dobra? Proszę, pomóż mi, ta rzecz doprowadza mnie do szału.

Pod tym linkiem kod:https://dl.dropboxusercontent.com/u/18373264/membench/membench.c

questionAnswers(1)

yourAnswerToTheQuestion