Académique Documents
Professionnel Documents
Culture Documents
Estructura y Tecnolologa
de Ordenadores
Memoria virtual
1. Introduccin
2. Paginacin
3. Segmentacin
4. Segmentacin paginada
5. Paginacin por demanda y anticipada
6. Polticas de reemplazo
7. Poltica de asignacin de marcos de
pgina
8. Similitud entre las distintas Jerarquas
Estructura y Tecnologa de
Ordenadores
Memoria virtual
1. Introduccin
Concepto de Memoria Virtual: Mtodo para conseguir que la suma de
los espacios de pila, datos y texto de un programa pueda ser mayor que
el tamao fsico de la memoria disponible para l. (Fotheringham, 1961)
1. Introduccin
Ventajas:
Direccin
direccin
fsica
lgica
CPU p d f d
p Memoria
Pgina
(virtual) f
Pgina
desplazamiento (fsica)
Tabla de pginas -marco- 0
Referencia Memoria
2
1 Excepcin secundaria
LOAD M 0
6
Reiniciar
Memoria
la instr. principal
Tabla de
pginas
5 Marco libre 4 Cargar la
Actualizar la
pgina que
tabla de pginas
falla
Caching Desactivado/Activado
No usado
Estructura y Tecnologa de Ordenadores
ETSII ULL- 2004
Memoria virtual
Tamao de pgina: La eleccin de tamao de pgina
est condicionada por diversos factores, entre los que hay
que conseguir equilibrio:
Potencia de 2 y mltiplo del tamao del bloque de
disco
mejor pequeo por:
Menor fragmentacin
Se ajusta mejor al conjunto de trabajo
mejor grande por:
Tablas ms pequeas
Mejor rendimiento de dispositivos de E/S
Compromiso (entre 2K y 16K)
0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
0 010 1 bit presente/ausente
1 001 1
pgina 2 110 1
3 000 1
virtual 4 100 1
5 011 1 Desplazamiento
6 000 0
7 000 0 (12 bits)
8 000 0
pgina 9 101 1
10 000 0
fsica 11 111 1
12 000 0
13 000 0
14 000 0
15 000 0
1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
T. Pginas Proceso 1
Pgina 0 Marco 2
Memoria
Pgina 1 Marco N
Pg. 1 Pr. 2 Marco 0
..............
Pg. P Pr. 2 Marco 1
Pgina M Marco 3
Pg. 0 Pr. 1 Marco 2
Pg. M Pr. 1 Marco 3
T. Pginas Proceso 2
Pg. 0 Pr. 2 Marco 4
Pgina 0 Marco 4
............
Pgina 1 Marco 0
.............. Pg. 1 Pr. 1 Marco N
Pgina P Marco 1
Totalmente asociativa
Cada entrada:
Etiqueta 20 bits
Bloque fsico 20 bits
Bits de validez, modificacin
Otros bits de organizacin
TLB y Cach
de un R2000
Fallos de pgina
Se produce cuando
el bit de presencia
est en off (0)
Quiere decir que la
pgina no est en
M.P.
Acudir al nivel
superior de
memoria (disco)
Transferirla a M.P.
Poltica de reemplazos:
Reemplazo local: Slo puede usarse para reemplazo un marco
asignado al proceso que causa fallo
Reemplazo global: Puede usarse para reemplazo cualquier marco
Registro base de la TP
(RIED) n
0
1
2
3
2 niveles, pginas de 4K, dir. lgica 32 bits (10 bits por nivel) y 4
bytes por entrada
Tamao: 1 TP N1 + 4 TP N2= 5 * 4KB = 20KB (frente a 4MB)
..
.
P g in a 1 0 2 3
T a b la d e p g in a s
p r im e r n iv e l
.. P g in a 0
V .
V
P g in a 1 0 2 4
V
I
P g in a 2 0 4 7
I ..
V .
P g in a 3 0 7 1
.. P g in a 1 0 4 8 5 7 5 ( 2 ^ 2 0 - 1 )
.
P g . 1 0 4 7 5 5 2 (2 ^ 2 0 -1 0 2 4 )
Memoria virtual
Otra alternativa para disminuir el espacio necesario por la tabla de pginas
es la tabla de pginas invertida
Organizacin:
La tabla contendr tantas entradas como marcos de pgina haya.
Cada entrada almacena la pgina cargada en dicho marco junto con
sus caractersticas:
Nmero de pgina,
Proceso dueo de la pgina
El tamao de la tabla de pginas es proporcional a la memoria
disponible.
Accesos:La MMU usa una TLB convencional, pero si falla la traduccin se
accede a la tabla de pginas invertida. Al estar la tabla organizada por
marcos no se puede hacer una bsqueda directa. Debera accederse a
todas las entradas en busca de la pgina correspondiente. Por esta
razn se suele organizar como una tabla hash
Ahorro de espacio: Se reduce el espacio de almacenamiento necesario,
ya que slo se guarda informacin sobre las pginas vlidas
Direccin fsica
Algoritmos a estudiar
A. FIFO
B. Reloj (o segunda oportunidad)
C. NRU
D. LRU
E. NFU
T= 0 1 2 3 4 5 6 7 8 9 A B C D E F
Pgina= 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0
T= 0 1 2 3 4 5 6 7 8 9 A B C D E F
Pgina= 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0
7,0 7,0 7,0 2,3 2,3 2,3 4,7 4,7 4,7 0,A 0,A 0,A
Tablas 0,1 0,1 0,1 3,5 3,5 3,5 2,8 2,8 2,8 1,D 1,D
a) 1,2 1,2 1,2 0,6 0,6 0,6 3,9 3,9 3,9 2,F
+ antiguo 7 7 7 0 1 2 3 0 4 2 3 0
0 0 1 2 3 0 4 2 3 0 1
+ nuevo b) 1 2 3 0 4 2 3 0 1 2
Estructura y Tecnologa de Ordenadores
ETSII ULL- 2004
Memoria virtual
Algoritmo de pginas del reloj
Figura
Estructura y Tecnologa 8.16. Ejemplo de funcionamiento de la poltica del reloj.
de Ordenadores
ETSII ULL- 2004
Memoria virtual
Algoritmo NRU
(de uso no reciente)
Clase 0: Pginas no referenciadas ni modificadas (R=0,M=0)
Clase 1: Pginas no referenciadas, modificadas (R=0,M=1)
Clase 2: Pginas referenciadas no modificadas (R=1,M=0)
Clase 3: Pginas referenciadas, modificadas (R=1,M=1)
Modif.
(M)=
Reset R=
T= 0 1 2 3 4 5 6 7 8 9 A B C D E
Pgina=7 0 1 2 0 3 0 4 2 3 0 3 2 1 2
7,1,0 7,1,0 7,1,0 2,1,1 2,0,1 3,1,1 3,1,1 3,1,1 3,0,1 3,1,1 3,1,1 3,1,1 3,0,1 3,0,1 3,0,1
0,1,0 0,1,0 0,1,0 0,1,0 0,1,0 0,1,0 0,1,0 2,1,1 2,1,1 2,1,1 2,1,1 2,1,1 2,1,1 2,1,1
1,1,1 1,1,1 1,0,1 1,0,1 1,0,1 4,1,1 4,0,1 4,0,1 0,1,0 0,1,0 0,0,0 1,1,0 1,1,0
Algoritmo LRU
(pgina usada hace ms tiempo)
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
0 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0
LRU 7 7 7 0 1 2 2 3 0 4 2 2 0 3 3 1 2 0 1 7
Se activa un contador software por cada pgina
En cada interrupcin de reloj, el SO suma el bit R (0 1)
al contador
Cundo existe un fallo de pgina se selecciona la pgina
con el contador ms bajo y se enva a disco
Algoritmo NFU
(pgina no frecuentemente usada)
-Maduracin:
Se activa un contador software por cada pgina
En cada interrupcin de reloj se desplaza el contador
un bit a la derecha y luego se suma el bit R al bit ms
significativo del contador.
lm ite base
N O m e m o r ia
> +
S I
E x c e p c i n
Organizacin:
Entrada en TS apunta a una TP para el segmento.
El espacio del segmento est compuesto de varias pginas, de forma
que su espacio no tiene que ser contiguo.
d ir e c c i n l g ic a
s p d t a b la d e p g in a s
t a b la d e s e g m e n t o s p a ra s e g m e n to s
lm ite d ir. T . P g . p m
NO m e m o r ia
> m d
SI
d ir e c c i n
E x c e p c i n f s ic a
A) Asignacin fija
Estructura y Tecnologa de
Ordenadores
Similitud entre las distintas Jerarquas
Estructura y Tecnologa de
Ordenadores
Similitud entre las distintas Jerarquas
Estructura y Tecnologa de
Ordenadores
Estructura y Tecnologa de
Ordenadores
Similitud entre las distintas Jerarquas
Estructura y Tecnologa de
Ordenadores
Similitud entre las distintas Jerarquas
Que bloques se deben de reemplazar en un
fallo de Cach?
Estructura y Tecnologa de
Ordenadores
Similitud entre las distintas Jerarquas
Qu ocurre en la escritura?
Escritura Directa (Write Trhough)
Fallos de lectura baratos
Implementacin facil (buffer de escritura)
Post-escritura (Write Back)
Escritura a velocidad de la Cach
Mltiples escritura se reduce a una
Uso del ancho de band del nivel mas bajo
Para Memoria Virtual
Poltica de Post-escritura (gran latencia)
Tendencias de Caches a Post-escritura
Aumento del gap CPU-Memoria
Estructura y Tecnologa de
Ordenadores