Multicœur et synchronisation

Dans le protocole MESI, que signifie l’état Modified (M) d’une ligne de cache ?

  1. ASeul ce cœur détient la ligne, et son contenu diffère de la mémoire principale (réécriture nécessaire)
  2. BPlusieurs cœurs détiennent le même contenu, qui concorde aussi avec la mémoire principale
  3. CLe contenu de la ligne est inutilisable et doit être rechargé pour être lu
Afficher la réponse et l'explication

Réponse : A. Seul ce cœur détient la ligne, et son contenu diffère de la mémoire principale (réécriture nécessaire)

L’état M signifie que ce cœur a écrit et qu’il est seul à détenir la valeur la plus récente. La valeur en mémoire principale étant obsolète, il faut réécrire la valeur récente ou la transmettre directement lorsque la ligne est évincée ou qu’un autre cœur veut la lire. Une ligne en état M peut être écrite autant de fois que voulu sans prévenir les autres cœurs ; les écritures successives d’un même cœur sont donc traitées rapidement.

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

Autres questions sur Multicœur et synchronisation

  1. Dans le protocole MESI, que se passe-t-il lorsqu’un cœur écrit dans une ligne en état Exclusive (E) ?
  2. Dans un protocole de cohérence par invalidation, que se passe-t-il lorsqu’un cœur écrit dans une ligne en état Shared (S) ?
  3. Dans le protocole MESI, quel est le comportement habituel lorsque le cœur 1 veut lire une ligne que le cœur 0 détient à l’état Modified (M) ?
  4. Quelle description de la cohérence de cache par espionnage (snooping) est correcte ?
  5. Pourquoi utilise-t-on, dans les systèmes à grand nombre de cœurs, la cohérence par répertoire plutôt que l’espionnage ?

Comparatifs sur ce thème