¿Cómo se asigna la dirección lógica a la dirección física?

El proceso de asignación de direcciones lógicas a direcciones físicas lo realiza la Unidad de administración de memoria (MMU) .

1) Tabla de páginas: La Unidad de administración de memoria (MMU) mantiene una tabla de páginas, que es una estructura de datos que almacena la asignación entre direcciones lógicas y físicas. Cada entrada en la tabla de páginas representa una página de memoria y contiene la dirección física de la página correspondiente.

2) Búfer de traducción (TLB): La MMU también utiliza un Translation Lookaside Buffer (TLB) para acelerar el proceso de traducción de direcciones. El TLB es un pequeño caché que almacena entradas de la tabla de páginas utilizadas recientemente, de modo que la MMU no tenga que acceder a la tabla de páginas cada vez que necesite traducir una dirección.

3) Traducción de direcciones: Cuando la CPU genera una dirección lógica, la MMU primero verifica el TLB para ver si la dirección ya está almacenada en caché. Si la dirección no está en el TLB, la MMU calcula la dirección de la entrada de la tabla de páginas utilizando un número de página y un desplazamiento, y recupera la entrada de la memoria. Luego, la dirección física de la página se extrae de la entrada de la tabla de páginas y el desplazamiento se agrega a la dirección física para obtener la dirección física final.