Vyrovnávacia pamäť vs virtuálna pamäť
Rozdiel medzi vyrovnávacou pamäťou a virtuálnou pamäťou je v účele, na ktorý sa tieto dve pamäte používajú, a vo fyzickej existencii. Vyrovnávacia pamäť je typ pamäte používaný na zlepšenie času prístupu k hlavnej pamäti. Nachádza sa medzi CPU a hlavnou pamäťou a môže existovať niekoľko úrovní vyrovnávacej pamäte, ako napríklad L1, L2 a L3. Typ hardvéru používaného pre vyrovnávaciu pamäť je oveľa drahší ako RAM (pamäť s náhodným prístupom) používaná pre hlavnú pamäť, pretože vyrovnávacia pamäť je oveľa rýchlejšia. Z tohto dôvodu je kapacita vyrovnávacej pamäte veľmi malá. Virtuálna pamäť je technika správy pamäte, ktorá sa používa na efektívne využitie RAM (hlavnej pamäte) a zároveň poskytuje samostatný pamäťový priestor pre každý program, ktorý je dokonca väčší ako skutočná kapacita fyzickej pamäte RAM (hlavná pamäť). Tu sa pevný disk používa na rozšírenie pamäte. Položky vo fyzickej pamäti RAM sa prenášajú tam a späť pomocou pevného disku.
Čo je vyrovnávacia pamäť?
Vyrovnávacia pamäť je typ pamäte, ktorý sa nachádza medzi CPU (Central Processing Unit) a RAM (Random Access memory). Účelom vyrovnávacej pamäte je znížiť čas prístupu CPU z pamäte RAM. Vyrovnávacia pamäť je oveľa rýchlejšia ako RAM. Čas prístupu do vyrovnávacej pamäte je teda oveľa kratší ako čas prístupu do pamäte RAM. Ale cena pamäte používanej pre vyrovnávaciu pamäť je oveľa vyššia ako cena pamäte používanej pre RAM, a preto je kapacita vyrovnávacej pamäte veľmi malá. Typ pamäte používanej pre vyrovnávaciu pamäť sa nazýva SRAM (Static Random Access Memory).
Kedykoľvek chce CPU pristupovať k pamäti, najprv skontroluje, či sa to, čo potrebuje, nachádza vo vyrovnávacej pamäti. Ak áno, bude k nemu mať prístup s najmenšou latenciou. Ak sa nenachádza vo vyrovnávacej pamäti, požadovaný obsah sa skopíruje z pamäte RAM do vyrovnávacej pamäte a potom k nemu bude pristupovať iba procesor. Tu sa pri kopírovaní obsahu z vyrovnávacej pamäte skopíruje do vyrovnávacej pamäte nielen obsah na požadovanej adrese pamäte, ale aj obsah v okolí. Takže nabudúce je vysoká pravdepodobnosť, že dôjde k zásahu do vyrovnávacej pamäte, pretože väčšina počítačových programov väčšinou pristupuje k údajom v okolí alebo k údajom, ku ktorým sa naposledy pristupovalo. Takže vďaka vyrovnávacej pamäti je priemerná latencia pamäte znížená.
V CPU existujú tri typy vyrovnávacích pamätí: vyrovnávacia pamäť inštrukcií na ukladanie inštrukcií programu, vyrovnávacia pamäť údajov na ukladanie údajových položiek a vyrovnávacia pamäť pre preklad na ukladanie mapovaní pamäte. Pre vyrovnávaciu pamäť údajov vo všeobecnosti existujú viacúrovňové vyrovnávacie pamäte. To znamená, že existuje niekoľko skrýš ako L1, L2 a L3. L1 cache je najrýchlejšia, ale najmenšia cache pamäť, ktorá je najbližšie k CPU. Cache L2 je pomalšia ako L1, ale väčšia ako L1 a nachádza sa za L1 cache. Vďaka tejto hierarchii je možné dosiahnuť lepší priemerný čas prístupu k pamäti pri nižších nákladoch.
Čo je virtuálna pamäť?
Virtuálna pamäť je technika správy pamäte používaná v počítačových systémoch. Neexistuje žiadny hardvér nazývaný virtuálna pamäť, ale ide o koncept, ktorý využíva RAM a pevný disk na poskytovanie virtuálneho adresného priestoru pre programy. Prvá RAM je rozdelená na časti nazývané stránky a sú identifikované adresami fyzickej pamäte. Na pevnom disku je vyhradená špeciálna časť, kde sa v Linuxe nazýva swap a v systéme Windows sa nazýva stránkovací súbor. Keď sa program spustí, dostane virtuálny adresný priestor, ktorý môže byť dokonca väčší ako skutočná fyzická pamäť. Priestor virtuálnej pamäte je tiež rozdelený na časti nazývané stránky a každá z týchto stránok virtuálnej pamäte môže byť mapovaná na fyzickú stránku. Tabuľka s názvom tabuľka stránok sleduje toto mapovanie. Keď sa vo fyzickej pamäti minie miesto, urobí sa to, že určité fyzické stránky sa presunú do špeciálnej časti pevného disku. Keď je znova potrebná akákoľvek stránka posunutá na pevný disk, prenesie sa do fyzickej pamäte umiestnením ďalšej vybranej stránky z fyzickej pamäte na pevný disk.
Aký je rozdiel medzi vyrovnávacou pamäťou a virtuálnou pamäťou?
• Vyrovnávacia pamäť je typ pamäte používaný na zlepšenie času prístupu do hlavnej pamäte. Ide o rýchlejší typ pamäte, ktorý sa nachádza medzi CPU a RAM, aby sa znížila priemerná latencia prístupu do pamäte. Virtuálna pamäť je metóda správy pamäte, kde ide o koncept, ktorý umožňuje programom získať vlastný priestor virtuálnej pamäte, ktorý je dokonca väčší ako skutočná dostupná fyzická pamäť RAM.
• Vyrovnávacia pamäť je typ hardvérovej pamäte, ktorá skutočne fyzicky existuje. Na druhej strane neexistuje hardvér nazývaný virtuálna pamäť, keďže ide o koncept, ktorý využíva RAM, pevný disk, jednotku správy pamäte a softvér na poskytovanie virtuálneho typu pamäte.
• Správa vyrovnávacej pamäte je plne zabezpečená hardvérom. Virtuálnu pamäť spravuje operačný systém (softvér).
• Vyrovnávacia pamäť sa nachádza medzi RAM a procesorom. Prenosy údajov zahŕňajú RAM, vyrovnávaciu pamäť a procesor. Na druhej strane virtuálna pamäť zahŕňa prenos dát medzi RAM a pevným diskom.
• Vyrovnávacia pamäť má malé veľkosti, ako sú kilobajty a megabajty. Na druhej strane virtuálna pamäť zahŕňa obrovské veľkosti, ktoré zaberajú gigabajty.
• Virtuálna pamäť zahŕňa dátové štruktúry, ako sú tabuľky stránok, ktoré ukladajú mapovanie medzi fyzickou pamäťou a virtuálnou pamäťou. Tento typ dátových štruktúr však nie je potrebný pre vyrovnávaciu pamäť.
Zhrnutie:
Vyrovnávacia pamäť vs virtuálna pamäť
Vyrovnávacia pamäť sa používa na zlepšenie času prístupu k hlavnej pamäti, zatiaľ čo virtuálna pamäť je metóda správy pamäte. Vyrovnávacia pamäť je skutočný hardvér, ale neexistuje žiadny hardvér nazývaný virtuálna pamäť. RAM, pevný disk a rôzny iný hardvér spolu s operačným systémom vytvárajú koncept nazývaný virtuálna pamäť, ktorý poskytuje veľké a izolované priestory virtuálnej pamäte každému programu. Obsah vo vyrovnávacej pamäti spravuje hardvér, zatiaľ čo obsah vo virtuálnej pamäti spravuje operačný systém.