Ključna razlika med logičnim naslovom in fizičnim naslovom je, da CPE ustvari logični naslov med izvajanjem programa, medtem ko je fizični naslov lokacija v pomnilniški enoti.
Preprosto povedano, CPE ustvari logični naslov ali navidezni naslov. Z vidika programa, ki se izvaja, se zdi, da se element nahaja na naslovu, ki ga ponuja logični naslov. Pomnilniška enota opazuje fizični naslov. Poleg tega omogoča dostop do določene pomnilniške celice v glavnem pomnilniku prek podatkovnega vodila.
Kaj je logični naslov?
CPU generira logični naslov. Z vidika programa, ki se izvaja, se zdi, da se element nahaja na naslovu, ki ga ponuja logični naslov. Programi, ki se izvajajo v računalniku, ne vidijo fizičnih naslovov. Vedno delujejo z uporabo logičnih naslovov. Logični naslovni prostor je niz logičnih naslovov, ki jih ustvari program. Pred uporabo je treba logične naslove preslikati v fizične naslove. Enota za upravljanje pomnilnika strojne opreme (MMU) upravlja ta postopek preslikave.
Sheme kartiranja MMU
MMU sledi več shemam preslikav. V najpreprostejši shemi preslikave se vrednost v relokacijskem registru doda vsakemu logičnemu naslovu, ki ga ustvarijo aplikacijski programi, preden jih pošljejo v pomnilnik. Obstaja tudi nekaj drugih kompleksnih metod za ustvarjanje preslikav. Vezava naslova (tj. dodeljevanje navodil in podatkov v pomnilniške naslove) se lahko zgodi ob treh različnih časih.
Slika 01: Logični in fizični naslov
Prvič, to se lahko zgodi v času prevajanja, če so dejanske pomnilniške lokacije znane vnaprej, in to bi ustvarilo absolutno kodo v času prevajanja. Lahko se zgodi tudi med nalaganjem, če pomnilniške lokacije niso znane vnaprej. Za to je treba med prevajanjem generirati kodo, ki jo je mogoče znova locirati. Poleg tega lahko pride do vezave naslova v času izvajanja. To zahteva strojno podporo za preslikavo naslovov. Pri vezavi naslovov v času prevajanja in nalaganja so logični in fizični naslovi enaki. Toda ta postopek je drugačen, ko pride do vezave naslova v času izvajanja.
Kaj je fizični naslov?
Pomnilniška enota opazuje fizični naslov ali pravi naslov. Podatkovnemu vodilu omogoča dostop do določene pomnilniške celice v glavnem pomnilniku. MMU preslika logični naslov v fizični naslov. Na primer, z uporabo najpreprostejše sheme preslikave, ki logičnemu naslovu doda vrednost registra za premestitev (predpostavimo, da je vrednost v registru y), bi se obseg logičnih naslovov od 0 do x preslikal v obseg fizičnih naslovov y do x+ y.
Poleg tega se imenuje tudi fizični naslovni prostor tega programa. Vse logične naslove je treba preslikati v fizične naslove, preden jih je mogoče uporabiti.
Kakšna je razlika med logičnim naslovom in fizičnim naslovom?
Logični naslov proti fizičnemu naslovu |
|
Logični naslov je naslov, na katerem se zdi, da se element nahaja z vidika izvajalnega aplikacijskega programa. | Fizični naslov je pomnilniški naslov, ki je predstavljen v obliki binarnega števila v vezju naslovnega vodila, da omogoči podatkovnemu vodilu dostop do določene pomnilniške celice glavnega pomnilnika ali registra pomnilnika, preslikanega I /O naprava. |
Vidnost | |
Uporabnik si lahko ogleda logični naslov programa. | Uporabnik ne more videti fizičnega naslova programa. |
Metoda generiranja | |
CPU generira logični naslov. | MMU izračuna fizični naslov. |
Dostopnost | |
Uporabnik lahko uporabi logični naslov za dostop do fizičnega naslova. | Uporabnik ne more neposredno dostopati do fizičnega naslova. |
Povzetek – Logični naslov proti fizičnemu naslovu
Razlika med logičnim in fizičnim naslovom je v tem, da CPE ustvari logični naslov, ko se program izvaja, medtem ko je fizični naslov lokacija v pomnilniški enoti. Vse logične naslove je treba preslikati v fizične naslove, preden jih lahko MMU uporabi. Fizični in logični naslovi so enaki pri uporabi vezave naslova časa prevajanja in časa nalaganja, vendar se razlikujejo pri uporabi vezave naslova časa izvajanja.