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. Cache-minne er en type minne som brukes til å forbedre tilgangstiden til hovedminnet. Det ligger mellom CPU og hovedminne, og det kan være flere nivåer av cacher som L1, L2 og L3. Typen maskinvare som brukes til hurtigminneminne er mye dyrere enn RAM (Random Access Memory) som brukes til hovedminnet fordi hurtigminnet er mye raskere. Av denne grunn er kapasiteten til hurtigminnet veldig liten. Virtuelt minne er en minnestyringsteknikk som brukes til effektivt å bruke RAM (hovedminne), samtidig som det gir et eget minne 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 Cache Memory?
Cache-minne er en type minne som ligger mellom CPU (Central Processing Unit) og RAM (Random Access memory). Formålet med hurtigminnet er å redusere minnetilgangstiden til CPU fra RAM. Cache-minnet er mye raskere enn RAM. Så tilgangstid på hurtigbuffer er mye mindre enn tilgangstid på RAM. Men minnekostnadene som brukes til hurtigminneminnet er mye høyere enn minnekostnadene som brukes til RAM, og dermed er kapasiteten til hurtigminneminnet veldig liten. Den typen minne som brukes til hurtigminne kalles SRAM (Static Random Access Memory).
Når CPU-en vil få tilgang til minne, sjekker den først om det den trenger ligger i hurtigminnet. Hvis ja, vil den kunne få tilgang til den med minst ventetid. Hvis den ikke ligger i hurtigbufferen, vil det forespurte innholdet kopieres fra RAM til hurtigbufferen, og bare CPU vil få tilgang til det fra hurtigbufferen. Her, når du kopierer innhold fra hurtigbufferen, kopieres ikke bare innholdet i den forespurte minneadressen, men også det nærliggende innholdet til hurtigbufferen. Så neste gang det er stor sannsynlighet for at et cache-treff vil oppstå ettersom de fleste dataprogrammer får tilgang til nærliggende data eller sist tilgjengelige data oftest. Så på grunn av hurtigbufferen reduseres den gjennomsnittlige minnetiden.
I CPU er det tre typer hurtigbuffere: Instruksjonsbuffer for å lagre programinstruksjoner, Databuffer for å lagre dataelementer og Oversettelsesbuffer for oversettelse for å lagre minnekartlegginger. For datacache er det generelt cache på flere nivåer. 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 CPU. L2-hurtigbufferen er tregere enn L1, men større enn L1 og ligger etter L1-hurtigbufferen. På grunn av dette hierarkiet kan en bedre gjennomsnittlig minnetilgangstid oppnås til en lavere kostnad.
Hva er virtuelt minne?
Virtuelt minne er en minnestyringsteknikk som brukes i datasystemer. Det er ingen maskinvare som kalles virtuelt minne, men det er et konsept som bruker RAM og harddisken til å gi en virtuell adresseplass for programmer. Første RAM er delt inn i biter som kalles sider, og de identifiseres av fysiske minneadresser. På harddisken er en spesiell del reservert der det i Linux kalles byttet, og i Windows kalles det en sidefil. Når et program startes, får det en virtuell adresseplass som kan være enda større enn det faktiske fysiske minnet. Virtuelt minneplass er også delt inn i biter som kalles sider, og hver av denne virtuelle minnesiden kan tilordnes til en fysisk side. Tabellen kalt sidetabell holder oversikt over denne kartleggingen. Når det fysiske minnet går tom for plass, er det som er gjort,visse fysiske sider skyves til den spesielle delen på harddisken. Når en side som er presset til harddisken er nødvendig igjen, føres den til det fysiske minnet ved å plassere en annen valgt side fra det fysiske minnet til harddisken.
Hva er forskjellen mellom Cache Memory og Virtual Memory?
• Cache-minne er en type minne som brukes til å forbedre hovedminnets tilgangstid. Det er en raskere type minne som ligger mellom CPU og RAM for å redusere den gjennomsnittlige minnetilgangsforsinkelsen. Virtuelt minne er en minnehåndteringsmetode 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.
• Cache-minne 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, Memory Management Unit og programvare for å gi en virtuell type minne.
• Cache-minneadministrasjon gjøres fullt ut av maskinvare. Virtuelt minne styres av operativsystemet (programvare).
• Cache-minne ligger mellom RAM og prosessor. Dataoverføring involverer RAM, hurtigminne og prosessor. Virtuelt minne innebærer derimot overføring av data mellom RAM og harddisk.
• Cache-minner tar små størrelser som kilobyte og megabyte. Virtuelt minne involverer derimot 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 hurtigminnet.
Sammendrag:
Cache-minne vs virtuelt minne
Cache-minne brukes til å forbedre hovedminnetilgangstiden mens virtuelt minne er en minnestyringsmetode. 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 kalt virtuelt minne for å gi store og isolerte virtuelle minneplasser til hvert program. Innholdet i hurtigminnet styres av maskinvare mens innholdet i det virtuelle minnet styres av operativsystemet.
Bilder med tillatelse:
- Cache-minneprosess av Hellisp (CC BY-SA 3.0)
- Virtuelt minne av Ehamberg (CC BY-SA 3.0)