Diferencia entre la dirección lógica y la dirección física

Diferencia entre la dirección lógica y la dirección física

El Diferencia clavee entre la dirección lógica y la dirección física es que CPU genera dirección lógica durante la ejecución del programa, mientras que la dirección física es una ubicación en la unidad de memoria.

En términos simples, la CPU genera la dirección lógica o la dirección virtual. Desde la perspectiva de un programa que se está ejecutando, un elemento parece estar ubicado en la dirección proporcionada por la dirección lógica. La unidad de memoria observa la dirección física. Además, permite acceder a una celda de memoria particular en la memoria principal por el bus de datos.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué es la dirección lógica?
3. ¿Qué es la dirección física?
4. Comparación de lado a lado: dirección lógica frente a la dirección física en forma tabular
5. Resumen

¿Qué es la dirección lógica??

CPU genera dirección lógica. Desde la perspectiva de un programa que se está ejecutando, un elemento parece estar ubicado en la dirección proporcionada por la dirección lógica. Los programas de aplicación que se ejecutan en la computadora no ven las direcciones físicas. Siempre trabajan usando las direcciones lógicas. El espacio de direcciones lógicas es el conjunto de direcciones lógicas, un programa genera. Es necesario mapear las direcciones lógicas a las direcciones físicas antes de usarlas. La Unidad de Administración de Memoria del dispositivo de hardware (MMU) maneja este proceso de mapeo.

Esquemas de mapeo MMU

MMU sigue varios esquemas de mapeo. En el esquema de mapeo más simple, el valor en el registro de reubicación se agrega a cada dirección lógica producida por programas de aplicación antes de enviarlos a la memoria. También hay otros métodos complejos para generar el mapeo. Enlace de dirección (yo.mi. Asignar instrucciones y datos en direcciones de memoria) puede ocurrir en tres momentos diferentes.

Figura 01: dirección lógica y física

En primer lugar, puede suceder en el tiempo de compilación si las ubicaciones de memoria reales se conocen de antemano, y esto generaría el código absoluto en el tiempo de compilación. También puede suceder en el momento de la carga si las ubicaciones de la memoria no se conocen de antemano. Para esto, se debe generar código reacondicionable en el momento de la compilación. Además, la unión de direcciones puede ocurrir en el momento de la ejecución. Esto requiere soporte de hardware para la asignación de direcciones. En el enlace de tiempo de compilación y tiempo de carga, las direcciones lógicas y físicas son las mismas. Pero este procedimiento es diferente cuando el enlace de la dirección ocurre en el tiempo de ejecución.

¿Qué es la dirección física??

La unidad de memoria observa la dirección física o la dirección real. Permite que el bus de datos acceda a una celda de memoria particular en la memoria principal. MMU asigna la dirección lógica a la dirección física. Por ejemplo, utilizando el esquema de mapeo más simple, que agrega el registro de reubicación (suponga que el valor en el registro es y) Valor a la dirección lógica, una dirección lógica varía de 0 a X se asignaría a un rango de direcciones físicas y a X+ Y.

Además, esto también se llama el espacio de direcciones físicas de ese programa. Todas las direcciones lógicas deben asignarse en direcciones físicas antes de que puedan usarse.

¿Cuál es la diferencia entre la dirección lógica y la dirección física??

 Dirección lógica frente a la dirección física

La dirección lógica es la dirección en la que un elemento parece residir desde la perspectiva de un programa de aplicación de ejecución. La dirección física es una dirección de memoria que se representa en forma de un número binario en los circuitos del bus de direcciones para permitir que el bus de datos acceda a un particular celda de almacenamiento de la memoria principal o un registro de dispositivo de E/S mapeado de memoria.
Visibilidad
El usuario puede ver la dirección lógica de un programa. El usuario no puede ver la dirección física del programa.
Método de generación
CPU genera la dirección lógica. MMU calcula la dirección física.
Accesibilidad
El usuario puede usar la dirección lógica para acceder a la dirección física. El usuario no puede acceder directamente a la dirección física.

Resumen -Dirección lógica versus dirección física

La diferencia entre la dirección lógica y la dirección física es que la CPU genera una dirección lógica cuando se ejecuta el programa, mientras que la dirección física es una ubicación en la unidad de memoria. Todas las direcciones lógicas deben asignarse en direcciones físicas antes de que la MMU pueda usarlas. Las direcciones físicas y lógicas son las mismas cuando se usan el tiempo de compilación y el enlace de la dirección de tiempo de carga, pero difieren cuando se usan la dirección de tiempo de ejecución vinculante.

Referencia:

1."Dirección lógica."Wikipedia, Fundación Wikimedia, 30 APR. 2018. Disponible aquí 
2."Dirección física."Wikipedia, Fundación Wikimedia, 30 APR. 2018. Disponible aquí 

Imagen de cortesía:

1.'Principio MMU' por Andre Schieleit - Trabajo propio, (dominio público) a través de Commons Wikimedia