MOESI

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2016. február 20-án áttekintett verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

A MOESI egy mikroprocesszor gyorsítótár - koherenciát támogató protokoll , amely magában foglalja a többi protokollban használt összes lehetséges állapotot. Az általánosan használt MESI protokoll állapotai mellé egy ötödik "Owned" állapot került hozzáadásra, ami azt jelenti, hogy az adatok módosítva és megosztottak ( módosítva és megosztottak ). Ezzel elkerülhető, hogy a módosított adatokat visszaírják a fő memóriába, mielőtt a rendszer többi processzora elolvashatná azokat. Az adatokat még a memóriába kell írni, de ezzel a protokollal ez a visszaírás késleltethető.

AMD Opteron mikroprocesszorok használják.

Az AMD64 Architecture Programmer's Manual 2. kötet 'Rendszerprogramozás' [1] szerint minden gyorsítótár sora az alábbi öt állapot valamelyikében van:

Módosított A módosított állapotú gyorsítótár sor a legfrissebb, helyes adatokat tartalmazza. A fő memóriában lévő adatok másolata elavult és érvénytelen, és egyetlen más processzor sem rendelkezik másolattal az adatokról. A gyorsítótár sorban lévő adatok kérés vagy állapotváltozás nélkül újra módosíthatók. Az állapot Kizáróra változhat, amikor a megváltozott adatok a fő memóriába kerülnek. Tulajdonos A tulajdonolt állapotban lévő gyorsítótár sor a legfrissebb, helyes adatokat tartalmazza. A Saját állapot hasonló a Megosztott állapothoz , mivel a többi processzornak másolata lehet a legfrissebb és leghelyesebb adatokról. A megosztott állapottól eltérően azonban előfordulhat, hogy a fő memóriában lévő másolat elavult és hibás. Csak az egyik processzornak lehet ez a gyorsítótár sora Saját állapotban , a többi processzor csak megosztott állapotban . A gyorsítótár sor átválthat Módosított állapotba , miután a többi processzorban lévő összes megosztott másolat aktualitását (kényszerített áttérés az Érvénytelen állapotba ) eltávolították, vagy Megosztott állapotba , amikor a módosított adatokat a fő memóriába írják. Kizárólagos A kizárólagos állapotú gyorsítótár sor a legfrissebb, helyes adatokat tartalmazza. A főmemóriában lévő másolat az adatok legfrissebb, helyes másolatát is tartalmazza. Más processzornak nincs másolata az adatokról a gyorsítótárában. Az állapot bármikor módosulhat Módosítva a gyorsítótár-sor tartalmának módosításához. Ezenkívül az állapot bármikor Érvénytelenre változhat . Megosztva A megosztott állapotban lévő gyorsítótár sor a legfrissebb, helyes adatokat tartalmazza. A rendszer többi processzora rendelkezhet az adatok másolataival megosztott állapotban. A főmemóriában lévő másolat az adatok legfrissebb, helyes másolatát is tartalmazza, ha más processzor nem rendelkezik ezzel a gyorsítótárral a tulajdonolt állapotban. A gyorsítótár ebbe a sorába tilos írni, és kizárólagos állapotba kell állítani, míg az összes többi megosztott másolat Érvénytelen állapotba van állítva . Ezenkívül az állapot bármikor Érvénytelenre változhat . Nem releváns (érvénytelen) A megosztott gyorsítótár sor nem tartalmaz érvényes adatokat. Az adatok megfelelő másolatai lehetnek a fő memóriában vagy egy másik processzor gyorsítótárában.

Bármely gyorsítótár-pár esetén egy adott gyorsítótár sor következő állapotai megengedettek:

 M   O   E   S   én 
 M  ❌N ❌N ❌N ❌N zöld ✓Y
 O  ❌N ❌N ❌N zöld ✓Y zöld ✓Y
 E  ❌N ❌N ❌N ❌N zöld ✓Y
 S  ❌N zöld ✓Y ❌N zöld ✓Y zöld ✓Y
 én  zöld ✓Y zöld ✓Y zöld ✓Y zöld ✓Y zöld ✓Y

Ez a protokoll az egyszerűbb MESI-protokoll szövődményeként elkerüli, hogy a gyorsítótár-sorok változásait a fő memóriába írják, hogy egy másik processzor elolvashassa azokat. A birtokolt állapot lehetővé teszi a processzor számára, hogy a módosított adatokat közvetlenül egy másik processzorhoz továbbítsa.

Ha egy processzor egy saját gyorsítótár-sorba szeretne írni, értesítenie kell a többi processzort, amely megosztja az adott gyorsítótár-sort. Megvalósítástól függően vagy kérhető az összes megosztott másolat Érvénytelen állapotba állítása (és a másolatának a módosított állapotba való átvitele), vagy kérhető a másolatok frissítése új adatokkal (a saját példány Saját állapotban marad).

Lásd még

Jegyzetek

  1. AMD64 architektúra programozói kézikönyv, 2. kötet, „Rendszerprogramozás” . Letöltve: 2010. november 29. Az eredetiből archiválva : 2011. október 11..