A mesma álgebra, dois padrões de memória

As duas ordens de laço calculam exatamente a mesma matriz C = A·B, com o mesmo número de operações. O modelo de cache aqui é minúsculo de propósito: linhas de 4 elementos e uma cache totalmente associativa de 8 linhas com política LRU. Células coloridas estão na cache; a célula em cor forte é o acesso atual; um contorno vermelho indica falta (miss). Escolha a ordem, aperte executar e observe os contadores.

velocidade
i=0  p=0  j=0 passo 0/512
A (8×8)
lida por linhas
B (8×8)
padrão depende da ordem
C (8×8)
acumulada
Cache (8 linhas, LRU — da mais antiga para a mais recente)
faltas em A
0
0 acessos
faltas em B
0
0 acessos
faltas em C
0
0 acessos
taxa de acerto
0 faltas no total
Na ordem i → p → j, o laço interno percorre uma linha de B e uma linha de C de forma contígua: cada linha de cache carregada serve quatro acessos consecutivos.