Aquí dibujo algunos diagramas para mostrar cómo se ven las matrices en la memoria y en la caché. Este no es un problema de programación, pero supongamos que usamos C, no Java.
El siguiente diagrama muestra cómo una matriz / matriz de 8 * 8 se almacena en la memoria usando row-major. Si la CPU necesita A[0][7] elemento, todo el bloque que contiene este elemento se llevará a la caché. En este caso, el bloque de caché puede caber en 8 elementos, por lo que es toda la fila la que se llevará a la caché.
Este diagrama muestra cómo la CPU solicita un byte de la jerarquía de memoria. Muestra cómo se ve el elemento solicitado en la memoria y cómo se lleva a la caché.
Este diagrama muestra por qué la memoria caché ve la memoria como una matriz de bloques. El tamaño del bloque está determinado por el bloque de caché y hay un total de # (tamaño de memoria total / tamaño de bloque de caché) bloques de memoria.