Hiérarchie mémoire

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 ?

  1. APlus la distance est courte, mieux c’est ; l’optimum est d’insérer le préchargement juste avant la lecture de l’élément suivant
  2. BPlus la distance est longue, mieux c’est ; l’optimum est de lire en bloc au début toutes les données de la boucle
  3. CNi trop courte ni trop longue ; elle se détermine à partir de la durée d’un défaut et de la durée d’une itération
Afficher la réponse et l'explication

Réponse : C. Ni trop courte ni trop longue ; elle se détermine à partir de la durée d’un défaut et de la durée d’une itération

Un préchargement n’a de sens que si la lecture en mémoire est terminée au moment où la donnée est nécessaire. Une distance trop courte ne permet pas à la donnée d’arriver à temps ; une distance trop longue entraîne l’éviction de la donnée avant son utilisation ou la pollution du cache. En règle générale, on précharge un nombre d’itérations en avance égal à la pénalité de défaut divisée par la durée d’une itération. Un préchargement juste avant l’accès ne masque pas l’attente, et charger toutes les données en bloc dépasse la capacité du cache.

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

Autres questions sur Hiérarchie mémoire

  1. 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 ?
  2. Quel est le but principal du blocage de boucles (tiling), utilisé notamment pour le produit de matrices ?
  3. 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é) ?
  4. Quel est le principal avantage d’un cache L1 séparé en cache d’instructions (cache I) et cache de données (cache D) ?
  5. Dans un système à pages de 4 KB et lignes de 64 octets, le cache L1 est à index virtuel et étiquette physique (VIPT), et l’index et le déplacement doivent n’utiliser que des bits internes à la page. Avec une associativité à 8 voies, quelle est la capacité maximale du cache ?

Comparatifs sur ce thème