Hiérarchie mémoire

Quel est l’exemple le plus représentatif de la localité temporelle ?

  1. ALire une fois chaque élément d’un tableau, du premier au dernier
  2. BMettre à jour plusieurs fois la même variable d’accumulation dans une boucle
  3. CLire une seule fois, à chaque accès, une donnée située à une adresse aléatoire
Afficher la réponse et l'explication

Réponse : B. Mettre à jour plusieurs fois la même variable d’accumulation dans une boucle

La localité temporelle est la propriété selon laquelle une donnée utilisée sera bientôt réutilisée ; une variable lue et écrite de façon répétée dans une boucle en est l’exemple typique. Une telle donnée est réutilisée tant qu’elle reste dans le cache ou dans un registre, ce qui accélère l’accès. La lecture séquentielle d’un tableau illustre la localité spatiale, qui consiste à utiliser successivement des adresses voisines ; c’est une propriété distincte. Un accès unique à une adresse aléatoire ne présente pratiquement aucune des deux localités.

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

Autres questions sur Hiérarchie mémoire

  1. Parcourir le tableau à deux dimensions a[i][j] du langage C avec j dans la boucle interne, comme ci-dessus, est généralement plus rapide qu’avec i dans la boucle interne. Pour quelle raison ?
  2. Pour un cache à correspondance directe avec des adresses de 32 bits, une capacité de 32 KB et des lignes de 64 octets, combien de bits comporte l’étiquette ?
  3. Combien d’ensembles comporte un cache associatif à 4 voies avec des adresses de 32 bits, une capacité de 32 KB et des lignes de 64 octets ?
  4. Dans un cache totalement associatif, combien de bits de l’adresse sont utilisés pour l’index (partie qui sélectionne l’ensemble) ?
  5. Avec un temps de succès L1 de 1 ns, un taux de défauts L1 de 5%, un temps de succès L2 de 10 ns, un taux de défauts local L2 de 20% et un temps d’accès à la mémoire principale de 100 ns, quel est le temps moyen d’accès mémoire ?

Comparatifs sur ce thème