Kaj je skladnost spomina?

Skladnost pomnilnika je težava, ki se pojavi v računalniku, ko procesor poskuša pogledati pomnilniški sektor. Ta težava se pojavlja samo pri večjedrnih sistemih ali računalnikih, ki imajo več kot eno centralno procesno enoto (CPE). Ko več procesorjev pogleda isti sektor pomnilnika in eden posodobi sektor, lahko drugi ostane s staro različico računalniškega pomnilnika. Za odpravo te težave se uporabljajo pravila doslednosti, ki zagotavljajo, da procesorji bodisi ne dostopajo do istega pomnilnika bodisi da so posodobitve med njimi skladne. Obstaja več različnih modelov doslednosti, zato morajo programerji in računalniški razvijalci poznati natančen uporabljen model.

Težava s skladnostjo pomnilnika je tista, ki se pojavi samo v računalnikih, ki uporabljajo vsaj dva CPE-ja zaradi načina dostopa do pomnilnika. Ko en CPU dostopa do pomnilniškega sektorja, je sposoben vzeti, uporabiti in spremeniti pomnilnik brez kakršnega koli konflikta, ker ni drugih kosov strojne opreme, ki tekmujejo za pomnilnik. Če se uporabljata dva CPE-ja, lahko oba CPE-ja zgrabita isti pomnilniški sektor. Čeprav ni težav z dvema CPE-jema, ki si delita pomnilnik, se težava pojavi, če en CPE posodobi pomnilnik. Tako ostane drugi CPE z zastarelim pomnilnikom, ki lahko povzroči, da ima celoten računalnik dve ločeni in nasprotujoči si različici računalniškega pomnilnika, če ga ne označite.

Obstajajo programske sheme, izdelane posebej za popravljanje skladnosti pomnilnika, kar je lahko velika težava. Skupaj so znana kot pravila skladnosti pomnilnika in obstaja veliko različic. Na splošno vsaka različica pove več CPE-jem, kako pravilno deliti računalniški pomnilnik, ne da bi povzročila težave s skladnostjo pomnilnika. To lahko storite tako, da posodobite obe različici pomnilnika, ko se spremeni ena različica, ali tako, da CPE-jem preprečite dostop do istega pomnilnika hkrati.

Medtem ko uporaba pravil doslednosti pomaga preprečiti problem skladnosti pomnilnika, iz tega izhaja še ena težava. Vsak nabor skladnosti ima različno programiranje in različna pravila, zato bodo morali programerji, ki izdelujejo programe ali pišejo kodo, ki se ukvarja neposredno s CPE, prilagoditi kodiranje natančnim pravilom doslednosti. Če ne, potem lahko to preglasi doslednost ali povzroči velik konflikt med programerjevim kodiranjem in pravili doslednosti in računalnik lahko preneha delovati.