950 likes | 1.14k Views
Plan. Présentation de la Solution. Le Protocole MESI Gestion de la lecture /écriture du processeur en mémoire. Gestion de la lecture /écriture d ’un second maître du Bus en mémoire. Il faut une solution !!!. Une solution qui gère les problèmes de cohérence de cache.
E N D
Plan • Présentation de la Solution. • Le Protocole MESI • Gestion de la lecture /écriture du processeur en mémoire. • Gestion de la lecture /écriture d ’un second maître du Bus en mémoire.
Il faut une solution !!! • Une solution qui gère les problèmes de cohérence de cache. • Une solution performante.
Voici la Solution • La solution est d ’utiliser un protocole pour gérer : -les écritures en mémoires -les lectures en mémoires
Définition d ’un protocole • Ensemble de règles établies à l ’avance. • Ces règles définissent le déroulement des opérations à effectuer.
Où et comment implanter le protocole • Où : • Dans toutes les parties ou l ’on est susceptible de modifier la mémoire : • Le cache L1 • Le cache L2 … • Comment implanter le protocole: • En utilisant une machine d ’état. • Cette machine d ’état est implanter dans le contrôleur du cache
Plan • Présentation de la Solution. • Le Protocole MESI • Gestion de la lecture /écriture du processeur en mémoire. • Gestion de la lecture /écriture d ’un second maître du Bus en mémoire.
Le Protocole MESI • M: Modified <==> Modifier • E: Exclusif <==> Exclusif • S: Shared <==> Partager • I : Invalid <==> Invalide
L ’État Modifier • Le bloc du cache a été mis à jour (il contient des données modifiées) suite a un succès en écriture sur le cache • Cette état informe le cache qu ’il doit espionner le bus système et écrire l ’entrer modifier en mémoire quand un succès d ’espionnage sur ce bloc est détecter.
Exemple de l ’État Modifié : Mémoires A= 8 B= 9 C=10 D=15 E=1 . . Marque l ’état Modifié Cache A=9 Processeur M Maîtres Bus
Commençons à construire le graphe d ’état. Succes d ’espionnage Lecture /Écriture réécriture réécriture Succès en lecture Succès en écriture Modifié
Commençons à construire le graphe d ’état. réécriture réécriture Succès d ’espionnage Succes d ’espionnage Succès en lecture Modifié Succès en écriture
L ’État Exclusif • Indique que ce cache n ’a pas eu connaissance de la possession du bloc par un autre cache
Continuons à construire notre graphe d ’état Succès d ’espionnage sur lecture Succès d ’espionnage sur écriture Succès en écriture Succès en lecture Exclusif
Continuons à construire notre graphe d ’état réécriture réécriture Succès d ’espionnage Succes d ’espionnage Succès en lecture Modifié Succès en écriture Succès d ’espionnage sur lecture Succès d ’espionnage sur écriture Exclusif Succès en écriture Succès en lecture
L ’État Partagé • Indique que ce bloc peut être présent dans plusieurs caches.
Continuons à construire notre graphe d ’état Succès en lecture Succès d ’espionnage sur écriture Succès en écriture Partagé
Continuons à construire notre graphe d ’état Succès en lecture Succès d ’espionnage sur écriture réécriture réécriture Succès d ’espionnage Succes d ’espionnage Succès d ’espionnage sur écriture Succès en lecture Modifié Exclusif Succès en écriture Succès en lecture Succès en écriture Partagé Succès en écriture Succès d ’spionnage sur lecture
L ’État Invalide • Le bloc contenu dans la cache n ’est pas correct.
Continuons à construire notre graphe d ’état Échec en lecture Chargement de bloc Échec en lecture Chargement de bloc Invalide
Finissons de construire notre graphe d ’état Succès en lecture Succès d ’espionnage sur écriture Partagé Succès en écriture réécriture Succès d’espionnage lecture réécriture Succès d ’espionnage Succes d ’espionnage Succès d ’espionnage sur écriture Succès en lecture Modifié Exclusif Succès en écriture Succès en lecture Succès en écriture Chargement de bloc Échec en lecture Invalide Échec en lecture Chargement de bloc
Plan • Présentation de la Solution. • Le Protocole MESI • Gestion de la lecture /écriture du processeur en mémoire. • Gestion de la lecture /écriture d ’un second maître du Bus en mémoire.
Opération de chargement de A c c Processeur MémoireA=8 B=9 C=10 Maître Bus Cache L2 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération de chargement de A c c Processeur MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=8 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération de chargement de A c c Processeur MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=8 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Explication du Fonctionnement du Protocole MESI c c Processeur MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=8 A=8 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération de chargement de A c c Processeur MémoireA=8 B=9 C=10 Maître Bus A=8 Cache L2 A=8 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération de chargement de A c c Processeur A=8 MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=8 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération d ’écriture de A=9 c c Processeur A=8 MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=8 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération d ’écriture de A=9 c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A=9 Cache L2 A=8 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération d ’écriture de A=9 c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération incrémentation de A et écriture de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Opération de réécriture de A=10 c c Processeur A=10 MémoireA=8 B=9 C=10 Maître Bus Cache L2 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Plan • Présentation de la Solution. • Le Protocole MESI • Gestion de la lecture /écriture du processeur en mémoire. • Gestion de la lecture /écriture d ’un second maître du Bus en mémoire.
Quand il y un maître du bus autres que le processeur qui intervient .comment cela se passe : Opération de lecture par un maîtres du bus autre que le processeur . Opération d ’écriture par un maîtres du bus autre que le processeur . Explication du Fonctionnement du Protocole MESI
Explication du Fonctionnement du Protocole MESI Lors d ’une lecture par un maîtres du bus autre que le processeur il existe plusieurs cas : État du bloc L2 invalide => échec d ’espionnage État du bloc L2 Exclusif => Peut donner la valeur tout de suite Bloc L2 est dans l ’état modifié État du bloc de donné dans L1 (exclusif ou partagé ) État du bloc L1 modifier
Le Maîtres du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 Succès d ’espionnage de L2!!!! Donc il reprend le contrôle du Bus. L2 à la donner mais à t ’il la plus récente?? Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 L2 interroge L1. L1 lui répond qu ’il est en mode Exclusif Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 L2 sait maintenant que la Valeur de A qu ’il a est la plus récente.L2 va donc réécrire la Valeur de A en mémoire Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=9 B=9 C=10 Maître Bus A? Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=9 B=9 C=10 Maître Bus A? Cache L2 A=9 L2 Rend la main au Maître Bus qui va pouvoir lire la Valeur de A Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=9 B=9 C=10 Maître Bus A? Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=9 B=9 C=10 Maître Bus A? Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=9 B=9 C=10 Maître Bus A=9 Cache L2 A=9 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Le Maître du Bus veut connaître la valeur de A c c Processeur A=9 MémoireA=9 B=9 C=10 Maître Bus A=9 Cache L2 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif
Explication du Fonctionnement du Protocole MESI Étudions le cas où le bloc de donnée L1 est en mode Modifié
Le Maître du Bus veut connaître la valeur de A c c Processeur A=10 MémoireA=8 B=9 C=10 Maître Bus A? Cache L2 A=9 Cache L1 Cache L2 Invalide Partagé Invalide Partagé Modifié Exclusif Modifié Exclusif