Skip to main content

Mi a memória koherenciája?

A memória koherenciája olyan probléma, amely a számítógépen jelentkezik, amikor egy processzor megpróbálja megnézni a memóriaágazatot.Ez a probléma csak többmagos rendszereken vagy olyan számítógépeken fordul elő, amelyeknél egynél több központi feldolgozó egység (CPU) van.Amikor a több processzor ugyanazt a memóriatermelést vizsgálja, és az egyik frissíti az ágazatot, a másik a számítógépes memória egy régi verziójával maradhat.A probléma megoldásához konzisztencia -szabályokat használnak annak biztosítása érdekében, hogy a processzorok vagy ne férjenek hozzá ugyanahhoz a memóriához, vagy hogy a frissítések konzisztensek legyenek közöttük.Számos különféle konzisztencia modell létezik, így a programozóknak és a számítógépes fejlesztőknek tudniuk kell a használt pontos modellt.Amikor az egyik CPU hozzáfér a memóriakágazathoz, akkor konfliktusok nélkül képes felvenni, használni és megváltoztatni a memóriát, mivel nincs más hardverdarab, amely a memóriáért versenyez.Ha két CPU -t használnak, akkor a két CPU megragadhatja ugyanazt a memóriatermelést.Noha a memória megosztó két CPU -jával nincs probléma, akkor felmerül a probléma, ha az egyik CPU frissíti a memóriát.Ez a második CPU -t elavult memóriával hagyja, hogy ha nem hagyja be a jelölést, az egész számítógépnek két különálló és egymással ellentmondó verziója lehet.Ezeket együttesen memória -konzisztencia -szabályként ismerték, és sok változat létezik.Összességében minden verzió megmondja a több CPU -nak, hogyan lehet megfelelően megosztani a számítógépes memóriát anélkül, hogy a memória koherencia problémáját okozza.Ezt úgy lehet megtenni, hogy a memória mindkét verziójának frissítésével, amikor egy verzió megváltozik, vagy azáltal, hogy a CPU -k ugyanabban az időben hozzáférnek az azonos memóriához.Minden konzisztenciakészlet eltérő programozási és eltérő szabályokkal rendelkezik, így a programozóknak, akik olyan programokat készítenek vagy kódot írnak, amelyek közvetlenül a CPU -kkal foglalkoznak, a pontos konzisztencia -szabályok kódolását kell testreszabniuk.Ha nem, akkor ez felülbírálhatja a konzisztenciát, vagy komoly konfliktust okozhat a programozó kódolása és a konzisztencia szabályai között, és a számítógép megszűnhet.