Hvad er hukommelsessammenhæng?

Hukommelseskoherens er et problem, der opstår på en computer, når en processor forsøger at se på en hukommelsessektor. Dette problem opstår kun på multicore-systemer eller computere, der har mere end en central behandlingsenhed (CPU). Når de flere processorer ser på den samme hukommelsessektor og den ene opdaterer sektoren, kan den anden have en gammel version af computerhukommelsen. For at løse dette problem bruges konsistensregler for at sikre, at processorer enten ikke får adgang til den samme hukommelse, eller at opdateringerne er konsistente mellem dem. Der er flere forskellige konsistensmodeller, så programmerere og computerudviklere skal kende den nøjagtige model, der er brugt.

Problemet med hukommelseskoherensen er et, der kun opstår på computere, der bruger mindst to CPU'er på grund af, hvordan de får adgang til hukommelsen. Når en CPU har adgang til en hukommelsessektor, er den i stand til at tage, bruge og ændre hukommelsen uden nogen konflikt, fordi der ikke er andre hardwarestykker, der konkurrerer om hukommelsen. Hvis der bruges to CPU'er, kan de to CPU'er gribe den samme hukommelsessektor. Selvom der ikke er problemer med de to CPU'er, der deler hukommelsen, opstår der et problem, hvis en CPU opdaterer hukommelsen. Dette efterlader den anden CPU med forældet hukommelse, som, hvis den ikke er markeret, kan forårsage, at hele computeren har to separate og modstridende versioner af computerhukommelse.

Der er programmeringsskemaer, der er lavet specifikt for at rette hukommelseskoherensen, hvilket kan være et stort problem. De er samlet kendt som hukommelseskonsistensregler, og der er mange versioner. Samlet fortæller hver version de flere CPU'er, hvordan man korrekt deler computerhukommelsen uden at forårsage hukommelseskoherensproblemet. Dette kan gøres ved at opdatere begge versioner af hukommelsen, når en version ændres, eller ved at forhindre CPU'er i at få adgang til den samme hukommelse på samme tid.

Selvom brugen af ​​konsistensregler hjælper med at undgå hukommelseskohesionsproblemet, opstår et andet problem heraf. Hvert konsistenssæt har forskellige programmering og forskellige regler, så programmerere, der laver programmer eller skriver kode, der handler direkte med CPU'erne, skal skræddersy kodningen til de nøjagtige konsistensregler. Hvis ikke, kan dette enten tilsidesætte konsistensen eller forårsage en stor konflikt mellem programmørens kodning og konsistensreglerne, og computeren kan ophøre med at fungere.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?