Cache-minne vs. virtuelt minne
Forskjellen mellom cache-minne og virtuelt minne eksisterer i formålet som disse to brukes til og i den fysiske eksistensen. Bufferminne er en type minne som brukes til å forbedre tilgangstiden til hovedminnet. Den ligger mellom CPU og hovedminnet, og det kan være flere nivåer av cacher som L1, L2 og L3. Typen maskinvare som brukes til hurtigbufferminne er mye dyrere enn RAM (Random Access Memory) som brukes til hovedminne fordi hurtigbufferminnet er mye raskere. Av denne grunn er kapasiteten til hurtigbufferminnet veldig liten. Virtuelt minne er en minnebehandlingsteknikk som brukes til å effektivt bruke RAM (hovedminne) samtidig som det gir en separat minneplass for hvert program som er enda større enn den faktiske fysiske RAM-kapasiteten (hovedminne). Her brukes harddisken til å utvide minnet. Elementene i den fysiske RAM-en overføres frem og tilbake med harddisken.
Hva er bufferminne?
Cache-minne er en type minne som ligger mellom CPU (Central Processing Unit) og RAM (Random Access-minne). Hensikten med cache-minne er å redusere minnetilgangstiden til CPU-en fra RAM-en. Bufferminnet er mye raskere enn RAM. Så tilgangstiden på cache er mye mindre enn tilgangstiden på RAM. Men kostnadene for minne som brukes til cache-minne er mye høyere enn kostnadene for minne som brukes til RAM, og derfor er kapasiteten til cache-minne veldig liten. Typen minne som brukes til hurtigbufferminne kalles SRAM (Static Random Access Memory).
Når CPU-en ønsker å få tilgang til minnet, sjekker den først om det den trenger ligger i bufferminnet. Hvis ja, vil den kunne få tilgang til den med minst mulig forsinkelse. Hvis det ikke ligger i hurtigbufferen, vil det forespurte innholdet bli kopiert fra RAM til hurtigbufferen, og da vil bare CPU-en få tilgang til det fra hurtigbufferen. Her, når du kopierer innhold fra hurtigbufferen, kopieres ikke bare innholdet i den forespurte minneadressen, men også innholdet i nærheten til hurtigbufferen. Så neste gang er det stor sannsynlighet for at et hurtigbuffertreff oppstår, da de fleste dataprogrammer får tilgang til nærliggende data eller sist brukte data de fleste gangene. Så på grunn av hurtigbufferen er den gjennomsnittlige minneforsinkelsen redusert.
I CPU er det tre typer cacher: instruksjonsbuffer for å lagre programinstruksjoner, databuffer for å lagre dataelementer og oversettelsesbufferen for å lagre minnetilordninger. For databuffer, generelt, er det multi-level cacher. Det vil si at det er flere cacher som L1, L2 og L3. L1 cache er det raskeste, men minste cache-minnet som er nærmest CPUen. L2-cachen er tregere enn L1, men større enn L1 og ligger etter L1-cachen. På grunn av dette hierarkiet kan en bedre gjennomsnittlig minnetilgangstid oppnås til en lavere kostnad.
Hva er virtuelt minne?
Virtuelt minne er en minnebehandlingsteknikk som brukes i datasystemer. Det finnes ingen maskinvare som kalles virtuelt minne, men det er et konsept som bruker RAM og harddisken for å gi et virtuelt adresserom for programmer. Først er RAM delt inn i biter k alt sider, og de identifiseres av fysiske minneadresser. På harddisken er en spesiell del reservert der det i Linux kalles swap og i Windows kalles det en sidefil. Når et program startes, får det et virtuelt adresserom som kan være enda større enn det faktiske fysiske minnet. Virtuelt minneplass er også delt inn i biter k alt sider, og hver av denne virtuelle minnesiden kan tilordnes en fysisk side. Tabellen k alt sidetabell holder styr på denne tilordningen. Når det fysiske minnet går tom for plass, blir det gjort at visse fysiske sider skyves til den spesielle delen på harddisken. Når en side som er presset til harddisken er nødvendig igjen, bringes den til det fysiske minnet ved å legge en annen valgt side fra det fysiske minnet til harddisken.
Hva er forskjellen mellom bufferminne og virtuelt minne?
• Bufferminne er en type minne som brukes til å forbedre tilgangstiden for hovedminnet. Det er en raskere type minne som ligger mellom CPU og RAM for å redusere den gjennomsnittlige minnetilgangstiden. Virtuelt minne er en minnebehandlingsmetode der det er et konsept som lar programmer få sin egen virtuelle minneplass, som er enda større enn den virkelige fysiske RAM-en som er tilgjengelig.
• Bufferminne er en type maskinvareminne som faktisk eksisterer fysisk. På den annen side er det ingen maskinvare som kalles virtuelt minne, da det er et konsept som bruker RAM, harddisk, minneadministrasjonsenhet og programvare for å gi en virtuell type minne.
• Bufferminnebehandling gjøres fullstendig av maskinvare. Virtuelt minne administreres av operativsystemet (programvare).
• Bufferminnet ligger mellom RAM og prosessoren. Dataoverføringer involverer RAM, cache-minne og prosessoren. Virtuelt minne, derimot, innebærer overføring av data mellom RAM og harddisk.
• Bufferminner tar små størrelser som kilobyte og megabyte. Virtuelt minne, derimot, involverer enorme størrelser som tar gigabyte.
• Virtuelt minne involverer datastrukturer som sidetabeller som lagrer kartlegging mellom fysisk minne og virtuelt minne. Men denne typen datastrukturer er ikke nødvendig for hurtigbufferminne.
Sammendrag:
Cache-minne vs. virtuelt minne
Cache-minne brukes til å forbedre tilgangstiden for hovedminnet mens virtuelt minne er en minnebehandlingsmetode. Cache-minne er en faktisk maskinvare, men det er ingen maskinvare som kalles virtuelt minne. RAM, harddisk og diverse annen maskinvare sammen med operativsystemet produserer konseptet som kalles virtuelt minne for å gi store og isolerte virtuelle minneplasser til hvert program. Innholdet i hurtigbufferminnet administreres av maskinvare, mens innholdet i det virtuelle minnet administreres av operativsystemet.