Rozdíl mezi logickou adresou a fyzickou adresou

Obsah:

Rozdíl mezi logickou adresou a fyzickou adresou
Rozdíl mezi logickou adresou a fyzickou adresou

Video: Rozdíl mezi logickou adresou a fyzickou adresou

Video: Rozdíl mezi logickou adresou a fyzickou adresou
Video: Logical vs Physical address space | OS | Lec-32 | Bhanu Priya 2024, Červenec
Anonim

Klíčový rozdíl mezi logickou adresou a fyzickou adresou je v tom, že CPU generuje logickou adresu během provádění programu, zatímco fyzická adresa je umístění v paměťové jednotce.

Zjednodušeně řečeno, CPU generuje logickou adresu nebo virtuální adresu. Z pohledu spuštěného programu se zdá, že položka je umístěna na adrese poskytnuté logickou adresou. Paměťová jednotka sleduje fyzickou adresu. Navíc umožňuje přístup ke konkrétní paměťové buňce v hlavní paměti pomocí datové sběrnice.

Rozdíl mezi logickou adresou a fyzickou adresou – srovnávací souhrn
Rozdíl mezi logickou adresou a fyzickou adresou – srovnávací souhrn
Rozdíl mezi logickou adresou a fyzickou adresou – srovnávací souhrn
Rozdíl mezi logickou adresou a fyzickou adresou – srovnávací souhrn

Co je logická adresa?

CPU generuje logickou adresu. Z pohledu spuštěného programu se zdá, že položka je umístěna na adrese poskytnuté logickou adresou. Aplikační programy spuštěné v počítači nevidí fyzické adresy. Vždy pracují s použitím logických adres. Prostor logických adres je sada logických adres, které program generuje. Před použitím je nutné namapovat logické adresy na fyzické adresy. Tento proces mapování zajišťuje hardwarová jednotka správy paměti (MMU).

Schémata mapování MMU

MMU se řídí několika schématy mapování. V nejjednodušším mapovacím schématu je hodnota v relokačním registru přidána ke každé logické adrese vytvořené aplikačními programy před jejich odesláním do paměti. Existují také některé další složité metody pro generování mapování. Vazba adresy (tj. alokace instrukcí a dat do adres paměti) může nastat ve třech různých časech.

Rozdíl mezi logickou adresou a fyzickou adresou
Rozdíl mezi logickou adresou a fyzickou adresou
Rozdíl mezi logickou adresou a fyzickou adresou
Rozdíl mezi logickou adresou a fyzickou adresou

Obrázek 01: Logická a fyzická adresa

Za prvé, může se to stát v době kompilace, pokud jsou skutečná umístění paměti známa předem, a to by vygenerovalo absolutní kód v době kompilace. Může k tomu také dojít při načítání, pokud umístění paměti nejsou předem známa. K tomu je třeba v době kompilace vygenerovat přemístitelný kód. Navíc k vazbě adresy může dojít v době provádění. To vyžaduje hardwarovou podporu pro mapování adres. Ve vazbě adres v době kompilace a době načítání jsou logické a fyzické adresy stejné. Tento postup je však odlišný, když k vázání adresy dojde v době provádění.

Co je fyzická adresa?

Paměťová jednotka sleduje fyzickou nebo skutečnou adresu. Umožňuje datové sběrnici přístup k určité paměťové buňce v hlavní paměti. MMU mapuje logickou adresu na fyzickou adresu. Například při použití nejjednoduššího mapovacího schématu, které k logické adrese přidá hodnotu registru přemístění (předpokládejme, že hodnota v registru je y), by se rozsahy logické adresy od 0 do x namapovaly na rozsah fyzických adres y až x+. y.

Navíc se tomu také říká fyzický adresní prostor daného programu. Všechny logické adresy je třeba před použitím namapovat na fyzické adresy.

Jaký je rozdíl mezi logickou adresou a fyzickou adresou?

Logická adresa vs fyzická adresa

Logická adresa je adresa, na které se zdá, že položka sídlí z pohledu spouštěného aplikačního programu. Fyzická adresa je adresa paměti, která je reprezentována ve formě binárního čísla na obvodech adresové sběrnice, aby umožnila datové sběrnici přístup ke konkrétní úložné buňce hlavní paměti nebo registru mapované paměti I /O zařízení.
Viditelnost
Uživatel může zobrazit logickou adresu programu. Uživatel nemůže zobrazit fyzickou adresu programu.
Metoda generování
CPU generuje logickou adresu. MMU vypočítá fyzickou adresu.
Přístupnost
Uživatel může použít logickou adresu pro přístup k fyzické adrese. Uživatel nemá přímý přístup k fyzické adrese.

Shrnutí – logická adresa vs fyzická adresa

Rozdíl mezi logickou adresou a fyzickou adresou je v tom, že CPU generuje logickou adresu při provádění programu, zatímco fyzická adresa je umístění v paměťové jednotce. Všechny logické adresy musí být namapovány na fyzické adresy, než je MMU může použít. Fyzické a logické adresy jsou stejné při použití vazby adresy v době kompilace a době načítání, ale liší se při použití vazby adresy v době provádění.

Doporučuje: