Arquitectura de Arquitectura de Computadores IComputadores IArquitectura de Arquitectura de Computadores IComputadores I
Memoria VirtualMemoria Virtual
Jerarquía de Memoria
Registros
Cache
Principal
Secundaria (Disco)
Jerarquía de Memoria
Jerarquía de Memoria
Jerarquía de Memoria• Uso Eficiente de la Memoria
– Compartir memoria entre diferentes programas (multitasking)
– Reduce la carga en la programación al tener una memoria principal pequeña y limitada
• Por lo tanto la MEMORIA PRINCIPAL es como una CACHE para DISCO
Jerarquía de Memoria• SEGMENTACION
– Programa fragmentadoen bloques
Segmentos de un programa
Jerarquía de Memoria• SEGMENTACION
– No lineal– Visible al programador– Segmentos de tamaño variable– Cada segmento es de un tipo
determinado (código, datos, pila)
Jerarquía de Memoria• PAGINACIÓN
– Transparente– Lineal
Páginas
Jerarquía de Memoria• PAGINACIÓN
– “Ilusión” de una memoria más grande
– Espacio de Direcciones != Direcciones de Memoria (La memoria principal generalmente es pequeña)
Memoria Virtual
Memoria Virtual
Memoria Virtual
Memoria Virtual
Memoria Virtual
Memoria Virtual
• Ejemplo:Cuál es el tamaño de la tabla de
páginas?
Dirección virtual: 32 bitsTamaño de página: 4 KBNúmero de bytes por página: 4
Memoria Virtual
Solución:
2^32/4K=2^20=1 M páginasHay 4 bytes por página, o sea,4*1 M= 4M bytes de memoria
Memoria Virtual
Memoria Virtual
• Traslation Lookaside Buffer
Memoria Virtual