Hiérarchie mémoire

Un cache totalement associatif de 2 lignes avec remplacement LRU est initialement vide. Si les blocs sont référencés dans l’ordre A, B, A, C, B, A, combien de défauts se produisent ?

  1. A4
  2. B5
  3. C6
Afficher la réponse et l'explication

Réponse : B. 5

En suivant l’ordre : A (défaut, [A]), B (défaut, [A,B]), A (succès, A devient le plus récent), C (défaut, éviction de B, le plus ancien, [A,C]), B (défaut, éviction de A, le plus ancien, [C,B]), A (défaut, éviction de C, le plus ancien, [B,A]) ; on obtient 5 défauts. Le résultat 4 provient par exemple de l’hypothèse erronée que A est évincé à l’insertion de C ; en LRU, il est essentiel que A, ayant fait l’objet d’un succès, soit devenu le plus récent. Le résultat 6 néglige le succès du troisième accès à A.

S'entraîner sur ce thème Retour au thème

Autres questions sur Hiérarchie mémoire

  1. Pour quel type d’accès le préchargement matériel est-il particulièrement efficace ?
  2. Lors de l’insertion d’instructions de préchargement logiciel, quelle description de la distance de préchargement (jusqu’où en avance lire les données) est correcte ?
  3. Dans la boucle ci-dessus, avec un int de 4 octets, des lignes de cache de 64 octets et un tableau absent du cache aligné sur une frontière de ligne, quel est le taux de défauts de la lecture du tableau en l’absence de préchargement ?
  4. Quel est le but principal du blocage de boucles (tiling), utilisé notamment pour le produit de matrices ?
  5. Pourquoi le traitement ci-dessus, qui additionne uniquement les coordonnées x, devient-il généralement plus rapide une fois réécrit sous forme de structure de tableaux (chaque composante dans un tableau séparé) ?

Comparatifs sur ce thème