Vyrovnávacia pamäť vs virtuálna pamäť
Rozdiel medzi pamäťou cache a virtuálnou pamäťou existuje v účele, na ktorý sa tieto dve používajú, a vo fyzickej existencii. Vyrovnávacia pamäť je typ pamäte, ktorá sa používa na zlepšenie času prístupu do hlavnej pamäte. Nachádza sa medzi CPU a hlavnou pamäťou a môže existovať niekoľko úrovní vyrovnávacích pamätí, ako napríklad L1, L2 a L3. Typ hardvéru použitého pre medzipamäť je oveľa nákladnejší ako RAM (Random Access Memory) používaná pre hlavnú pamäť, pretože vyrovnávacia pamäť je oveľa rýchlejšia. Z tohto dôvodu je kapacita pamäte cache veľmi malá. Virtuálna pamäť je technika správy pamäte používaná na efektívne využitie pamäte RAM (hlavná pamäť) a poskytovania samostatného pamäťového priestoru 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äť na pevný disk.
Čo je to vyrovnávacia pamäť?
Vyrovnávacia pamäť je typ pamäte, ktorá leží medzi CPU (centrálna procesorová jednotka) a RAM (pamäť s náhodným prístupom). Účelom medzipamäte je znížiť čas prístupu do pamäte CPU z RAM. Pamäť cache je oveľa rýchlejšia ako RAM. Takže prístupový čas na cache je oveľa menší ako prístupový čas na RAM. Ale cena pamäte použitej pre pamäť cache je oveľa vyššia ako cena pamäte použitej pre RAM, a preto je kapacita pamäte cache veľmi malá. Typ pamäte používanej pre medzipamäť sa nazýva SRAM (Static Random Access Memory).
Kedykoľvek chce procesor získať prístup k pamäti, najskôr skontroluje, či sa to, čo potrebuje, nachádza v pamäti cache. Ak áno, bude k nej mať prístup s najmenšou latenciou. Ak sa nenachádza v medzipamäti, požadovaný obsah by sa skopíroval z pamäte RAM do medzipamäte a z vyrovnávacej pamäte k nej potom bude mať prístup iba procesor. Tu sa pri kopírovaní obsahu z medzipamäte do medzipamäte skopíruje nielen obsah požadovanej adresy pamäte, ale aj blízky obsah. Takže nabudúce existuje vysoká pravdepodobnosť zásahu do vyrovnávacej pamäte, pretože väčšina počítačových programov má väčšinou prístup k údajom v blízkosti alebo k údajom z posledného prístupu. Vďaka medzipamäti je teda priemerná latencia pamäte znížená.
V CPU existujú tri typy cache: vyrovnávacia pamäť inštrukcií na ukladanie inštrukcií programu, dátová vyrovnávacia pamäť na ukladanie dátových položiek a vyrovnávacia pamäť prekladu na ukladanie mapovaní pamäte. Pre dátovú medzipamäť zvyčajne existujú viacúrovňové medzipamäte. To znamená, že existuje niekoľko kešiek ako L1, L2 a L3. L1 cache je najrýchlejšia, ale najmenšia vyrovnávacia pamäť, ktorá je najbližšie k CPU. Vyrovnávacia pamäť L2 je pomalšia ako L1, ale väčšia ako L1 a nachádza sa po vyrovnávacej pamäti L1. Vďaka tejto hierarchii je možné dosiahnuť lepšiu priemernú dobu prístupu do pamäte pri nižších nákladoch.
Čo je to 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, ktorý sa nazýva virtuálna pamäť, ale jedná sa o koncept, ktorý využíva RAM a pevný disk na zabezpečenie virtuálneho adresného priestoru pre programy. Prvá RAM je rozdelená na bloky nazývané stránky a sú identifikované podľa adries fyzickej pamäte. Na pevnom disku je vyhradená špeciálna časť, kde sa v systéme Linux nazýva swap a v systéme Windows sa nazýva stránkovací súbor. Po spustení programu dostane virtuálny adresný priestor, ktorý môže byť ešte väčší ako skutočná fyzická pamäť. Priestor virtuálnej pamäte je tiež rozdelený na bloky nazývané stránky a každú z týchto stránok virtuálnej pamäte je možné namapovať na fyzickú stránku. Tabuľka s názvom tabuľka stránok sleduje toto mapovanie. Keď vo fyzickej pamäti dôjde miesto, urobí sa to,určité fyzické stránky sa tlačia do tejto špeciálnej časti na pevnom disku. Ak je opäť potrebná ktorákoľvek stránka tlačená na pevný disk, prenesie sa do fyzickej pamäte vložením ďalšej vybratej stránky z fyzickej pamäte na pevný disk.
Aký je rozdiel medzi medzipamäťou a virtuálnou pamäťou?
• Vyrovnávacia pamäť je typ pamäte, ktorá sa používa na zlepšenie času prístupu do hlavnej pamäte. Jedná sa 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, ktorá predstavuje koncept, ktorý umožňuje programom získať vlastný priestor virtuálnej pamäte, ktorý je ešte 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 žiadny hardvér, ktorý sa nazýva virtuálna pamäť, pretože ide o koncept, ktorý na zabezpečenie virtuálneho typu pamäte využíva pamäť RAM, pevný disk, jednotku správy pamäte a softvér.
• Správa medzipamäte pamäte je úplne zabezpečená hardvérom. Virtuálna pamäť je spravovaná operačným systémom (softvérom).
• Vyrovnávacia pamäť leží medzi RAM a procesorom. Dátové prenosy zahŕňajú pamäť RAM, pamäť cache a procesor. Virtuálna pamäť na druhej strane zahŕňa prenos údajov medzi RAM a pevným diskom.
• Cache pamäte majú malú veľkosť, napríklad kilobajty a megabajty. Virtuálna pamäť na druhej strane 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. Ale tento typ dátových štruktúr nie je potrebný pre pamäť cache.
Zhrnutie:
Vyrovnávacia pamäť vs virtuálna pamäť
Cache pamäť sa používa na zlepšenie času prístupu do hlavnej pamäte, zatiaľ čo virtuálna pamäť je metódou správy pamäte. Cache pamäť je skutočný hardvér, ale neexistuje žiadny hardvér, ktorý sa nazýva virtuálna pamäť. RAM, pevný disk a rôzne ďalšie hardvérové prvky spolu s operačným systémom vytvárajú koncept zvaný virtuálna pamäť, ktorý poskytuje každému programu veľké a izolované virtuálne pamäťové priestory. Obsah v pamäti cache je spravovaný hardvérom, zatiaľ čo obsah vo virtuálnej pamäti je spravovaný operačným systémom.
Obrázky so zdvorilosťou:
- Proces medzipamäte pamäte Hellisp (CC BY-SA 3.0)
- Virtuálna pamäť od Ehamberga (CC BY-SA 3.0)