Mezipaměť vs virtuální paměť
Rozdíl mezi mezipamětí a virtuální pamětí existuje v účelu, pro který se tyto dvě používají, a ve fyzické existenci. Mezipaměť je typ paměti používané ke zlepšení doby přístupu k hlavní paměti. Nachází se mezi CPU a hlavní pamětí a může existovat několik úrovní mezipamětí, například L1, L2 a L3. Typ hardwaru používaného pro mezipaměť je mnohem nákladnější než RAM (Random Access Memory) používaná pro hlavní paměť, protože mezipaměť je mnohem rychlejší. Z tohoto důvodu je kapacita mezipaměti velmi malá. Virtuální paměť je technika správy paměti, která se používá k efektivnímu využití paměti RAM (hlavní paměť) a zároveň poskytuje samostatný paměťový prostor pro každý program, který je dokonce větší než skutečná kapacita fyzické paměti RAM (hlavní paměť). Zde se pevný disk používá k rozšíření paměti. Položky ve fyzické paměti RAM jsou přenášeny tam a zpět s pevným diskem.
Co je mezipaměť?
Mezipaměť je typ paměti, která leží mezi CPU (centrální procesorová jednotka) a RAM (paměť s náhodným přístupem). Účelem mezipaměti je snížit dobu přístupu do paměti CPU z RAM. Mezipaměť je mnohem rychlejší než RAM. Doba přístupu do mezipaměti je tedy mnohem menší než doba přístupu do paměti RAM. Ale náklady na paměť používanou pro mezipaměť jsou mnohem vyšší než náklady na paměť používanou pro RAM, a proto je kapacita mezipaměti velmi malá. Typ paměti používané pro mezipaměť se nazývá SRAM (Static Random Access Memory).
Kdykoli chce CPU získat přístup k paměti, nejprve zkontroluje, zda to, co potřebuje, je uloženo v mezipaměti. Pokud ano, bylo by k němu možné přistupovat s nejnižší latencí. Pokud se nenachází v mezipaměti, požadovaný obsah by byl zkopírován z paměti RAM do mezipaměti a poté k němu z mezipaměti přistupuje pouze procesor. Zde se při kopírování obsahu z mezipaměti do mezipaměti zkopíruje nejen obsah požadované adresy paměti, ale také blízký obsah. Příště tedy existuje vysoká pravděpodobnost, že dojde k zásahu do mezipaměti, protože většina počítačových programů přistupuje k údajům v okolí nebo k nim naposledy přistupuje. Takže kvůli mezipaměti je průměrná latence paměti snížena.
V CPU existují tři typy mezipamětí: mezipaměť instrukcí k ukládání instrukcí programu, datová mezipaměť k ukládání datových položek a vyrovnávací paměť překladu pro ukládání mapování paměti. Pro datovou mezipaměť obecně existují víceúrovňové mezipaměti. To znamená, že existuje několik mezipamětí jako L1, L2 a L3. Mezipaměť L1 je nejrychlejší, ale nejmenší mezipaměť, která je nejblíže k CPU. Mezipaměť L2 je pomalejší než L1, ale větší než L1 a nachází se po mezipaměti L1. Kvůli této hierarchii lze dosáhnout lepší průměrné doby přístupu k paměti za nižší cenu.
Co je to virtuální paměť?
Virtuální paměť je technika správy paměti používaná v počítačových systémech. Neexistuje žádný hardware s názvem virtuální paměť, ale jedná se o koncept, který k zajištění virtuálního adresového prostoru pro programy využívá RAM a pevný disk. První RAM je rozdělena na bloky zvané stránky a jsou identifikovány podle adres fyzické paměti. Na pevném disku je vyhrazena speciální část, kde se v Linuxu nazývá swap a ve Windows se nazývá stránkovací soubor. Když je program spuštěn, dostane virtuální adresní prostor, který může být ještě větší než skutečná fyzická paměť. Prostor virtuální paměti je také rozdělen na bloky nazývané stránky a každou z těchto stránek virtuální paměti lze namapovat na fyzickou stránku. Tabulka s názvem tabulka stránek sleduje toto mapování. Když fyzické paměti dojde místo, udělá se to,určité fyzické stránky jsou tlačeny do této speciální části na pevném disku. Je-li libovolná stránka zasunutá na pevný disk znovu potřeba, přenese se do fyzické paměti vložením další vybrané stránky z fyzické paměti na pevný disk.
Jaký je rozdíl mezi mezipamětí a virtuální pamětí?
• Mezipaměť je typ paměti používané ke zlepšení doby přístupu k hlavní paměti. Jedná se o rychlejší typ paměti, který je umístěn mezi CPU a RAM, aby se snížila průměrná latence přístupu do paměti. Virtuální paměť je metoda správy paměti, kde se jedná o koncept, který umožňuje programům získat vlastní prostor virtuální paměti, který je dokonce větší než skutečná dostupná fyzická paměť RAM.
• Mezipaměť je typ hardwarové paměti, která skutečně fyzicky existuje. Na druhou stranu neexistuje žádný hardware zvaný virtuální paměť, protože se jedná o koncept, který k zajištění virtuálního typu paměti využívá RAM, pevný disk, jednotku správy paměti a software.
• Správa mezipaměti je plně zajištěna hardwarem. Virtuální paměť je spravována operačním systémem (softwarem).
• Mezipaměť leží mezi RAM a procesorem. Přenosy dat zahrnují RAM, mezipaměť a procesor. Virtuální paměť na druhé straně zahrnuje přenos dat mezi RAM a pevným diskem.
• Paměti mezipaměti mají malou velikost, například kilobajty a megabajty. Virtuální paměť na druhé straně zahrnuje obrovské velikosti, které zabírají gigabajty.
• Virtuální paměť zahrnuje datové struktury, jako jsou tabulky stránek, které ukládají mapování mezi fyzickou pamětí a virtuální pamětí. Ale tento typ datových struktur není pro mezipaměť nezbytný.
Souhrn:
Mezipaměť vs virtuální paměť
Mezipaměť se používá ke zlepšení doby přístupu k hlavní paměti, zatímco virtuální paměť je metoda správy paměti. Mezipaměť je skutečný hardware, ale neexistuje žádný hardware s názvem virtuální paměť. RAM, pevný disk a různé další hardware společně s operačním systémem vytváří koncept zvaný virtuální paměť, který poskytuje každému programu velké a izolované prostory virtuální paměti. Obsah v mezipaměti je řízen hardwarem, zatímco obsah ve virtuální paměti je řízen operačním systémem.
Obrázky se svolením:
- Proces ukládání do mezipaměti Hellisp (CC BY-SA 3.0)
- Virtuální paměť od Ehamberga (CC BY-SA 3.0)