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.