Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Fyzická paměť je rozdělena na rámce (frames). Velikost rámce musí být stejná jako velikost
stránky. Rámce jsou relativně malé, aby je bylo možno relativně rychle vyměňovat mezi
fyzickou pamětí a pevným diskem. Pro 32 bitové systémy je velikost stránek resp. rámců
FYZICKÁ ADRESA
LOGICKÁ ADRESA
Číslo segmentu
+
báze segmentu
Tabulka segmentů
Offset
.
.
.
limit
báze
Mikroprocesory
47
obvykle 4KB=4096B. Rozdělení paměťového prostoru na stránky nijak nesouvisí s obsahem
dělené paměťové oblasti (nerozlišují se data, kód, zásobník).
Z hlediska
uživatele (programátora) je logická adresa jedno číslo (je
jednodimenzionální), které až v hardware stránkovací jednotky (součást MMU) rozděleno
na offset, který určuje vzdálenost paměťového místa od začátku stránky resp. rámce, a číslo
stránky. Číslo stránky je indexem do tabulky stránek. Položka tabulky stránek obsahuje číslo
rámce (tj. číslo fyzické stránky).
Kromě
čísla
rámce
obsahuje
položka
stránkovací
tabulky
příznak
přítomnosti/nepřítomnosti stránky ve fyzické paměti. Tento bit je používán pro implementaci
virtuální paměti metodou stránkování na žádost, viz. dále.
Příznak přítomnosti/nepřítomnosti stránky v paměti je realizován obvykle pomocí
jednoho bitu. Je-li tento bit 1, položka je platná a může být použita. Je-li hodnota bitu 0, virtuální
stránka, k níž se položka tabulky vztahuje, se momentálně nenachází ve fyzické paměti. Přístup
k položce tabulky s bitem přítomnosti/nepřítomnosti nastaveným na 0 způsobí generování
přerušení označovaného jako page fault. Operační systém pak musí zajistit přesunutí stránky
do fyzické paměti z pevného disku.