I databehandling er en hurtigbuffer , hurtigbuffer [ 1 ] eller buffer [ 2 ] en maskinvare- eller programvarekomponent som lagrer data slik at fremtidige forespørsler om disse dataene kan leveres raskere; dataene som er lagret i en hurtigbuffer kan være et resultat av en tidligere beregning eller duplisering av data lagret andre steder, noe som generelt gir raskere tilgangshastighet. Et cache-treff oppstår når de forespurte dataene kan bli funnet i cachen, mens en cache mangleroppstår når det ikke finnes slike data. Å lese fra hurtigbufferen er raskere enn å beregne et resultat på nytt eller lese fra et tregere datalager; Derfor, jo flere forespørsler som kan leveres fra hurtigbufferen, desto raskere vil systemet utføre.
En minnebuffer refererer til hurtigtilgangsminnet til en sentral prosesseringsenhet (CPU), som midlertidig lagrer nylig behandlet data (informasjon). [ 3 ]
Cache-minne er en spesiell minnebuffer på datamaskiner som fungerer på samme måte som hovedminnet , men er mindre i størrelse og raskere å få tilgang til. Det oppsto da minnene ikke lenger klarte å holde tritt med prosessorens hastighet, så det kan sies at det er et hjelpeminne, som har stor hastighet og effektivitet, og tjener til at mikroprosessoren reduserer tilgangstiden til data ligger i hovedminnet som brukes oftest. [ referanse nødvendig ]
Cache er minne som sitter mellom den sentrale prosessorenheten ( CPU ) og random access memory ( RAM ) for å øke hastigheten på datautvekslingen. [ referanse nødvendig ]
Når data først åpnes, lages en kopi i hurtigbufferen; følgende tilganger gjøres til nevnte kopi, noe som reduserer den gjennomsnittlige tilgangstiden til dataene. Når mikroprosessoren trenger å lese eller skrive til en plassering i hovedminnet, sjekker den først om en kopi av dataene er i hurtigbufferen; i så fall leser eller skriver mikroprosessoren umiddelbart til hurtigbufferen, noe som er mye raskere enn å lese eller skrive til hovedminnet. [ 4 ]
På samme måte er den myke cachen en minneplass som inneholder data som er beregnet eller kopiert fra et tregere område. Et vanlig eksempel er å snakke om nettleserbufferen. Denne diskplassen inneholder midlertidig informasjon lastet ned fra Internett eller internt nettverk som, på grunn av systemets natur, alltid vil ha en lavere hastighet enn den fysiske disken på maskinen. [ referanse nødvendig ]
Ordet kommer fra engelsk cache ("hemmelig gjemmested for å lagre varer, vanligvis smuglergods"), og dette igjen fra den franske cache , ("skjult eller skjult"). Ofte, på spansk, er det skrevet med en tilde over «e», på samme måte som neologismen « cache » («utmerkelse eller eleganse» eller «sitat av en kunstner») tidligere ble skrevet, også fra fransk, men ikke fra samme ord, men fra cachet ("sel eller lønn"). [ referanse nødvendig ]
Royal Spanish Academy , i sin Dictionary of the Spanish language , gjenkjenner bare ordet med en aksent, [ 3 ] selv om det er i spesialisert litteratur om dataarkitektur (for eksempel oversettelser av bøker av Andrew S. Tanenbaum , John L. Hennessy og David A. Patterson ) ordet brukes alltid uten aksent, da det er angelsaksisk, og må derfor skrives i kursiv ( cache ). [ referanse nødvendig ]
Det er et iboende forhold mellom størrelse og hastighet; siden en større ressurs innebærer større fysiske avstander, men også en avveining mellom dyre teknologier (som SRAM ) kontra billigere, lett masseproduserte produkter (som DRAM eller harddisker ). [ referanse nødvendig ]
Bufringen som tilbys av en hurtigbuffer drar nytte av både båndbredde og ventetid: [ referanse nødvendig ]
En større ressurs pådrar seg betydelig ventetid for tilgang. For eksempel kan det ta hundrevis av klokkesykluser for en moderne 4 GHz-prosessor å ha dataene i en DRAM tilgjengelig. Dette reduseres ved å lese i store biter og midlertidig lagre dataene i raskere minne eller nærmere prosessoren, i håp om at påfølgende lesninger vil være raskere. Eksplisitt forhåndshenting eller prediksjon kan også gjette hvor fremtidige lesninger vil komme fra og komme med forespørsler på forhånd; hvis det gjøres riktig, reduseres latensen til nesten ubetydelig. [ referanse nødvendig ]
Bruk av en hurtigbuffer gir også mulighet for høyere gjennomstrømning av den underliggende ressursen, ved å pakke flere små overføringer inn i større, mer effektive forespørsler. Når det gjelder DRAM, kan dette betjenes av en bredere buss. Se for deg et program som skanner bytes inn i et 32-biters adresserom, men servert av en off-chip 128-bit databuss; enkeltbytetilganger uten hurtigbuffer vil bare bruke 1/16 av den totale båndbredden, og 80 prosent av databevegelsen vil være adresser. Lesing av større biter reduserer brøkdelen av båndbredden som kreves for å overføre adresseinformasjon. [ referanse nødvendig ]
Cache-stasjonen er et spesielt høyhastighets lagringssystem. Det kan enten være et reservert område av hovedminnet eller en uavhengig høyhastighetslagringsenhet. [ referanse nødvendig ]
Det er tre typer hurtigbuffer som ofte brukes på personlige datamaskiner : diskbuffer , sporbuffer og nettbuffer . [ referanse nødvendig ]
Det er en del av RAM-minnet knyttet til en disk, for å lagre nylig leste data og øke hastigheten på lasting i tilfelle de blir bedt om igjen. Det kan forbedre applikasjonsytelsen dramatisk , siden tilgang til en byte med data i RAM kan være tusenvis av ganger raskere enn å få tilgang til en byte på harddisken. [ referanse nødvendig ]
Det er en solid-state minnetype RAM hvis bruk vanligvis er begrenset til superdatamaskiner på grunn av den høye kostnaden. [ referanse nødvendig ]
Den har ansvaret for å lagre nettdokumenter for å redusere forbrukt båndbredde, belastningen på serverne og forsinkelsen av nedlastinger. Det finnes tre typer nettbuffer: privat , som bare fungerer for én bruker; shared , som serverer sider til flere brukere, og gateway , som drives av den opprinnelige serveren selv, slik at klienter ikke skiller mellom dem. [ referanse nødvendig ]
Dataene i cachen er plassert i forskjellige nivåer avhengig av hvor ofte den brukes. Informasjonen kan overføres mellom de ulike nivåene på en inkluderende eller eksklusiv måte:
Også kalt internminne, [ 3 ] er det plassert i kjernen av mikroprosessoren . Den brukes til å lagre og få tilgang til viktige og ofte brukte data og instruksjoner, for å effektivisere prosesser, da det er nivået som gir kortest responstid. Den er delt inn i to undernivåer:
Den er ansvarlig for å lagre ofte brukte data, den er større enn L1-cachen, men på bekostning av å være tregere. Likevel er det raskere enn hovedminnet (RAM). Den kan være inkluderende og inneholde en kopi av nivå 1, i tillegg til ekstra eller eksklusiv informasjon, og innholdet er totalt forskjellig fra L1-cachen, og gir dermed større totalkapasitet. [ referanse nødvendig ]
Det er raskere enn hovedminnet (RAM), men tregere og større enn L2, det hjelper systemet med å lagre store mengder informasjon, og øke hastigheten på prosessoroppgaver. I dette minnet blir tilgangen til data og instruksjoner som ikke var plassert i L1 eller L2 raskere. I likhet med L2 kan den være inkluderende og inneholde en kopi av L2 i tillegg til ekstra informasjon, eller tvert imot være eksklusiv og inneholde informasjon som er totalt forskjellig fra de tidligere nivåene, og dermed oppnå en større total kapasitet. [ referanse nødvendig ]
I utformingen av hurtigbufferen må flere faktorer tas i betraktning som direkte påvirker ytelsen til minnet og derfor målet om å øke responshastigheten til minnehierarkiet. Disse faktorene er plassering, fjerning, erstatning og skrive retningslinjer. [ referanse nødvendig ]
Bestemmer hvor en blokk med hovedminne som går inn i cachen skal plasseres. De mest brukte er: [ referanse nødvendig ]
Hentingspolicyen bestemmer når og hvilken hovedminneblokk som skal bufres. Det er to svært utbredte retningslinjer:
Bestemmer hvilken hurtigbufferblokk som skal forlates når det ikke er ledig plass for en innkommende blokk. Det er i hovedsak fire retningslinjer: [ referanse nødvendig ]
De bestemmer øyeblikket informasjonen i hovedminnet oppdateres når en minneskriving utføres. Det er to forskjellige tilfeller: [ referanse nødvendig ]
Om cachenFor en optimalisering av måten cache-minnet legges inn på og hvordan data hentes fra det, er det tatt hensyn til ulike teknikker som vil bidra til å redusere gjentakelse av feil. [ referanse nødvendig ]
Det er tre typer cache-misser (kjent som 3C-klassifisering): [ referanse nødvendig ]
I et multiprosessorsystem er det ytterligere to typer feil (klassifisering 5C [ 5 ] ):
Det finnes ulike teknikker for å redusere slike cache-misser. Noen er: [ referanse nødvendig ]
I kampcacher gjøres etikettkontroll og datatilgang samtidig.