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

Tabla de contenido:

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

Video: Diferencia entre dirección lógica y dirección física

Video: Diferencia entre dirección lógica y dirección física
Video: Usted sabe la diferencia entre Direcciones Físicas y Lógicas - SeaCCNA - Cisco CCNA 200-125. 2024, Mes de julio
Anonim

La diferencia clave entre la dirección lógica y la dirección física es que la CPU genera una 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 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 mediante el bus de datos.

Diferencia entre la dirección lógica y la dirección física: resumen de comparación
Diferencia entre la dirección lógica y la dirección física: resumen de comparación
Diferencia entre la dirección lógica y la dirección física: resumen de comparación
Diferencia entre la dirección lógica y la dirección física: resumen de comparación

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

CPU genera una 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 funcionan utilizando las direcciones lógicas. El espacio de direcciones lógicas es el conjunto de direcciones lógicas que genera un programa. Es necesario mapear las direcciones lógicas a las direcciones físicas antes de usarlas. La Unidad de administración de memoria (MMU) del dispositivo de hardware maneja este proceso de mapeo.

Esquemas de mapeo de 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 los programas de aplicación antes de enviarlos a la memoria. También hay algunos otros métodos complejos para generar el mapeo. El enlace de direcciones (es decir, la asignación de instrucciones y datos en direcciones de memoria) puede ocurrir en tres momentos diferentes.

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

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

En primer lugar, puede suceder en tiempo de compilación si las ubicaciones de memoria reales se conocen de antemano, y esto generaría el código absoluto en tiempo de compilación. También puede ocurrir en el momento de la carga si las ubicaciones de la memoria no se conocen de antemano. Para esto, el código reubicable debe generarse en tiempo de compilación. Además, el enlace de direcciones puede ocurrir en el momento de la ejecución. Esto requiere soporte de hardware para el mapeo de direcciones. En tiempo de compilación y enlace de direcciones de tiempo de carga, las direcciones lógicas y físicas son las mismas. Pero este procedimiento es diferente cuando la vinculación de direcciones ocurre en 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 asignación más simple, que agrega el valor del registro de reubicación (suponga que el valor en el registro es y) a la dirección lógica, un rango de direcciones lógicas de 0 a x se asignaría a un rango de direcciones físicas de y a x+ y.

Además, también se denomina espacio de direcciones físicas de ese programa. Todas las direcciones lógicas deben asignarse a direcciones físicas antes de poder usarlas.

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

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

La dirección lógica es la dirección en la que parece residir un elemento desde la perspectiva de un programa de aplicación en ejecución. La dirección física es una dirección de memoria que se representa en forma de un número binario en el circuito del bus de direcciones para permitir que el bus de datos acceda a una celda de almacenamiento particular de la memoria principal, o a un registro de memoria asignada I /O dispositivo.
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 utilizar 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 frente a 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 a direcciones físicas antes de que la MMU pueda usarlas. Las direcciones físicas y lógicas son las mismas cuando se usa el enlace de dirección de tiempo de compilación y de carga, pero difieren cuando se usa el enlace de dirección de tiempo de ejecución.

Recomendado: