Skip to main content

Hva er cache sammenheng?

Cache -sammenheng er det naturlige problemet som utvikler seg når et systemdatasett får tilgang til og endres av flere agenter.Det primære området med datamaskinarkitektur der dette blir et problem er i multiprosessorater.Hver prosessor i en multiprocessor -datamaskin har sin egen hurtigbuffer som laster og lagrer informasjon fra Random Access Memory (RAM).Når to prosessorer får tilgang til det samme minneområdet, ville cache -koherens gå tapt hvis visse forholdsregler ikke ble tatt.

Uten cache -koherens, ville et multiprosessorsystem ikke være i stand til å fungere.Det er flere metoder som er utviklet for å løse dette problemet og unngå potensielle problemer.Katalogbasert sammenheng, snooping og snarfing er tre metoder som brukes for å forhindre tap av cache-sammenheng.

Katalogbasert sammenheng fungerer som et filter for å sikre sammenheng.Data plasseres i en del av minnet som er tilgjengelig for alle prosessorene.Når informasjonen som er lagret innenfor det minnet endres, vil systemet enten oppdatere hurtigbuffer eller ugyldiggjøre dem.

Snooping krever at prosessoren overvåker alle tilgangene til minneplasseringene som er bufret.Dette gjør at prosessoren kan vite når en skriveoperasjon har skjedd.Ved å vite når en skriveoperasjon oppstår, kan prosessoren oppdatere hurtigbufferen.

Snarfing innebærer ikke bare å overvåke tilgangene til minneplasser som er hurtigbufret, men som også overvåker den faktiske informasjonen som er lagret i minnet.Når et minneskriving skjer, kan hurtigbufferen oppdateres med den nye informasjonen. Katalogbaserte sammenhengssystemer har en relativt høy latens, noe som resulterer i tregere behandling.Lavere båndbreddekrav gjør det mulig for katalogbaserte sammenhengssystemer å være praktiske i storskala applikasjoner av cache-sammenheng.Jo flere prosessorer et system bruker, jo mer fordeler kan det ha ved å bruke et katalogbasert sammenhengssystem. Snooping er en mye raskere metode.Denne metoden krever mer båndbredde enn den katalogbaserte tilnærmingen.Denne metoden er i stand til å brukes effektivt i systemer som har relativt få prosessorer. SNARFING brukes vanligvis ikke som en metode for å opprettholde cache -koherens.Dette er først og fremst fordi Snarfing krever mer ressurser som skal brukes sammenlignet med både snooping og katalogbaserte metoder.For at et Snarfing -system skal fungere, må det følge med på både minneadressene og dataene som er lagret i disse områdene med minne.Mengden båndbredde og prosessering som tas opp med denne metoden gjør den uønsket for de fleste anvendelser for å opprettholde cache -sammenheng.