Co znamená mesi?
Zkratka "MESI" znamená Modified-Exclusive-Shared-Invalid, což je protokol pro koherenci mezipaměti používaný ve víceprocesorových systémech k udržení konzistence mezi více kopiemi stejných dat v různých mezipaměti. Zde je vysvětlení toho, co každý z těchto stavů představuje:
1. Upraveno (M):
- Řádek mezipaměti je ve stavu Upraveno, pokud byl lokálně upraven a obsahuje nejaktuálnější verzi dat.
- Ostatní mezipaměti, které dříve měly kopie stejných dat, jsou neplatné, když řádek mezipaměti přejde do stavu Upraveno.
- Stav Změněno označuje výhradní vlastnictví dat, což znamená, že žádná jiná mezipaměť aktuálně nemá platnou kopii.
2. Exkluzivní (E):
- Když je řádek mezipaměti ve stavu Exclusive, obsahuje platnou kopii dat, ale nebyla lokálně upravena.
- Jiné cache mohou mít neplatné nebo sdílené kopie stejných dat, ale žádná jiná cache nemá upravenou kopii.
3. Sdíleno (S):
- Řádek mezipaměti je ve stavu Sdílený, když má několik mezipamětí platné kopie stejných dat a žádná z nich je nezměnila.
- Ve stavu Shared jsou všechny kopie dat vzájemně konzistentní.
4. Neplatné (I):
- Stav Neplatný znamená, že řádek mezipaměti neobsahuje platnou kopii dat.
- Když se přistoupí k řádku mezipaměti a zjistí se, že je neplatná, procesor ji musí načíst z hlavní paměti nebo jiné mezipaměti, která má platnou kopii.
Protokol MESI zajišťuje, že pouze jedna mezipaměť má upravenou kopii dat najednou, čímž se předchází nesrovnalostem mezi více kopiemi uloženými v mezipaměti. Zajišťuje také, že když jsou data sdílena mezi více mezipamětmi, všechny kopie jsou udržovány konzistentní prostřednictvím konkrétních akcí provedených při změně stavu.