Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Gestin de memoria.
2. Memoria virtual.
3 M i i t l i d 3. Memoria virtual paginada.
4. Memoria virtual segmentada.
5. Ejemplo
1
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Gestin de memoria
El sistemadememoriavirtual delosactualescomputadoressurgiparaliberar al programador El sistema de memoria virtual de los actuales computadores surgi para liberar al programador
de una serie de tareas relacionadas con el uso que los programas deban realizar con la memoria
La memoria virtual automatiza la gestin entre los dos niveles principales de la jerarqua de
memoria: memoria principal y disco.
El mecanismo ms importante que gestiona la memoria virtual es el de la paginacin, que surgi
de la necesidad de mantener ms de un programa residente en memoria cuando la capacidad de
sta es inferior a la suma de los tamaos de los programas.
Se trata de un mecanismo automtico en el que el espacio de memoria principal se divide en
bloques de tamao fijo denominados pginas.
Los programas se dividen tambin en pginas y residen en el disco.
El sistema se encarga de asignar pginas fsicas a los programas en ejecucin
Memoria principal
M3 M4 M2 M1
M1
M2
Disco
M2
e/s
2
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Principio de funcionamiento de la memoria virtual
Enuncomputador conmemoriavirtual (MV) lasdireccionesdelosprogramas(generadaspor Enuncomputador conmemoriavirtual (MV) lasdireccionesdelosprogramas(generadaspor
laCPU) hacen referenciaaun espacio mayor queel espacio fsico realmentedisponibleen la
memoriaprincipal omemoriafsica(MF).
Losprogramas operanvirtualmente conuntamaofsicodememoriaprincipal muchomayor p g p p p y
queel realmentedisponible.
En estas mquinas hay que diferenciar, pues, entre el espacio de direcciones virtuales
generado por la CPU y el espacio de direcciones fsicas o reales existentes en memoria,
determinadopor el nmerodelneasdel busdedirecciones.
El espaciovirtual sesoportasobreundiscoconlaayudadeunmecanismodetraduccinque
generaladireccinfsicadememoriaprincipal apartir delavirtual.
Tantolamemoriaprincipal comolamemoriadel discosedividenenpginasdeigual tamao.
El nmerodepginasdelamemoriavirtual esmayor queel nmerodepginasdelamemoria
fsica. fsica.
Encadamomentoslolascopiasdeunconjuntodepginasvirtualesdel programaresidenen
lamemoriafsica: conjunto de trabajo oconjunto activo
El conjunto activo resulta relativamente estable a lo largo del tiempo, debido a la localidad
referencial quemanifiestanlosprogramas.
3
Esquema general del mecanismo de traduccin de direcciones
CPU
Memoria virtual
Nmero dePginaVirtual (NPV) Desplaz. Pgina(DP)
Direccin Virtual (DV)
Los bits de una DV se consideran divididos en dos campos, el
nmero de pgina virtual (NPV) los ms significativos, y el
desplazamiento dentro de la pgina (DP), losmenossignificativos.
El nmerodebitsdel campoDP lodeterminael tamaodepgina
( d b d DP l d )
TabladePginas
Pgina0
Pgina1
Pgina2
Pgina3
Pgina4
control pv 0 pag. fsicaf-1
control pv 1 pag. fsica2
Reg. Base Tablade Paginas
Sumador
(n de bits de DP = log
2
tamao de pgina).
El nmero de bits del campo NPV lo determina el nmero de
pginasvirtuales(n de bits de NPV = log
2
n de pginas virtuales).
Los bits de una DF se consideran divididos tambin en dos
campos, el nmero de pgina fsica (NPF) los ms significativos, y
2
v
pginas
Memoria fsica
Nmero dePginaFsica (NPF) Desplaz. Pgina(DP)
Direccin Fsica (DF)
Pgina4
Pgina5
p p g
control pv 2 pag. fsica1
control pv v-2 pag. fsica0
control pv v-1 pag. endisco
p , p g f ( ) g , y
el desplazamiento dentro de la pgina (DP), los menos
significativos.
El nmerodebitsdel campoDP deunaDF esel mismoqueel de
unaDV puestoquelaspginastienenigual tamaoenMV yMF.
El nmero de bits del campo NPF lo determina el nmero de
Pgina0
Pgina1
Pgina2
Pgina2
v
-3
Memoria de Disco
pv v-1
2
w
pginas
El nmero de bits del campo NPF lo determina el nmero de
pginas fsicas de MF (n de bits de NPF = log
2
n de pginas
fsicas).
LasDVsgeneradaspor laCPU setraducenaDFsconlaayudade
unaTabladePginas(TP).
Esta tabla contiene en principio tantas entradas como pginas
Pginaf-2
Pginaf-1
Pgina
2v
-2
Pgina2
v
-1
Esta tabla contiene en principio tantas entradas como pginas
existen en la MV, y la posicin en la tabla de una entrada
correspondienteaunapginavirtual concretacoincideconsuNPV.
Cadaentradacontieneunprimer campodebitsdecontrol delosquepor el momentoharemosreferenciatansloauno el bit depresencia(P) Cadaentradacontieneunprimer campodebitsdecontrol, delosquepor el momentoharemosreferenciatansloauno, el bit depresencia(P).
Si estebit estactivo(por ejemploa1) significaquelapginavirtual correspondienteaesaentradaestpresenteenlaMF, y enestecasoel segundocampo
delaentradacontieneel correspondienteNPF.
Si el bit P estinactivo(por ejemploa0) significaquelacorrespondientepginavirtual noestenlaMF, sinoenel disco.
El accesoalaTP serealizaconlaayudadeunregistrobasedelatabladepginas(RBTP) asociadoacadaprogramaenejecucin
4
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
El accesoalaTP serealizaconlaayudadeunregistrobasedelatabladepginas(RBTP) asociadoacadaprogramaenejecucin
Memoria virtual paginada
El espaciovirtual (yfsico) sedivideenpginasdeigual tamao. p (y ) p g g
LasentradasdelaTPdeunaMV paginada, ademsdel NPF contieneel bit depresenciaP.
Existenotrosbitsquecontrolanlosderechosdeaccesoalapgina:
lectura(R) lectura(R),
escritura(W)
ejecucin(X) (sloparapginasdecdig).
El bit depginamodificada(datos) determinasuescrituraendiscocuandoseasustituida El bit depginamodificada(datos) determinasuescrituraendiscocuandoseasustituida.
Entrada de la tabla de pginas con correspondencia directa
P R W X Direccin de Pgina Fsica
Cadaprograma(proceso) puedeocupar unagrancantidaddememoriavirtual.
P j l l it t VAX d d t h t 2
31
2GB t d MV
P = bit de presencia (de la pgina en memoria fsica)
RWX =derechos de acceso de lectura, escritura y ejecucin
Por ejemplo, enlaarquitecturaVAX, cadaprocesopuedetener hasta2
31
=2GBytesdeMV.
Utilizandopginasde2
9
=512bytes, senecesitanTPsde2
22
entradaspor proceso.
Lacantidaddememoriadedicadasloatablasdepginaspodraser inaceptablementealta.
h i d l l l i i i l i ifi MuchossistemasdeMV almacenanlasTPsenlapropiamemoriavirtual stosignificaque
laTPtambinestsujetaapaginacin, igual queel restodelosprogramas.
Cuando un programa se ejecuta, al menos una parte de su TP debe estar en memoria
principal
5
principal.
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Tablas de pginas de varios niveles
Existe una pgina de directorio de nivel 1 en la que cada elemento apunta a una tabla de p g q p
pginas de nivel 2, y as sucesivamente.
La longitud mxima de una tabla de pginas se restringe al tamao de una pgina
TP organizada en tres niveles: N1, N2 y N3. g , y
Direccin Virtual
Nivel 1 Nivel 2 Nivel 3 Despla. Pgina
Tabla Paginas N1
+
RBP
Tabla Paginas N3
Tabla Paginas N2
Entrada TP N2
Entrada TP N3 +
+
Nmero P.F.
Direccin Fsica
Nmero de pgina fsica Despla. Pgina
6
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Tabla de pginas invertida HASH
EliminadelaTPlasentradasquenoapuntanaunapginadelaMF (entradas=pginasdeMF). EliminadelaTPlasentradasquenoapuntanaunapginadelaMF (entradas pginasdeMF).
El campoNPV delaDV sehacecorresponder sobreunatabla hash conunafuncindedispersin.
LatabladedispersinincluyeunpunteroaunaTPinvertida, quecontieneloselementosdelaTP.
Hayunelementoenlatabladedispersinyenlatablainvertidaparacadamarcodepgina.
RequiereunazonafijaenMF paralastablas, conindependenciadel nmerodeprogramasopginas.
Ms de una DV puede apuntar al mismo elemento de la pgina de dispersin se utiliza una tcnica de
encadenamiento.
Latcnicadedispersindalugar acadenasusualmentecortas, conunoodoselementos. Latcnicadedispersindalugar acadenasusualmentecortas, conunoodoselementos.
EstaalternativadeTPseutilizaenel PowerPC.
Direccin Virtual
N Pgina Virtual Desplazamiento
Tabla de Dispersin Tabla de Pginas
Funcin de
Dispersin
NPV NPF Enlace
NPF
NPV NPF Enlace
Direccin Fsica
N Pgina Fsica Desplazamiento
7
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Buffer de traduccin anticipada (TLB: Translation Lookaside Buffer )
TodareferenciaaMV requieredos accesos aMF: uno paraacceder alaTP y otro paralaDF TodareferenciaaMV requieredos accesos aMF: uno paraacceder alaTP, y otro paralaDF
Duplicar el tiempodeaccesoamemoria.
ParaevitarlolasMVsutilizanunacacheparalaTP: buffer de traduccin anticipada (TLB).
El TLB contieneaquellasentradasdelaTPalasquesehaaccedidorecientemente. q q
Por localidadtemporal, lamayoradelasreferenciasamemoriacorrespondernaposiciones
incluidasenpginasrecientementeutilizadas.
Normalmenteel TLB utilizaunacorrespondenciatotalmenteasociativa p
NPV DP
Buffer de traduccin anticipada (TLB)
RWX
Memoria
Asociativa
RWX NPV NPF
Direccin Fsica
=
Violacin de acceso
Fallo de pgina
NPF DP
8
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Interaccin entre la memoria virtual y la memoria cache
Lamemoriavirtual debeinteractuar conlamemoriacache Lamemoriavirtual debeinteractuar conlamemoriacache
Paratraducir unaDV seconsultaTLB paracomprobar si laentradaseencuentraenl.
Si esas, segeneralaDF combinandoel NPF conel DP.
Si d l TP b d l l t di t Si no, seaccedealaTPenbuscadel elementocorrespondiente.
ConDF seconsultalacachparaver si el bloqueseencuentraenel conjunto.
Si esas, seenvaal procesador.
Si no, seproduceunfallodecacheysebuscalapalabraenmemoriaprincipal.
LaDV debepasar primeropor el TLB antesdequelaDF puedaacceder alacache,
Estemecanismosepuedeacelerar utilizandodosalternativas: p
Acceder simultneamenteal TLB parabuscar el NPF yalacacheparabuscar el bloque.
Utilizar cachescondireccionesvirtuales
L i lt ti i l l it d d l d d l i t DP d l DV La primera alternativa requiere que la longitud del campo de desplazamiento DP de la DV
(igual al DP delaDF) seamayor oigual queloscamposdeconjunto y palabra del formatode
DF delacache
Deestaformaserposiblerealizar enparalelo p p
1)Labsquedaenel TLB del NPF quesecorrespondeconlaetiqueta.
2)Labsquedaenel directoriodelacachedel ndebloque(lnea).
9
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Acceso paralelo al TLB y al directorio de la cache
N PV DP
TLB
NPV NPF
TLB
Si la longitud del campo de
desplazamiento DP delaDV (igual al
DPdelaDF) esmayor oigual quelos
Fallodepgina
campos de conjunto y palabra del
formato de la DF para la cache, tal
como se muestra en la figura de la
derecha, sepuedeacceder en paralelo
Fallo de pgina
N PF DP
Memoriacache
(simultneamente) al TLB parabuscar
el NPF y al directoriodelacachepara
buscar el bloque,
etiqueta datos
etiqueta lnea palabra
Memoria cache
De esta forma ser posible realizar
enparalelo labsquedaenel TLB del
NPF que se corresponde con la
etiqueta, yenel directoriodelacache
el n debloque(lnea), quejunto a la
palabra dentro del bloque, se
corresponde con el DP, del que se
acierto
fallo
MUX
Comparador
dispone desde el instante que se
genera la DV, pues no requiere
traduccin.
10
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
Mltiples espacios virtuales
Una forma de acelerar la conmutacin de procesos evitando tener que borrar la TP es extender
las entradas con un campo que contiene el identificador de proceso (PID).
N PV DP
RWX PID NPV NPF
(TLB)
RWX PID
=
Fallo de pgina
=