Apuntes de clase 29/04/10

Esquema de traducción de direcciones

Las direcciones generadas por la cpu se dividen en:
  • Numero de pagina (p) utilizada en la tabla de paginas que contiene las direcciones base de cada pagina en la memoria física.
  • El desplazamiento de pagina (d) combinado con la dirección base definen la dirección de memoria fisica que es enviada a la unidad de memoria.
Traducción: proceso referencia (p,d), se busca en la tabla de correspondencia de paginas para ver la p' (p real), la dirección real es p'+d. Por agilidad tabla de correspondencia en chaché.

Si no hay resistencia de la pagina en memoria principal, sucede una falta de pagina. r=0 si pagina no esta en real.

Elementos de la tabla de paginas:
  • desactivada chache
  • referencia
  • modificada
  • protección
  • presente/ausente
  • N° de Marco/Swap
Otras informaciones:
  • Copia en escritura
  • Edad
  • No pagina (fija en memoria física)
  • Rellenar a ceros
Buffer de traducción anticipada (TLB)
La tabla de paginas se mantiene en memoria principal.
El registro base de la tabla de paginas (PTBR) señalan tablas de paginas.
El registro de longitud de tabla de paginas (PRLR) indica el tamaño de la tabla de paginas.
Toda memoria virtual puede causar dos accesos a memoria fisica:
  • Uno para buscar en la tabla de pagina apropiada.
  • Uno para buscar los datos solicitados.
Para solventar este problema, la mayoria de esquemas de memoria virtual utilizan una cache especial de alta velocidad para las entradas de la tabla de pagina
Se le denomina biffer de traduccion anticipada [Translation Lookaside Buffer (TLB)], tambien llamado registros asociativos.

Contiene aquellas entradas de la tabla de paginas que han sido usadas de forma reciente.
Dada una direccion virtual, el procesador primero examina la TLB
Si la entrada de tabla de paginas solicitada esta presente (acierto en TLB), entonces se recupera el numero de marco y se construye la direccion real.


Rendimiento en paginacion por demanda con intercambio

tasa de fallo de pagina 0 <= p <=1
si p=0 no hay fallo pagina
si p=1, cada referencia es un fallo de pagina

Tiempo de acceso efectivo con intercambio
EATS= (1-p) * acceso a memoria +p*(sobrecarga de fallo de pagina + [descarga] + carga + reinicio)

entonces:

EATS=(1-p)*t + p*f

SEGMENTACION

Esquema de administracion de memoria que soporta la vision del usuario en la memoria.
Un programa es una coleccion de segmentos. Un segmento es una unidad lógica como por ejemplo:
  • programa principal
  • procedimientos
  • funciones
  • variables locales, variables globales
  • bloques comunes
  • pila
  • tabla de simbolos, arreglos, etc...


Comentarios