Publicado el 5 de Julio del 2017
780 visualizaciones desde el 5 de Julio del 2017
344,3 KB
64 paginas
Creado hace 16a (30/03/2009)
MEMORIA VIRTUAL
Curso 2008/2009
ECm2 - Memoria Virtual
1
Definición
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Gestión de memoria automática que da al
programador la ilusión de que su espacio de
direccionamiento no está limitado por el espacio
de memoria principal reservado a su programa
(espacio físico), sino por el rango de direcciones
que permite el sistema (espacio virtual).
Curso 2008/2009
ECm2 - Memoria Virtual
2
Ventajas de la memoria virtual
GRUPO DE ARQUITECTURA
DE COMPUTADORES
El espacio virtual puede ser mucho
mayor que el espacio físico. (A veces
menor, raro).
Facilita la multiprogramación.
Mejor aprovechamiento de la memoria
principal.
Facilita la protección de los programas.
Transparente al programador.
Curso 2008/2009
ECm2 - Memoria Virtual
3
Inconvenientes de la memoria virtual
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Gasto temporal relativamente elevado
de la gestión de memoria (traducción
de direcciones, reemplazos de bloques
reservados, etc.)
Gasto de procesamiento en la
resolución de excepciones.
Gasto hardware para conseguir una
gestión de memoria rápida y eficiente
(MMU, Memory Management Unit).
Curso 2008/2009
ECm2 - Memoria Virtual
4
Estructura de la
gestión de la memoria virtual
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Traducción hw-sw:
Desde el procesador
Dirección Virtual
Mapeador de Direcciones
Dirección Física
Jerarquía de Memoria
Fallo de página
(si la página no
está presente)
Curso 2008/2009
ECm2 - Memoria Virtual
5
Estrategias de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la memoria virtual (I)
MMU interna:
MMU en el mismo circuito integrado que el
procesador.
Se da en casi todos los procesadores
actuales
Ventajas:
Tiempos de acceso reducidos.
Alta portabilidad de programas.
Compartición de hardware entre el procesador
y la MMU.
Curso 2008/2009
ECm2 - Memoria Virtual
6
Estrategias de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la memoria virtual (II)
MMU externa:
MMU en un circuito integrado
independiente.
Ejemplos:
Motorola 68000/10 (68020) + 58451 (68851)
Zilog 8001 (8803) + 8010 (8015)
Nat. Semic. 16000 + 16082
Ventajas:
Se ahorra espacio del circuito integrado del
procesador para otros recursos (caché, etc.)
Curso 2008/2009
ECm2 - Memoria Virtual
7
Definiciones (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Espacio virtual ≡ espacio nominal ≡
espacio de direcciones:
Conjunto de direcciones que puede direccionar
un proceso.
Espacio físico ≡ espacio de memoria ≡
reserva de memoria primaria (PMA):
Espacio de memoria principal reservado para el
proceso.
Curso 2008/2009
ECm2 - Memoria Virtual
8
Definiciones (II)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Traductor de direcciones:
V: espacio virtual
M: espacio físico
{ }!"# MVf :
, si x está en M
Vx
y
!"
en la posición y
, en otro caso
xf
)(
=
!=)(xf
0
1
|M|-1
Espacio
Físico
0
1
2
3
|V|-1
Espacio
Virtual
Curso 2008/2009
ECm2 - Memoria Virtual
9
Definiciones (III)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Excepción o fallo de direccionamiento:
Se produce cuando f(x) = ø.
La referencia x debe transferirse de la memoria secundaria
a la primaria.
Reglas para resolver los fallos de direccionamiento:
Regla de carga: CUANDO se transfiere x.
Regla de ubicación: DONDE se sitúa x en la memoria
principal.
Regla de reemplazo: QUE referencia virtual situada en la
memoria principal debe eliminarse para hacer sitio a x.
(sólo si la memoria principal está totalmente ocupada).
Curso 2008/2009
ECm2 - Memoria Virtual
10
Clasificación de los
GRUPO DE ARQUITECTURA
DE COMPUTADORES
sistemas de memoria virtual (I)
Los sistemas de memoria virtual agrupan las
referencias virtuales en bloques.
Una referencia virtual, por tanto, está
compuesta de dos campos: número de
bloque y desplazamiento dentro del bloque.
Estos bloques se consideran como las
unidades de transferencia de información
entre la memoria secundaria y la principal.
Curso 2008/2009
ECm2 - Memoria Virtual
11
Clasificación de los
GRUPO DE ARQUITECTURA
DE COMPUTADORES
sistemas de memoria virtual (II)
El traductor de direcciones, por tanto, sólo
debe traducir el campo de bloque, dejando
invariante el desplazamiento.
El tamaño del traductor, de esta manera, es
proporcional al número de bloques del
espacio virtual (o físico). (Justificación de la
definición de bloques).
Referencia: Nº de bloque + desplazamiento
Sólo es necesario traducir el número de bloque.
Curso 2008/2009
ECm2 - Memoria Virtual
12
Clasificación de los
GRUPO DE ARQUITECTURA
DE COMPUTADORES
sistemas de memoria virtual (III)
Tipos de sistemas de memoria virtual según el
tamaño de los bloques:
Sistemas paginados:
Los bloques son todos del mismo tamaño.
Los bloques se llaman páginas y una excepción se
llama fallo de página.
Sistemas segmentados:
Los bloques son de tamaño diferente.
Los bloques se llaman segmentos y una excepción
se llama fallo de segmento.
Sistemas segmentados con paginación:
Los bloques (segmentos) son de tamaño desigual
pero múltiplo de un tamaño unidad (página).
Curso 2008/2009
ECm2 - Memoria Virtual
13
Sistemas paginados
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Esquema de memoria virtual más difundido.
Curso 2008/2009
ECm2 - Memoria Virtual
14
Representación
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Programa P:
P = {p1,p2, … , pN},
pi página virtual.
Normalmente, tamaño(pi) = p = 2k.
Dirección virtual incluída en pi:
aij = pidj, pi P, 0≤dj≤p
m bits m-k k bits
!
Vector de referencias (referencias a
páginas generadas al ejecutarse P):
R = r(1)r(2)…r(n), r(i) = pj, 1≤i≤n, 1≤j≤N
Curso 2008/2009
ECm2 - Memoria Virtual
15
Traducción de direcciones (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Proyección del subespacio virtual asociado a P
sobre su espacio físico reservado en la
memoria principal (PMA):
DIRECCIÓN VIRTUAL
Número de Página
Desplazamiento
MAPEADOR
DE PÁGINAS
Dirección Base
de la Página
Desplazamiento
Relativo
Dentro de
la Página
Curso 2008/2009
ECm2 - Memoria Virtual
16
Página (en Memoria)
Traducción de direcciones (II)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
La traducción sólo afecta al campo de
página virtual. El desplazamiento se
concatena con el resultado de la
traducción.
Página virtual página física
Curso 2008/2009
ECm2 - Memoria Virtual
17
Esquemas básicos de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la traducción (I)
Traducción directa:
El traductor se implementa mediante una tabla de
acceso directo de tamaño |V|/p, llamada tabla de
páginas.
Tabla indexada por el número de PV
Bit de residencia
Bit de validez
Bit de modificación
(siempre postescritura)
Reemplazo
(ej. Bits de referencia)
Protección
#de Pág. Desplaz.
0
1
i
#de Marco
Desplaz.
Curso 2008/2009
ECm2 - Memoria Virtual
18
|V|/p-1
Tabla de Páginas
Esquemas básicos de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la traducción (II)
Traducción directa
(cont.):
Almacenamiento de la
tabla de páginas:
En registros rápidos:
Traducción rápida y
costosa.
En la memoria principal:
Traducción más lenta
pero menos costosa que
la anterior.
1
6
R
e
g
i
s
t
r
o
s
d
e
d
i
r
e
c
c
i
ó
n
b
a
s
e
d
e
p
á
g
n
a
i
15
0
15
23
Dirección Lógica
0
Índice de registro Desplazamiento
4 bits
12 bits
# de
marco
Bits de
protección
Memoria
Física
Página
de 4KB
Dirección Física
0
# de marco Desplazamiento
Curso 2008/2009
ECm2 - Memoria Virtual
19
Esquemas básicos de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la traducción (II)
Traducción asociativa:
La traducción se implementa mediante una tabla de
páginas, pero ésta se almacena en una memoria
asociativa. Su tamaño es |M|/p.
Tabla de páginas invertida por hash (f(DV) DF).
#de Pág. Desplaz.
i
k
j
l
#de Marco
Desplaz.
Tabla de Páginas Asociativa (|M|/p entradas)
#de Pág. #de Marco
Curso 2008/2009
ECm2 - Memoria Virtual
20
Esquemas básicos de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la traducción (III)
Traducción directa en varios niveles:
El alto coste de los registros rápidos y de
las memorias asociativas así como el gran
tamaño de la tabla de páginas de acceso
directo restringen el uso de los esquemas
de traducción directo y asociativo a
sistemas pequeños.
La mayoría de los sistemas realizan la
traducción mediante un esquema directo
en dos niveles, es decir, almacenan la
tabla de páginas en el espacio virtual
(paginan la tabla de páginas).
Curso 2008/2009
ECm2 - Memoria Virtual
21
Esquemas básicos de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la traducción (IV)
Traducción directa en varios niveles (cont.):
Algunos sistemas amplían la traducción a tres
niveles, como el Z80,000.
Registros
Descriptores
de Tablas
+
+
+
TP nivel 1
TP nivel 2
TP nivel 3
31
24 23
16 15
9
0
31
910
0
Dirección Lógica
I-TP1
I-TP2
I-TP2
∆
# Marco
∆
Buffer de
Traducción
Anticipada
Inconvenientes:
Etiquetas de Dirección
Lógica de Página
Direcciones
Físicas de
Marcos
La traducción es lenta, pues hay que hacer tres (o
cuatro, tres niveles más dato) accesos a la memoria
principal.
La gestión de los fallos de página es compleja.
Curso 2008/2009
ECm2 - Memoria Virtual
22
Esquemas básicos de
GRUPO DE ARQUITECTURA
DE COMPUTADORES
implementación de la traducción (V)
Traducción directa y asociativa combinada:
Pretende combinar la ventaja del bajo coste
hardware de la traducción directa con la ventaja de la
alta velocidad de la traducción asociativa.
Puntero a la
Tabla de Páginas
#de Pág. Desplaz.
PTP
1
2
+
No acierto
Acier
Comentarios de: MEMORIA VIRTUAL (0)
No hay comentarios