La diferència clau entre l'adreça lògica i l'adreça física és que la CPU genera una adreça lògica durant l'execució del programa, mentre que l'adreça física és una ubicació a la unitat de memòria.
En termes senzills, la CPU genera l'adreça lògica o l'adreça virtual. Des de la perspectiva d'un programa que s'està executant, sembla que un element es troba a l'adreça proporcionada per l'adreça lògica. La unitat de memòria observa l'adreça física. A més, permet accedir a una cel·la de memòria determinada de la memòria principal mitjançant el bus de dades.
Què és l'adreça lògica?
CPU genera una adreça lògica. Des de la perspectiva d'un programa que s'està executant, sembla que un element es troba a l'adreça proporcionada per l'adreça lògica. Els programes d'aplicació que s'executen a l'ordinador no veuen les adreces físiques. Sempre funcionen utilitzant les adreces lògiques. L'espai d'adreces lògiques és el conjunt d'adreces lògiques que genera un programa. Cal assignar les adreces lògiques a les adreces físiques abans d'utilitzar-les. La unitat de gestió de memòria (MMU) del dispositiu de maquinari gestiona aquest procés de mapatge.
Esquemes de mapes MMU
MMU segueix diversos esquemes de mapes. En l'esquema de mapeig més senzill, el valor del registre de reubicació s'afegeix a cada adreça lògica produïda pels programes d'aplicació abans d'enviar-les a la memòria. També hi ha altres mètodes complexos per generar el mapeig. L'enllaç d'adreces (és a dir, assignar instruccions i dades a adreces de memòria) es pot produir en tres moments diferents.
Figura 01: Adreça lògica i física
En primer lloc, pot passar en temps de compilació si les ubicacions reals de la memòria es coneixen per endavant, i això generaria el codi absolut en temps de compilació. També pot passar en el moment de la càrrega si les ubicacions de memòria no es coneixen per endavant. Per a això, cal generar codi reubicable en temps de compilació. A més, la vinculació d'adreces es pot produir en el moment de l'execució. Això requereix suport de maquinari per a l'assignació d'adreces. En l'enllaç d'adreces de temps de compilació i temps de càrrega, les adreces lògiques i físiques són les mateixes. Però aquest procediment és diferent quan l'enllaç d'adreces es produeix en temps d'execució.
Què és l'adreça física?
La unitat de memòria observa l'adreça física o l'adreça real. Permet que el bus de dades accedeixi a una cel·la de memòria determinada de la memòria principal. MMU mapeja l'adreça lògica a l'adreça física. Per exemple, utilitzant l'esquema de mapeig més senzill, que afegeix el valor del registre de reubicació (suposem que el valor del registre és y) a l'adreça lògica, una adreça lògica va de 0 a x s'assignaria a un rang d'adreces físiques y a x+. y.
A més, també s'anomena espai d'adreces físiques d'aquest programa. Totes les adreces lògiques s'han d'assignar a adreces físiques abans de poder utilitzar-les.
Quina diferència hi ha entre l'adreça lògica i l'adreça física?
Adreça lògica vs. Adreça física |
|
L'adreça lògica és l'adreça on sembla que resideix un element des de la perspectiva d'un programa d'aplicació en execució. | L'adreça física és una adreça de memòria que es representa en forma d'un nombre binari al circuit del bus d'adreces per tal de permetre que el bus de dades accedeixi a una cel·la d'emmagatzematge particular de la memòria principal o a un registre de memòria mapejat I. /O dispositiu. |
Visibilitat | |
L'usuari pot veure l'adreça lògica d'un programa. | L'usuari no pot veure l'adreça física del programa. |
Mètode de generació | |
CPU genera l'adreça lògica. | MMU calcula l'adreça física. |
Accessibilitat | |
L'usuari pot utilitzar l'adreça lògica per accedir a l'adreça física. | L'usuari no pot accedir directament a l'adreça física. |
Resum - Adreça lògica vs adreça física
La diferència entre l'adreça lògica i l'adreça física és que la CPU genera una adreça lògica quan s'executa el programa, mentre que l'adreça física és una ubicació a la unitat de memòria. Totes les adreces lògiques s'han de mapejar en adreces físiques abans que la MMU les pugui utilitzar. Les adreces físiques i lògiques són les mateixes quan s'utilitza l'enllaç d'adreces de temps de compilació i de càrrega, però difereixen quan s'utilitza l'enllaç d'adreces de temps d'execució.