Gyorsítótár koherenciája

A gyorsítótár koherenciája a gyorsítótárak tulajdonsága , ami a  helyi gyorsítótárban tárolt adatok integritását jelenti egy megosztott erőforráshoz. A gyorsítótár koherenciája a memóriakoherencia speciális esete .

Amikor a rendszerben lévő folyamatok gyorsítótárat használnak a megosztott erőforrásokhoz, például a memóriához, adatkonzisztencia-problémák léphetnek fel. Ez különösen igaz a többprocesszoros rendszerek processzoraira . A gyorsítótár-koherenciát úgy tervezték, hogy kezelje az ilyen ütközéseket azáltal, hogy fenntartja az adatok konzisztenciáját a különböző gyorsítótárak között.

A koherencia határozza meg az olvasás és írás viselkedését ugyanarra a memóriahelyre. A gyorsítótárat koherensnek nevezzük, ha a következő feltételek teljesülnek [1] :

Ilyen körülmények között az olvasási és írási műveleteket azonnalinak kell tekinteni. Ez azonban a gyakorlatban nem történik meg a memóriakésések és egyéb építészeti jellemzők miatt. Előfordulhat , hogy a processzor által végrehajtott változtatások nem láthatók a processzor számára , ha az olvasás nagyon röviddel az írás után történik. A memória konzisztencia modellje meghatározza, hogy egy írott érték mikor lesz látható egy másik szálból olvasva.

A gyorsítótár koherenciájának mechanizmusai

A gyorsítótár koherenciájának biztosításának három fő mechanizmusa a címtár ( könyvtár ), a követés ( snooping ) és az elfogás ( snarfing ) használata.

A könyvtár használatakor a fizikai memóriablokk állapotára vonatkozó információ csak egy helyen, az úgynevezett könyvtárban található (ebben az esetben a könyvtár fizikailag elosztható a rendszercsomópontok között).

A nyomkövetési mechanizmusban minden gyorsítótár, amely a fizikai memória valamely blokkjának adatainak másolatát tartalmazza, rendelkezik az állapotáról szóló szolgáltatási információ megfelelő másolatával is. Nincs központosított nyilvántartási rendszer. A gyorsítótárak általában egy megosztott (megosztott) buszon helyezkednek el, és az összes gyorsítótár vezérlője figyeli (átnézi) a buszt, hogy megállapítsa, tartalmaznak-e másolatot a megfelelő blokkról.

Az elfogás alkalmazásakor, amikor az egyik gyorsítótárból adatokat írnak a RAM-ba, a többiek vezérlői jelet kapnak erről a változásról („elfogják” az adatváltozásról szóló információkat), és szükség esetén módosítják a megfelelő adatokat a gyorsítótárukban.

Az elosztott megosztott memóriarendszerek [ hasonló mechanizmusokat használnak a memóriablokkok közötti konzisztencia fenntartására lazán csatolt rendszerekben.

Protokollok a koherencia fenntartásához

A koherencia protokollok felelősek az adatok helyességének megőrzéséért az elosztott megosztott memóriarendszerben lévő összes gyorsítótár között. A protokoll fenntartja a memóriakoherenciát a választott koherencia modellnek megfelelően . A processzorok legtöbb hardveres protokollja (beleértve azokat is, amelyek gyorsítótár-koherens, nem egységes memória-hozzáférést biztosítanak ) megfelel a szekvenciális konzisztencia modellnek , és a szoftveres elosztott memóriarendszerek szoftverprotokolljai gyakrabban valósítják meg a kimeneti konzisztencia ( angol  kiadási konzisztencia ) vagy a gyenge konzisztencia ( angol ) modelljeit.  gyenge konzisztencia ).

A gyorsítótár koherenciáját támogató fő modellek és protokollok a következők:

Jegyzetek

  1. Yan, Solihin. A párhuzamos többmagos architektúra alapjai  (neopr.) .
  2. 1 2 [1] Archiválva : 2010. július 3. a Wayback Machine Multi Processors-nál, azok memóriaszervezetei és az Intel és AMD implementációi
  3. A gyorsítótár-memória alapelvei – Sor állapotjelzők . Hozzáférés dátuma: 2009. október 15. Az eredetiből archiválva : 2009. január 25.
  4. StackPath . Letöltve: 2019. március 12. Az eredetiből archiválva : 2019. február 16.
  5. Hogyan felel meg az AMBA CCIX és a GenZ az adatközpont igényeinek - Processors blog - Processors - Arm Community . Letöltve: 2019. március 12. Az eredetiből archiválva : 2019. december 12.
  6. GitHub – westerndigitalcorporation/omnixtend: Nyílt szabványú gyorsítótár koherens szövetinterfész tárháza . Letöltve: 2019. március 12. Az eredetiből archiválva : 2020. augusztus 26.
  7. Archivált másolat (a hivatkozás nem elérhető) . Letöltve: 2019. március 12. Az eredetiből archiválva : 2019. február 22. 
  8. A Google, a SiFive és a WD Form Alliance a nyitott chipek és SoC-k fejlesztésére . Letöltve: 2019. március 12. Az eredetiből archiválva : 2019. március 14.
  9. A Western Digital bemutatja a SweRV RISC-V Core, gyorsítótár-koherencia Ethernet-en keresztüli kezdeményezését . Letöltve: 2019. március 12. Az eredetiből archiválva : 2019. április 25.

Irodalom