Az emlékezet koherenciája

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. július 12-én felülvizsgált verziótól ; az ellenőrzések 6 szerkesztést igényelnek .

A memóriakoherencia egynél több processzort vagy magot tartalmazó számítógépes rendszerek azon tulajdonsága , amely egy  memóriaterülethez fér hozzá , ami abból áll, hogy egy mag/processzor által megváltoztatott memóriacella új értéket vesz fel más magok/processzorok számára.

Az egyprocesszoros (pontosabban egymagos ) rendszerekben a memóriát egyetlen processzorcsomópont kezeli: csak egy csomópont tud adatokat olvasni a memóriából, vagy adatokat írni a memóriába. Miután új értéket írt egy bizonyos címen elérhető memóriahelyre, az ugyanarról a helyről származó adatok beolvasása lekéri az írt értéket (még akkor is, ha a gyorsítótárazás jelen van ).

A többprocesszoros ( többmagos ) rendszerekben több processzorcsomópont működik egyszerre, és egyidejűleg (párhuzamosan) hozzáférhet egy memóriahelyhez (olvasáshoz vagy íráshoz). A csomópontok egyidejűleg tudnak egy értéket kiolvasni egy memóriahelyről, és tárolhatják az olvasott értéket a gyorsítótáraikban. Amint az egyik csomópont új értéket ír a cellába, a többi csomópont helyi memóriájában tárolt értékeket elavultként kell megjelölni. Szükség van egy mechanizmusra, amely értesíti az összes csomópontot arról, hogy a gyorsítótárukban tárolt érték elavult; egy ilyen mechanizmust memóriakoherencia protokollnak neveznek .  Ha egy rendszer ilyen protokollt használ, akkor a rendszerről azt mondják, hogy " koherens memóriája " ( eng. coherent memory ) van.  

A koherencia-mechanizmus pontos jellegét és jelentését a protokollban megvalósított konzisztencia/kohéziós modell határozza meg . Ahhoz, hogy helyes "párhuzamos" programokat írjanak, a programozóknak tisztában kell lenniük azzal, hogy a gyorsítótár konzisztenciájának/kohéziójának melyik modelljét/módszerét használják rendszereikben.

Ha a koherencia/szinkronizációs protokollt hardverben implementálják, a programozók buszszippeléssel tudják kideríteni az alkalmazott konzisztencia/kapcsolódási modellt , speciális címtár-alapú táblázatokat olvashatnak .  A koherencia protokollra példa az MSI protokoll ( eng. m odified , s hared, i nvalid ) ( eng. ) és változatai ( MESI ( eng. ), MOSI ( eng. ), MOESI , MESIF ).  

Lásd még

Irodalom

Linkek