Multicœur et synchronisation

Quelle est la différence entre cohérence de cache et modèle de cohérence mémoire ?

  1. ALes deux ont le même sens sous des noms différents
  2. BLa cohérence de cache est le contrat qui supprime les divergences de valeur d’une même adresse, et le modèle de cohérence mémoire le contrat sur l’ordre dans lequel les opérations sur des adresses différentes sont vues
  3. CLa cohérence de cache est réalisée uniquement par logiciel, le modèle de cohérence mémoire uniquement par matériel
Afficher la réponse et l'explication

Réponse : B. La cohérence de cache est le contrat qui supprime les divergences de valeur d’une même adresse, et le modèle de cohérence mémoire le contrat sur l’ordre dans lequel les opérations sur des adresses différentes sont vues

La cohérence de cache garantit, pour une adresse donnée, que tous les cœurs voient les écritures dans le même ordre et finissent par lire la valeur la plus récente. Le modèle de cohérence mémoire définit, lorsque le cœur 0 écrit x puis y, dans quel ordre les écritures de x et y peuvent être vues des autres cœurs. Même avec la cohérence de cache, l’ordre entre adresses différentes peut paraître inversé, d’où la nécessité de barrières.

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

Autres questions sur Multicœur et synchronisation

  1. Quel est le principe de la mémoire transactionnelle matérielle ?
  2. Lors d’une attente « jusqu’à ce que la file ne soit plus vide » avec une variable de condition, pourquoi revérifier la condition après le réveil avec une instruction while plutôt qu’avec une instruction if ?
  3. Deux cœurs possèdent chacun dans leur cache une copie de la variable x. Après une écriture de x par le cœur 0, quel problème peut survenir lors de la lecture de x par le cœur 1 en l’absence de mécanisme de cohérence de cache ?
  4. Quelle combinaison correspond aux quatre états du protocole de cohérence de cache MESI ?
  5. Dans le protocole MESI, que signifie l’état Modified (M) d’une ligne de cache ?

Comparatifs sur ce thème