Wat is MESI-protocol?

Coherentieprotocol dat elke cacheregel in een van vier toestanden beheert: Modified, Exclusive, Shared en Invalid. Bij schrijven worden de kopieën in andere cores ongeldig gemaakt.

Japanse benaming: MESIプロトコル

“MESI-protocol” komt voor in 4 oefenvragen uit 2 onderwerpen, bijv. Multicore en synchronisatie, CPU en architectuur.

Toestandsovergangen van het MESI-protocol Schrijft zelf Ander schrijft Ander schrijft Leest zelf (ook elders) Ander schrijft Leest zelf (nergens anders) Schrijft zelf (rest ongeldig) Ander leest (write-back) Schrijft zelf (stil) Ander leest M I S E Toegang door eigen kern Toegang andere kern (snoop) M: gewijzigd, exclusief E: intact, exclusief S: intact, gedeeld I: ongeldig
Toestandsovergangen van het MESI-protocol · Bekijken in het figurenoverzicht

Vakgebied: Multicore en synchronisatie

Nu oefenen: vragen over MESI-protocol

Wat betekent het wanneer een cacheregel in het MESI-protocol in de toestand Modified (M) staat?

  1. AAlleen deze core heeft de regel en de inhoud verschilt van het hoofdgeheugen (terugschrijven is nodig)
  2. BMeerdere cores hebben dezelfde inhoud en deze komt overeen met het hoofdgeheugen
  3. CDe inhoud van deze regel is onbruikbaar en moet om te lezen opnieuw worden opgehaald
Antwoord en toelichting tonen

Antwoord: A. Alleen deze core heeft de regel en de inhoud verschilt van het hoofdgeheugen (terugschrijven is nodig)

De M-toestand is de toestand waarin deze core heeft geschreven en alleen hij de nieuwste waarde heeft. De waarde in het hoofdgeheugen is verouderd, dus bij verdringing van deze regel of wanneer een andere core wil lezen moet de nieuwste waarde worden teruggeschreven of rechtstreeks doorgegeven. Naar een regel in de M-toestand kan zonder de andere cores te informeren steeds opnieuw worden geschreven, dus opeenvolgende schrijfacties van dezelfde core worden snel afgehandeld.

Wat gebeurt er in het MESI-protocol wanneer die core naar een regel in de toestand Exclusive (E) schrijft?

  1. AEerst wordt een ongeldigverklaringsverzoek naar alle andere cores gestuurd, daarna wordt geschreven
  2. BSchrijven is niet mogelijk, dus er wordt eerst naar het hoofdgeheugen geschreven en dan opnieuw gelezen
  3. CAndere cores hoeven niet te worden geïnformeerd en de regel gaat direct over naar de M-toestand
Antwoord en toelichting tonen

Antwoord: C. Andere cores hoeven niet te worden geïnformeerd en de regel gaat direct over naar de M-toestand

De E-toestand is de toestand waarin alleen deze core de regel heeft en de inhoud gelijk is aan het hoofdgeheugen. Omdat bekend is dat andere cores geen kopie hebben, kan bij schrijven zonder ongeldigverklaringsbericht naar de M-toestand worden overgegaan. Het voordeel van de E-toestand is dat bij het veelvoorkomende patroon waarbij gegevens die maar door één core worden gebruikt worden gelezen en dan geschreven, communicatie wordt bespaard. Bij schrijven vanuit de S-toestand moeten de andere kopieën wel ongeldig worden gemaakt.

“MESI-protocol” in de toelichting

Vragen met “MESI-protocol” (4)

  1. Wat betekent het wanneer een cacheregel in het MESI-protocol in de toestand Modified (M) staat?
  2. Wat gebeurt er in het MESI-protocol wanneer die core naar een regel in de toestand Exclusive (E) schrijft?
  3. Wat is het gangbare gedrag in het MESI-protocol wanneer core 1 een regel wil lezen die core 0 in de toestand Modified (M) heeft?
  4. Welk mechanisme houdt in een multicore-CPU de inhoud consistent wanneer de caches van de kernen gegevens van hetzelfde adres bevatten?

Verwante termen

Cacheregel (cache line) Via ABA-probleem Acquire-release Atomaire instructie Barrièresynchronisatie Compare-and-swap Conditievariabele Data race Deadlock

Naar de woordenlijst