Hiérarchie mémoire

Pour quel type d’accès le préchargement matériel est-il particulièrement efficace ?

  1. ALa lecture séquentielle d’un tableau avec un pas (stride) constant
  2. BLe parcours d’une liste chaînée élément par élément depuis la tête
  3. CLa consultation d’une table de hachage avec des clés aléatoires
Afficher la réponse et l'explication

Réponse : A. La lecture séquentielle d’un tableau avec un pas (stride) constant

Le préchargeur matériel détecte une régularité (contiguïté ou pas constant) dans les adresses des accès récents, prédit l’adresse suivante et la charge à l’avance. La lecture d’un tableau avec un pas constant est facile à prédire et l’effet est important. Dans une liste chaînée, l’adresse de l’élément suivant n’est connue qu’après lecture de l’élément courant ; sans régularité, aucune prédiction n’est possible. La consultation d’une table de hachage avec des clés aléatoires ne présente pas non plus de régularité d’adresse, et l’effet est faible.

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

Autres questions sur Hiérarchie mémoire

  1. 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 ?
  2. 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 ?
  3. Quel est le but principal du blocage de boucles (tiling), utilisé notamment pour le produit de matrices ?
  4. 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é) ?
  5. Quel est le principal avantage d’un cache L1 séparé en cache d’instructions (cache I) et cache de données (cache D) ?

Comparatifs sur ce thème