Skip to main content

Hvad er cache -sammenhæng?

Cache -kohærens er det naturlige problem, der udvikler sig, når der er adgang til et systemdatasæt og ændres af flere agenter.Det primære område af computerarkitektur, hvor dette bliver et problem, er i multiprocessorcomputere.Hver processor i en multiprocessorcomputer har sin egen cache, der indlæser og gemmer information fra Random Access Memory (RAM).Når to processorer får adgang til det samme hukommelsesområde, ville cache -kohærens gå tabt, hvis der ikke blev taget visse forholdsregler.

Uden cache -kohærens ville et multiprocessor -system ikke være i stand til at fungere.Der er flere metoder, der er udviklet for at tackle dette problem og undgå potentielle problemer.Katalogbaseret kohærens, snooping og snarfing er tre metoder, der bruges til at forhindre tab af cache-kohærens.

Directory-baseret kohærens fungerer som et filter for at sikre sammenhæng.Data placeres inden for en del af hukommelsen, der er tilgængelig for alle processorer.Når de oplysninger, der er gemt inden for dette hukommelsesområde, ændres, opdaterer systemet enten cache eller ugyldiggør dem.

Snooping kræver, at processoren overvåger alle adgangerne til de hukommelsessteder, der er blevet cache.Dette gør det muligt for processoren at vide, hvornår der er opstået en skriveoperation.Ved at vide, hvornår en skriveoperation opstår, kan processoren opdatere sin cache.

Snarfing ligner ret snooping.Snarfing involverer ikke kun overvågning af adgangen til hukommelsessteder, der er blevet cache, men også overvåget de faktiske oplysninger, der er gemt i hukommelsen.Når der opstår en hukommelsesskrivning, kan cachen opdateres med de nye oplysninger.

Directory-baserede kohærenssystemer har en relativt høj latenstid, hvilket resulterer i langsommere behandling.Krav til lavere båndbredde gør det muligt at praktiske, at biblioteksbaserede kohærenssystemer er praktiske i storskala-anvendelser af cache-kohærens.Jo flere processorer, som et system bruger,, jo flere fordele kan det have ved at bruge et katalogbaseret kohærenssystem.

Snooping er en meget hurtigere metode.Denne metode kræver mere båndbredde end den katalogbaserede tilgang.Denne metode kan bruges effektivt i systemer, der har relativt få processorer.

Snarfing bruges normalt ikke som en metode til at opretholde cache -kohærens.Dette skyldes primært, at SNARFING kræver, at flere ressourcer skal bruges sammenlignet med både snooping og katalogbaserede metoder.For at et snarfing -system skal fungere, skal det holde styr på både hukommelsesadresser og de data, der er gemt i disse hukommelsesområder.Mængden af båndbredde og behandling, der optages ved denne metode, gør det uønsket til de fleste anvendelser af at opretholde cache -kohærens.