Podręcznik

1. Pamięci ROM

1.7. Protokół MESI

Do zapewnienia spójności wielopoziomowej pamięci podręcznej może być użyty protokół MESI. Istnieje wiele jego odmian. W najprostszej postaci wyróżniamy cztery stany linii pamięci:

  • nieważna (I – Invalid),
  • wspólna (S – Shared),
  • wyłączna (E – Exclusive),
  • zmodyfikowana (M – Modified).

Stany te są zapamiętywane w bitach statusu pamięci podręcznej. Ustawienie stanu na I (nieważny) oznacza, że linia pamięci podręcznej jest niewykorzystywana, może być użyta do zapisu danych. W momencie kiedy dane zostają wpisane po raz pierwszy do pamięci podręcznej otrzymują status E (wyłączny). Oznacza to, że dana jest ważna i nie występuje jej kopia w innej pamięci podręcznej (np. związanej z innym rdzeniem). Kopia w RAM jest aktualna. Kiedy taka dana jest powielona do innej pamięci podręcznej otrzymuje status S (wspólny). Oznacza to, że istnieją kopie tej danej w innych pamięciach podręcznych i RAM, wszystkie kopie są ważne. Kiedy dana jest zmodyfikowane otrzymuje status M (zmodyfikowany). W tym wypadku inne jej kopie w pamięci podręcznej tracą ważność, również dana w pamięci RAM jest nieaktualna. Poszczególne stany protokołu MESI są przedstawione w tabeli 1.

 

 

Tabela 1. Stany MESI

 

M

zmodyfikowany

E

wyłączny

S

wspólny

I

nieważny

Czy linia pamięci podręcznej jest ważna?

Tak

Tak

Tak

Nie

Kopia pamięci jest …

nieaktualna

ważna

ważna

-

Czy istnieją kopie w innych pamięciach podręcznych?

Nie

Nie

Być może

Być może

 

obrazów coraz częściej używanych w procesie rozpoznawania obiektów.