Protocole de cohérence de cache

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources ().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?

Schéma illustrant le besoin d'un protocole de cohérence de cache.

En informatique, un protocole de cohérence de cache, sous entendu cache processeur, est un protocole de communication utilisé dans les architectures multi-processeurs pour assurer aux processeurs une vue cohérente de la mémoire. En particulier, il permet de répercuter les écritures faites par chaque processeur aux autres, en modifiant ou en invalidant les lignes de cache communes.

Il existe deux grandes familles de protocoles de cohérence de cache : par espionnage, basés sur la surveillance des modifications faites par tous les autres processeurs, ou par répertoire, qui stockent des informations sur chaque portion de la mémoire (les caches où elle est dupliquée, si elle a été modifiée, etc.).

Cohérence par espionnage

Un protocole de cohérence par espionnage (snooping-based) utilise un bus commun, ce qui permet à chaque processeur de surveiller les accès à la mémoire des autres. Il invalide la ligne correspondante dans son cache lors d'une écriture par un autre processeur.

Cohérence par répertoire

Un protocole de cohérence par répertoire (directory-based) stocke les informations d'emplacement et d'état pour chaque portion de mémoire de la taille d'une ligne de cache. Il existe plusieurs moyens pour répartir ces données, soit en utilisant une unique mémoire, soit en distribuant celle-ci, soit enfin en utilisant une organisation hiérarchique, chaque nœud possédant les informations sur les lignes de cache présentes chez ses fils.

Notes et références

Voir aussi

Des protocoles de cohérence de cache :

  • Protocole MSI
  • Protocole MESI
  • icône décorative Portail de l’informatique