Paginacion, Traducción de direcciones, TBL

Paginación

  • El espacio de direcciones lógicas de un proceso no necesariamente es contiguo; los procesos se ubican en memoria física donde luego quedan disponibles.
  • Se divide la memoria física en bloques de tamaño fijo llamados marcos (los tamaños son potencias de 2, entre 512 y 8192 bytes)
  • Se divide la memoria lógica en bloques del mismo tamaño llamados paginas.
  • Para cargar un programa de tamaño n paginas, se requiere encontrar n marcos libres y cargar el programa.
  • Se puede presentar fragmentación interna.

Esquema de traducción de direcciones

Las direcciones generadas por CPU se dividen en:

  • Número de pagina (p) Utilizado en la tabla de páginas que contiene las direcciones base de cada página en la memoria física
  • El desplazamiento de página (d) Combinado con la dirección base definen la dirección de memoria física que es enviada a la unidad de memoria.

Traducción: Proceso referencia (p,d) se busca en la tabla de correspondencia de páginas para ver la p’(p real), La dirección es real es p’+d. Por agilidad tabla correspondencia en caché.

Si no hay residencia de la página en memoria principal, sucede una falta de página. r=0 si página no está en real, 1 si está.

 

Bit residencia de pagina Dir auxiliar si no está en real #marco si esta en real
r s p’

 

Traducción de direcciones en paginación

 

Ejemplo de traduccion con tablas de paginas

 

BUFFER DE TRADUCCIÓN ANTICIPADA (TBL)

  • Las tablas de páginas se mantiene en memoria principal
  • El registro base de la tabla de páginas (PTBR) señala la tabla de páginas.
  • El registro de longitud de tablas de páginas (PRLR) indica el tamaño de la tabla de páginas.
  • Toda memoria virtual puede causar dos accesos a memoria física
    • Uno para buscar en la tabla de pagina apropiada
    • Uno para buscar los datos solicitados
  • Para solventar este problema, la mayoría  de esquemas de memoria virtual utilizan una cache especial de alta velocidad para las entradas de la tabla de pagina
    • Se le denomina buffer de traducción anticipada, también llamado registros asociativos.
  • Contiene aquellas entradas de la tabla de páginas que han sido usadas de forma más reciente.
  • Dada una dirección virtual, el procesador primero examina la TLB
  • Si la entrada de la tabla de páginas solicitada está presente (acierto en TLB) entonces se recupera el número de marco y se construye la dirección real
  • Si la entrada de la tabla de paginas solicitada no se encuentra (fallo en la TBL), el procesador utiliza el número de página para indexar la tabla de páginas del proceso

Operación de paginación y TBL

 
  1. Empieza
  2. Se verifica si la página está en TLB
  3. Si es así la CPU genera la dirección física
  4. Si no Accede a la tabla de páginas
  5. Pregunta si la Página está en memoria principal
  6. Si es así, Actualiza la TLB
  7. Si no el SO solicita a la CPU la lectura de las páginas desde disco
  8. La CPU activa el hardware de E/S
  9. Página transferida de disco a memoria
  10. Se pregunta si la memoria está llena
  11. Si es así Realiza el reemplazo de página
  12. Si no Actualiza las tablas de páginas
  13. Y retorna al paso 2 donde se verifica la TLB

Registros activos/Tiempo de Acceso efectivo sin intercambio

Sea E=Tiempo de Búsqueda Asociativa
t= tiempo de Ciclo de memoria, tiempo de acceso a un dato en memoria
a=Tasa de aciertos – porcentaje de veces que un intento de página se encuentra en los registros asociativos, está relacionada con el número de registros asociativos

EAT= Tiempo de acceso efectivo

EAT=(t+E)a+(2t+E)(1-a)
Tiempo si está en caché(probabilidad de que esté en caché) + Tiempo si no está en caché(probabilidad de que no esté en caché)

Traducción de direcciones (A’, A”)

  • Si A’ es un registro asociativo, saque el marco #.
  • De otra forma obtenga el marco # de la tabla de páginas de memoria.

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: