1 / 94

Plan

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.

hafwen
Download Presentation

Plan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. Il faut une solution !!! • Une solution qui gère les problèmes de cohérence de cache. • Une solution performante.

  3. Voici la Solution • La solution est d ’utiliser un protocole pour gérer : -les écritures en mémoires -les lectures en mémoires

  4. Définition d ’un protocole • Ensemble de règles établies à l ’avance. • Ces règles définissent le déroulement des opérations à effectuer.

  5. 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

  6. 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.

  7. Le Protocole MESI • M: Modified <==> Modifier • E: Exclusif <==> Exclusif • S: Shared <==> Partager • I : Invalid <==> Invalide

  8. 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.

  9. 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

  10. 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é

  11. 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

  12. L ’État Exclusif • Indique que ce cache n ’a pas eu connaissance de la possession du bloc par un autre cache

  13. 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

  14. 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

  15. L ’État Partagé • Indique que ce bloc peut être présent dans plusieurs caches.

  16. Continuons à construire notre graphe d ’état Succès en lecture Succès d ’espionnage sur écriture Succès en écriture Partagé

  17. 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

  18. L ’État Invalide • Le bloc contenu dans la cache n ’est pas correct.

  19. Continuons à construire notre graphe d ’état Échec en lecture Chargement de bloc Échec en lecture Chargement de bloc Invalide

  20. 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

  21. 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.

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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.

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. Explication du Fonctionnement du Protocole MESI Étudions le cas où le bloc de donnée L1 est en mode Modifié

  50. 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

More Related