Razlika između cache memorije i virtualne memorije

Cache Memory vs Virtual Memory
 

Razlika između cache memorije i virtualne memorije postoji u svrhu za koju se to dvoje koristi i u fizičkom postojanju. Predmemorija memorija je vrsta memorije koja se koristi za poboljšanje vremena pristupa glavnoj memoriji. Smješten je između CPU-a i glavne memorije, a može biti nekoliko razina predmemorije poput L1, L2 i L3. Vrsta hardvera koji se koristi za predmemorijsku memoriju mnogo je skuplja od RAM-a (Random Access Memory) koji se koristi za glavnu memoriju jer je cache memorija puno brža. Iz tog razloga, kapacitet cache memorije je vrlo mali. Virtualna memorija je tehnika upravljanja memorijom koja se koristi za učinkovito korištenje RAM-a (glavna memorija), istovremeno osiguravajući zaseban memorijski prostor za svaki program koji je čak i veći od stvarnog fizičkog kapaciteta RAM-a (glavne memorije). Ovdje se tvrdi disk koristi za proširenje memorije. Stavke u fizičkom RAM-u prenose se naprijed i nazad s tvrdog diska.

Što je cache memorija?

Keš memorija je a vrsta memorije koja se nalazi između CPU-a (centralne procesne jedinice) i RAM-a (Random Access memory). Svrha predmemorijske memorije je smanjiti vrijeme pristupa memoriji CPU-a iz RAM-a. Predmemorijska memorija je puno brža od RAM-a. Dakle, vrijeme pristupa u predmemoriji mnogo je manje nego vrijeme pristupa u RAM-u. Ali trošak memorije koja se koristi za predmemorijsku memoriju je mnogo veći od troškova memorije koja se koristi za RAM, pa je, stoga, kapacitet predmemorijske memorije vrlo mali. Vrsta memorije koja se koristi za predmemorijsku memoriju naziva se SRAM (statička memorija sa slučajnim pristupom).

Kad god CPU želi pristupiti memoriji, prvo provjerava postoji li ono što mu treba, u cache memoriji. Ako je tako, mogao bi mu se pristupiti s najmanjim kašnjenjem. Ako se ne nalazi u predmemoriji, tada će se zatraženi sadržaj kopirati iz RAM-a u predmemoriju i jedino će mu CPU pristupiti iz predmemorije. Ovdje se prilikom kopiranja sadržaja iz predmemorije kopira ne samo sadržaj na željenoj memorijskoj adresi već i obližnji sadržaj. Dakle, sljedeći put postoji velika vjerojatnost da će se dogoditi pogodak predmemorije jer većina računalnih programa pristupa podacima u blizini ili podacima najčešće pristupaju. Tako se zbog predmemorije smanjuje prosječno latencija memorije.

U CPU-u postoje tri vrste predmemorije: Keš upute za pohranu programskih uputa, Predmemorija podataka za pohranjivanje podataka i Prijevod zaštitni sloj za pohranu preslikavanja memorije. Za predmemoriju podataka općenito postoje predmemorije na više razina. Odnosno, postoji nekoliko predmemorija kao L1, L2 i L3. L1 predmemorija je najbrža, ali najmanja cache memorija koja je najbliža CPU-u. L2 predmemorija je sporija od L1, ali veća od L1 i nalazi se nakon L1 predmemorije. Zbog ove hijerarhije bolje prosječno vrijeme pristupa memoriji može se postići uz manje troškove.

Što je virtualna memorija?

Virtualna memorija je a tehnika upravljanja memorijom koristi u računalnim sustavima. Ne postoji hardver koji se zove virtualna memorija, ali to je koncept koji koristi RAM i tvrdi disk za pružanje virtualnog adresnog prostora za programe. Prvo se RAM-a dijeli na dijelove koji se nazivaju stranice i oni se identificiraju pomoću adrese fizičke memorije. Na tvrdom disku je rezerviran poseban dio gdje se u Linuxu naziva swap, a u Windows-u se naziva datotečnom stranicom. Kad se pokrene program, dat će mu se virtualni adresni prostor koji može biti i veći od stvarne fizičke memorije. Prostor virtualne memorije također je podijeljen na komade koji se nazivaju stranice i svaka se stranica virtualne memorije može preslikati na fizičku stranicu. Tabela pod nazivom tablica stranica prati ovo preslikavanje. Kad vam fizičke memorije ponestane, učinite to što se određene fizičke stranice prebacuju na onaj posebni dio tvrdog diska. Kad je ponovo potrebna stranica koja je gurnuta na tvrdi disk, ona se vraća u fizičku memoriju stavljanjem druge odabrane stranice iz fizičke memorije na tvrdi disk..

Koja je razlika između cache memorije i virtualne memorije?

• Keš memorija je vrsta memorije koja se koristi za poboljšanje vremena pristupa glavnoj memoriji. Brža vrsta memorije koja se nalazi između CPU-a i RAM-a radi smanjenja prosječnog kašnjenja pristupa memoriji. Virtualna memorija je metoda upravljanja memorijom gdje je koncept koji omogućuje programima da dobiju vlastiti virtualni memorijski prostor koji je čak i veći od stvarnog dostupnog fizičkog RAM-a..

• Keš memorija je vrsta hardverske memorije koja fizički stvarno postoji. S druge strane, ne postoji hardver koji se naziva virtualna memorija jer je to koncept koji koristi RAM, tvrdi disk, jedinicu za upravljanje memorijom i softver za pružanje virtualne vrste memorije.

• Upravljanje predmemoriranom memorijom u potpunosti se vrši hardverom. Virtualnom memorijom upravlja operativni sustav (softver).

• Cache memorija leži između RAM-a i procesora. Prijenosi podataka uključuju RAM, keš memoriju i procesor. Virtualna memorija, s druge strane, uključuje prijenos podataka između RAM-a i tvrdog diska.

• Memorije iz predmemorije imaju male veličine kao što su Kilobajti i Megabajti. Virtualna memorija, s druge strane, uključuje ogromne veličine koje uzimaju gigabajte.

• Virtualna memorija uključuje strukture podataka kao što su tablice stranica koje pohranjuju mapiranje između fizičke i virtualne memorije. Ali ova vrsta podatkovnih struktura nije potrebna za keš memoriju.

Sažetak:

Cache Memory vs Virtual Memory

Cache memorija koristi se za poboljšanje vremena pristupa glavnoj memoriji dok je virtualna memorija način upravljanja memorijom. Keš memorija je stvarni hardver, ali ne postoji hardver koji se zove virtualna memorija. RAM, tvrdi disk i razni drugi hardver zajedno s operativnim sustavom proizvodi koncept zvan virtualna memorija koji pruža veliki i izolirani prostor virtualne memorije svakom programu. Sadržajem u predmemorijskoj memoriji upravlja hardver, dok sadržajem u virtualnoj memoriji upravlja operativni sustav.

Ljubaznošću slika:

  1. Proces predmemoriranja memorije od strane Hellispa (CC BY-SA 3.0)
  2. Virtualna memorija Ehamberga (CC BY-SA 3.0)