Je suis à essayer de comprendre un problème pour hw, où je dois voir combien misses cache se produisent pour la boucle imbriquée suivanteentièrement Associatif Cache
for i=0; i < 32 ; i++
for j=0; j < 32; j++
sum += arr[i][j];
J'ai un cache entièrement associatif qui dispose de 16 lignes de cache , où chaque ligne de cache peut stocker 32 mots. Le cache est initialement vide et arr [0] [0] correspond à la première ligne de cache
Maintenant, d'après ce que je crois comprendre, il y aura un total de 32 échecs.Initialement, lorsqu'une requête est faite, le cache est vide compte comme un manque et selon un cache entièrement associatif tous les blocs sont peuplés et ensuite le LRU est appliqué.
Je suis un peu confus ici, pourrait utiliser quelques conseils ici
Si 'arr' est un tableau multidimensionnel normal (et non un tableau de pointeurs ou quelque chose), alors votre boucle est juste une lecture séquentielle du bloc de mémoire. En supposant que i, j et sum ne débordent pas en mémoire, l'associativité du cache ne fait pas de différence ici; même un cache mappé directement fonctionnerait de manière identique. –
Oui l'arr est un tableau multidimensionnel – RRP