En el concepto de paginación, ¿qué se compensa en la dirección lógica generada por la CPU?

Offset contiene bits que pueden representar cada dirección de memoria en una tabla de páginas.

Suponga que su compilador genera direcciones de 32 bits, es decir, tiene un espacio de direcciones virtuales de 32 bits. En ese caso, idealmente necesitaría 4 GB de RAM.

Pero supongamos que solo tiene 1 GB de RAM instalado. es decir, dirección física de 30 bits.

Además, suponga que tiene un tamaño de página de 4 KB. Entonces tendría 12 bits de desplazamiento de página.

Los últimos 12 bits de dirección virtual (denotando desplazamiento) tendrán correspondencia uno a uno con la dirección física. Los primeros 20 bits de la dirección virtual corresponderán a un número de página virtual que se asignará a un número de página física de 18 bits mediante una tabla de páginas.

Considere la idea de la siguiente manera:

La dirección virtual de 32 bits consiste en -> 20 bits más significativos indican el número de página virtual + 12 bits menos significativos indican el desplazamiento de página.

La dirección física de 30 bits consta de -> los 18 bits más significativos indican el número de página física + los 12 bits menos significativos indican el desplazamiento de la página.

Para convertir una dirección virtual en una dirección física, todo lo que necesitamos hacer es convertir el número de página virtual en número de página física. Esto se hace simplemente mirando la tabla de páginas. Espero que eso aclare las cosas.

PD: no he considerado la participación de TLB y cachés.

En primer lugar, la dirección lógica es la dirección generada por la CPU

Imagine que está tratando de ubicar una casa en una ciudad. Imagine que a cada casa se le dio un número único; puede imaginar que la cantidad de casas pronto se volvería muy grande y confusa. Ahora imagine que introduce el concepto de calles: los números de las casas ahora se vuelven un poco más manejables a medida que los agrupa en trozos. Entonces: Calles = número de página, número de casa = dirección de desplazamiento

Para ser técnico,

Desplazamiento dentro de un segmento particular.

En las calles anteriores hay segmentos, si queremos alcanzar un número de casa en particular, ninguna de las casas que necesitamos mover para llegar a nuestro destino (desplazamiento) se conoce como desplazamiento.

El desplazamiento en la dirección lógica es el desplazamiento dentro de la página. Para hacer esto muy simple, considere la siguiente imagen:

Las páginas son los grupos [a, b, c, d], [e, f, g, h], [i, j, k, l] y [m, n, o, p]. La dirección lógica 0 es la página 0, desplazamiento 0 . Las direcciones lógicas 1, 2 y 3 son la página 0, las compensaciones 1, 2 y 3 respectivamente. Del mismo modo, la dirección lógica 4 es la página 1, desplazamiento 0, etc.

Los últimos 12 bits de dirección virtual (denotando desplazamiento) tendrán correspondencia uno a uno con la dirección física. Los primeros 20 bits de la dirección virtual corresponderán a un número de página virtual que se asignará a un número de página física de 18 bits mediante una tabla de páginas.

More Interesting

¿Cuál es el problema más desafiante resuelto por un ingeniero en escalabilidad y sistema distribuido, analítica en tiempo real?

Nombre la función que se llama por primera vez cuando presionamos el botón de encendido de la computadora?

¿La equivalencia es computable sobre el conjunto de funciones recursivas primitivas?

¿Por qué las imágenes médicas anónimas no se comparten libremente como conjuntos de datos de aprendizaje automático?

¿Por qué las computadoras analógicas se volvieron obsoletas?

¿Cuáles son las ventajas de la tecnología heredada y clásica?

¿Se utiliza el cálculo en el funcionamiento de la arquitectura de computadoras?

¿Cómo dibuja una línea en la pantalla un programa de gráficos por computadora? Del código de alto nivel al nivel de la tarjeta gráfica, ¿qué sucede?

En el procesamiento de Python, para compartir el estado entre procesos, ¿es más rápido usar un proceso de servidor o memoria compartida?

¿Qué tan bueno es el Master of Science en ciencia de datos en línea de SMU? ¿Ayuda hacer una carrera en ciencias de datos o ayudar a mejorarlo?

¿Cuáles son algunos buenos usos para el análisis predictivo, en particular prediction.io?

¿Cuál es una buena explicación de la nueva Transformada de Fourier Rápida y Escasa del MIT para personas no técnicas?

¿Cuál es la reputación de MS (CS) con la especialización de Cloud Computing de Texas Tech, Universidad de Lubbock en el mercado laboral de EE. UU. Ahora? ¿Qué área de investigación en computación en la nube tiene una gran demanda desde una perspectiva laboral en el mercado estadounidense de hoy?

¿Cómo utiliza Google el aprendizaje automático para identificar automáticamente videos relacionados con el extremismo y el terrorismo en YouTube?

¿Cuáles son las tres ideas principales en arquitectura de computadoras desde la invención de la computadora?