Hva er Memory Coherence?

May 21  by Eliza

Minne koherens er et problem som forekommer i en datamaskin når en prosessor forsøk for å se på en minnesektor. Dette problemet oppstår bare på flerkjernesystemer, eller datamaskiner som har mer enn én prosessorenhet (CPU). Når flere prosessorer ser på den samme minne sektor og ett oppdaterer sektoren, kan den andre bli sittende igjen med en gammel versjon av datamaskinens minne. For å fikse dette problemet, er konsistens regler brukes for å sikre prosessorene heller ikke tilgang til samme minne eller at oppdateringene er konsistente mellom dem. Det finnes flere forskjellige konsistens modeller, så programmerere og datautviklere må vite den nøyaktige modellen som brukes.

Minne sammenheng problem er en som bare oppstår på datamaskiner som bruker minst to CPUer på grunn av hvordan de tilgang til minnet. Når en CPU leser et minne sektor, er det i stand til å ta, bruke og endre minnet uten konflikt, fordi det ikke finnes andre maskinvare stykker som konkurrerer om hukommelse. Hvis to CPUer blir brukt, da de to CPUer kan ta tak i samme minnesektoren. Mens det ikke er noen problemer med de to CPU-er som deler minnet, betyr et problem oppstår hvis en CPU oppdaterer minnet. Dette gjør at andre CPU med utdatert minne som, hvis venstre ukontrollert, kan føre til at hele datamaskinen til å ha to separate og motstridende versjoner av datamaskinens minne.

Det er programmering skjemaer laget spesielt for å korrigere minne sammenheng, som kan være et stort problem. De er kjent under fellesbetegnelsen minne konsistens regler, og det er mange versjoner. Samlet, hver versjon forteller flere prosessorer hvordan du skal dele datamaskinens minne uten å forårsake minne sammenheng problem. Dette kan gjøres ved å oppdatere begge versjoner av minnet når en versjon blir endret, eller ved å holde CPU-ene skal få tilgang til samme minne samtidig.

Mens du bruker konsistens regler bidrar til å unngå minne sammenheng problem, oppstår et annet problem fra dette. Hver konsistens sett har forskjellig programmering og ulike regler, så programmerere som foretar programmer eller skrive kode som avtale direkte med CPUer blir nødt til å tilpasse kodingen for nøyaktig konsistens regler. Hvis ikke, så dette kan enten overstyre konsistens eller forårsake en stor konflikt mellom programmerâ € ™ s koding og konsistensregler, og datamaskinen kan slutte å fungere.