Co oznacza mesi?
Skrót „MESI” oznacza Modified-Exclusive-Shared-Invalid, który jest protokołem spójności pamięci podręcznej używanym w systemach wieloprocesorowych w celu utrzymania spójności wielu kopii tych samych danych w różnych pamięciach podręcznych. Oto wyjaśnienie, co reprezentuje każdy z tych stanów:
1. Zmodyfikowany (M):
- Wiersz pamięci podręcznej jest w stanie Zmodyfikowany, jeśli został zmodyfikowany lokalnie i zawiera najbardziej aktualną wersję danych.
- Inne pamięci podręczne, w których wcześniej znajdowały się kopie tych samych danych, zostają unieważnione, gdy linia pamięci podręcznej przejdzie w stan Zmodyfikowany.
- Stan Zmodyfikowany wskazuje wyłączną własność danych, co oznacza, że żadna inna pamięć podręczna nie ma obecnie ważnej kopii.
2. Ekskluzywne (E):
- Gdy linia pamięci podręcznej jest w stanie Exclusive, zawiera prawidłową kopię danych, ale nie została zmodyfikowana lokalnie.
- Inne pamięci podręczne mogą mieć nieprawidłowe lub udostępnione kopie tych samych danych, ale żadna inna pamięć podręczna nie ma zmodyfikowanej kopii.
3. Wspólne (S):
- Linia pamięci podręcznej jest w stanie Udostępniona, gdy wiele pamięci podręcznych zawiera prawidłowe kopie tych samych danych i żadna z nich ich nie zmodyfikowała.
- W stanie Udostępnione wszystkie kopie danych są ze sobą spójne.
4. Nieprawidłowy (I):
- Stan Nieprawidłowy wskazuje, że linia pamięci podręcznej nie zawiera prawidłowej kopii danych.
- Gdy uzyskany zostanie dostęp do linii pamięci podręcznej i okaże się, że jest ona nieprawidłowa, procesor musi pobrać ją z pamięci głównej lub innej pamięci podręcznej, która ma ważną kopię.
Protokół MESI gwarantuje, że tylko jedna pamięć podręczna zawiera w danym momencie zmodyfikowaną kopię danych, co zapobiega niespójnościom pomiędzy wieloma kopiami przechowywanymi w pamięci podręcznej. Zapewnia również, że w przypadku współdzielenia danych w wielu pamięciach podręcznych wszystkie kopie pozostają spójne dzięki określonym działaniom podejmowanym w przypadku zmiany stanu.