Que signifie mesi ?

L'abréviation « MESI » signifie Modified-Exclusive-Shared-Invalid, qui est un protocole de cohérence de cache utilisé dans les systèmes multiprocesseurs pour maintenir la cohérence entre plusieurs copies des mêmes données dans différents caches. Voici une explication de ce que chacun de ces états représente :

1. Modifié (M) :

- Une ligne de cache est à l'état Modifié lorsqu'elle a été modifiée localement et contient la version la plus à jour des données.

- Les autres caches qui contenaient auparavant des copies des mêmes données sont invalidés lorsqu'une ligne de cache entre dans l'état Modifié.

- L'état Modifié indique la propriété exclusive des données, ce qui signifie qu'aucun autre cache n'a actuellement de copie valide.

2. Exclusif (E) :

- Lorsqu'une ligne de cache est à l'état Exclusif, elle contient une copie valide des données, mais elle n'a pas été modifiée localement.

- D'autres caches peuvent avoir des copies invalides ou partagées des mêmes données, mais aucun autre cache n'a de copie modifiée.

3. Partagé (S) :

- Une ligne de cache est à l'état Partagé lorsque plusieurs caches possèdent des copies valides des mêmes données et qu'aucun d'entre eux ne les a modifiées.

- Dans l'état Partagé, toutes les copies des données sont cohérentes les unes avec les autres.

4. Invalide (I) :

- L'état Invalide indique qu'une ligne de cache ne contient pas de copie valide des données.

- Lorsqu'une ligne de cache est accédée et jugée invalide, le processeur doit la récupérer dans la mémoire principale ou dans un autre cache possédant une copie valide.

Le protocole MESI garantit qu'un seul cache possède une copie modifiée des données à la fois, évitant ainsi les incohérences entre plusieurs copies mises en cache. Cela garantit également que lorsque les données sont partagées entre plusieurs caches, toutes les copies restent cohérentes grâce à des actions spécifiques prises lorsque des changements d'état se produisent.