AMD 760MP & Athlon MP
Publié le 18/07/2001 par Marc Prieur et Samuel Aurensan


Prenons deux microprocesseurs P1 et P2, chacun disposant de sa propre mémoire cache. Si le processeur P1 modifie une zone mémoire, les informations seront d’abord écrites dans sa mémoire cache. Du coup, si P2 accède aux informations stockées dans la dite zone mémoire avant que P1 ai bien voulu vider son cache, il se retrouvera avec les anciennes données, qui seront donc incorrectes.
Ce problème de cohérence des caches est solvable via l’utilisation d’une autre technique d’écriture, le Write through. Cette fois, le processeur P1 écrira directement la nouvelle donnée dans la mémoire vive. Dans le même temps, P2 sera averti de cette écriture. Du coup, si P2 avait déjà caché cette zone mémoire, il pourra invalider ou updater la valeur stockée dans son cache.
D’autres protocoles plus sophistiqués existent, tels que le MESI utilisé par Intel. Ces protocoles permettent à P1 et P2 de définir pour chacune des informations en cache un état : Modified , Exclusive, Shared ou Invalid. Pour chaque état, on peut savoir si les informations sont à jour ou non dans le cache de P1, le cache de P2 ou la mémoire :
Etat Modified pour P1 : P1 Oui, P2 Non, Mémoire Non.
Etat Exclusive pour P1 : P1 Oui, P2 Non, Mémoire Oui.
Etat Shared pour P1 : P1 Oui, P2 Oui, Mémoire Oui.
Etat Invalid pour P1 : P1 Non, P2 Oui, Mémoire Non.
Prenons un exemple d’utilisation de ces états. Si une zone mémoire est en cache dans P1 mais pas dans P2, elle sera indiquée en tant que Exclusive chez P1. Si P2 décide de cacher cette zone mémoire, on passera en mode Shared dans P1 et P2. Si P1 décide ensuite de changer la valeur correspondant à cette zone mémoire, il en avertira P2. Chez P2, cette ligne de cache passera en Invalid, alors qu’elle passera en Modified chez P1.
Le mode MESI permet d’économiser de nombreux échanges de données. Par exemple, si l’on est en mode Exclusive on sait qu’il est inutile d’avertir l’autre processeur d’une modification de la donnée étant donné qu’il ne l’a pas en cache. De même, on est pas obligé d’écrire de suite la nouvelle valeur en mémoire vive lorsque P2 passe en Invalid et P1 en Modified.
En fait, le seul problème du MESI, c’est que si P2 veut avoir la nouvelle valeur, il devra attendre que P1 écrive l’écrive en mémoire vive. On passera donc de nouveau en Exclusive pour P1, puis en Shared pour P1 et P2. Pour contourner ce problème, AMD utilise donc le protocole MOESI, qui intègre un cinquième état : Owner (Etat Owner pour P1 : P1 Oui, P2 Oui, Mémoire Non). Avec le MOESI, P1 enverra directement la nouvelle valeur à P2, sans passer par la mémoire vive. On passera donc en Owner chez P1 et en Shared chez P2.
Par rapport au MESI, le MOESI permet donc une économie substantielle en terme de bande passante mémoire.


Sommaire
1 - Introduction
2 - L\'Athlon MP
3 - L\'Athlon MP, suite
4 - L\'AMD-760 MP
5 - Le test
6 - Winstone 99, Photoshop
2 - L\'Athlon MP
3 - L\'Athlon MP, suite
4 - L\'AMD-760 MP
5 - Le test
6 - Winstone 99, Photoshop
Vos réactions
Contenus relatifs
- [+] 15/01: NZXT lance une… carte mère ! (MAJ)
- [+] 20/11: Intel 100% UEFI 0% BIOS d'ici 2020
- [+] 26/10: La norme PCI Express 4.0 finalisée
- [+] 18/10: Le Z270 aurait pu supporter Coffee ...
- [+] 09/10: Coffee Lake : avalanche de cartes m...
- [+] 04/10: ASUS se lance dans le mini-ITX AM4
- [+] 04/10: Le RAID NVMe disponible sur X399 en...
- [+] 02/10: La spécification de l'USB 3.2 a été...
- [+] 19/09: Z370 incompatible avec les Core de ...
- [+] 23/08: 19 slots PCIe sur une carte ASUS !