CPU et architecture

Quelle description d'un cache associatif par ensembles est correcte ?

  1. ALa donnée d'une adresse peut être placée dans l'un quelconque de plusieurs emplacements (voies) d'un ensemble déterminé
  2. BLa donnée d'une adresse ne peut être placée qu'en un seul emplacement du cache
  3. CLes données peuvent être placées n'importe où dans le cache
Afficher la réponse et l'explication

Réponse : A. La donnée d'une adresse peut être placée dans l'un quelconque de plusieurs emplacements (voies) d'un ensemble déterminé

Dans un cache associatif par ensembles, une partie de l'adresse détermine l'ensemble, et la donnée peut être placée dans l'une des voies de cet ensemble. Par exemple, avec 8 voies, il y a 8 emplacements candidats, ce qui réduit les conflits pour un même emplacement (défauts de conflit) par rapport au cache à correspondance directe. Augmenter le nombre de voies accroît les comparateurs et la consommation ; on utilise généralement environ 8 à 12 voies en L1 et autour de 16 en L3. Le placement n'importe où correspond au cache totalement associatif.

Recherche dans un cache associatif par ensembles Adresse Offset : position dans la ligne Tag Index Offset Voie 0 Tag Données Voie 1 Tag Données Ensemble visé = = Comparaison des tags Une égale → succès Aucune → échec Tag d'adresse comparé à toutes les voies à la fois Exemple à 2 voies (n voies : n tags comparés)
Recherche dans un cache associatif par ensembles · Voir dans les schémas
S'entraîner sur ce thème Retour au thème

Autres questions sur CPU et architecture

  1. Quelle est la taille usuelle d'une ligne de cache (bloc de cache) dans la plupart des processeurs actuels ?
  2. Dans un pipeline, lorsqu'une instruction utilise immédiatement le résultat de la précédente (aléa de données), quelle technique transmet directement le résultat du calcul à l'instruction suivante sans attendre l'écriture dans le registre ?
  3. Quelle description du petit-boutiste (little-endian) est correcte ?
  4. Quelle technique permet à un seul cœur de traiter simultanément les instructions de plusieurs threads afin d'utiliser efficacement ses unités d'exécution ?
  5. Dans les microcontrôleurs notamment, quelle méthode attribue aux registres des périphériques des adresses dans le même espace que la mémoire et les manipule avec les instructions ordinaires de lecture et d'écriture mémoire ?

Comparatifs sur ce thème