Hiérarchie mémoire

Lorsqu’une ligne d’un tableau à deux dimensions mesure 4096 octets (une puissance de 2), le parcours des éléments par colonne peut provoquer de nombreux défauts même si la capacité du cache est suffisante. Quelle mesure est efficace ?

  1. AAjouter un remplissage en fin de chaque ligne pour que la taille de ligne ne soit plus une puissance de 2
  2. BRemplacer le type du tableau par un autre type de même taille
  3. CRéaligner le tableau entier sur une grande frontière d’adresse en puissance de 2
Afficher la réponse et l'explication

Réponse : A. Ajouter un remplissage en fin de chaque ligne pour que la taille de ligne ne soit plus une puissance de 2

Si une ligne mesure exactement 4096 octets, les éléments parcourus par colonne sont espacés de multiples de 4096 : leurs bits d’index sont identiques et ils se concentrent dans le même ensemble. Dès que le nombre de lignes parcourues dépasse l’associativité, des défauts de conflit apparaissent malgré une capacité suffisante. Ajouter à chaque ligne un remplissage (padding) d’environ une ligne de cache décale l’ensemble associé à chaque élément et répartit les accès. Un alignement sur une puissance de 2 ne change rien, et un type de même taille n’a aucun effet.

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

Autres questions sur Hiérarchie mémoire

  1. Combien de fois environ le temps d’accès à la DRAM de la mémoire principale est-il supérieur au temps de succès du cache L1 ? (CPU typique de PC ou de serveur)
  2. Quel est le rôle du bit de validité (valid bit) associé à chaque ligne de cache ?
  3. Quel est l’effet principal d’un cache de victimes, petit tampon totalement associatif qui conserve temporairement les lignes évincées du cache L1 ?
  4. Dans un cache multiniveau où un cache L2 est placé sous le cache L1, quel est le rôle principal du cache L2 ?
  5. Quelle est la caractéristique d’un schéma inclusif, dans lequel le cache inférieur (L2, etc.) contient tout le contenu du cache supérieur (L1) ?

Comparatifs sur ce thème