« Fonctionnement d'un ordinateur/Architectures multiprocesseurs et multicœurs » : différence entre les versions

m
===Les protocoles à état Exclusif===
 
[[File:Diagrama MESI.GIF|centre|vignette|upright=2|Diagramme du protocole MESI. Les abréviations PrRd et PrWr correspondent à des accès mémoire initiés par le processeur associé au cache, respectivement aux lectures et écritures. Les abréviations BusRd et BusRdx et Flush correspondent aux lectures, lectures exclusives ou écritures initiées par d'autres processeurs sur la ligne de cache.]]
Le protocole MSI n'est pas parfait. Si un seul cache possède une donnée, on aura prévenu les autres caches pour rien en cas d'écriture. Et les communications sur le bus ne sont pas gratuites. Pour régler ce problème, on peut scindr l'état Shared en deux états : Exclusive si les autres processeurs ne possèdent pas de copie de la donnée, Shared sinon. Grâce à cette distinction, on peut éviter l'envoi de messages aux autres caches pour la modification d'une donnée en état Exclusive : on sait que les autres caches ne possèdent pas de copie de la donnée. Le '''protocole MESI''' ainsi créé est identique au protocole MSI, avec quelques ajouts. Par exemple, si une donnée est chargée depuis la mémoire pour la première fois dans un cache, elle passe soit en Exclusive (les autres caches ne contenaient pas la donnée), soit en Shared (les autres caches en possèdent une copie). Une donnée marquée Exclusive peut devenir Shared si la donnée est chargée dans le cache d'un autre processeur.
 
Le protocole MSI n'est pas parfait. Si un seul cache possède une donnée, on aura prévenu les autres caches pour rien en cas d'écriture. Et les communications sur le bus ne sont pas gratuites. Pour régler ce problème, on peut scindr l'état Shared en deux états : Exclusive si les autres processeurs ne possèdent pas de copie de la donnée, Shared sinon. Grâce à cette distinction, on peut éviter l'envoi de messages aux autres caches pour la modification d'une donnée en état Exclusive : on sait que les autres caches ne possèdent pas de copie de la donnée. Le '''protocole MESI''' ainsi créé est identique au protocole MSI, avec quelques ajouts. Par exemple, si une donnée est chargée depuis la mémoire pour la première fois dans un cache, elle passe soit en Exclusive (les autres caches ne contenaient pas la donnée), soit en Shared (les autres caches en possèdent une copie). Une donnée marquée Exclusive peut devenir Shared si la donnée est chargée dans le cache d'un autre processeur.
[[File:Diagrama MESI.GIF|centre|vignette|upright=2|Diagramme du protocole MESI. Les abréviations PrRd et PrWr correspondent à des accès mémoire initiés par le processeur associé au cache, respectivement aux lectures et écritures. Les abréviations BusRd et BusRdx et Flush correspondent aux lectures, lectures exclusives ou écritures initiées par d'autres processeurs sur la ligne de cache.]]
 
[[File:MESI State Transaction Diagram.svg|centre|vignette|upright=2|Autre description du protocole MESI.]]
39 538

modifications