Hva er cache sammenheng?
Cache -sammenheng er det naturlige problemet som utvikler seg når et systems datasett 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 jegS Lagret innenfor det minnområdet endres, systemet vil enten oppdatere hurtigbuffer eller ugyldiggjøre dem.
Snooping krever at prosessoren overvåker alle tilgangene til minneplasseringene som er blitt 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 ligner ganske på snooping. 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. MORE-prosessorer som 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 kan brukes effektivt i systemer som har relativt få prosessorer.
Snarfing brukes vanligvis ikke som en metode for å opprettholde cache -sammenheng. 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 ved denne metoden gjør den uønsket for de fleste anvendelser for å opprettholde cache -sammenheng.