Upload
carlos7624
View
234
Download
1
Embed Size (px)
DESCRIPTION
fddfsdfdsfsdfsdfds
Citation preview
Arquitectura de ComputadoresClase 21Memoria VirtualIIC 2342Semestre 2008-2
Rubn MitnikPontificia Universidad Catlica de ChileEscuela de IngenieraDepartamento de Ciencia de la Computacin
ObjetivosCaptulo 5 : Sistemas de Memoria Memoria Virtual
Entender qu es la memoria virtual junto con sus ventajas
Entender la funcin de las distintas piezas de hardware involucradas en el uso de la memoria virtualMemory Managment Unit (MMU)Transition Lookaside Buffer (TLB)
Entender el funcionamiento de la memoria virtualPginas y Marcos, Excepciones, y SwapObjetivosR.Mitnik *Arquitectura de Computadores
Arquitectura de Computadores
R.Mitnik
Arquitectura de Computadores*ndice5.1 Sistemas de almacenamiento5.2 Jerarquas de memoria5.3 Tecnologas de memorias5.4 Representacin y formato de datos5.5 Memoria cach5.6 Memoria virtualCaptulo 5 : Sistemas de Memoria
Arquitectura de Computadores
R.Mitnik
Arquitectura de Computadores*Memoria VirtualIntroduccinCaptulo 5 : Sistemas de MemoriaLa memoria virtual permite desacoplar la memoria que la CPU ve de la memoria fsicaProcesos no se preocupan de dnde estn realmenteDistintos procesos pueden utilizar las mismas direcciones de memoriae.g. varios procesos iguales corriendo en paralelo
Permite utilizar ms memoria que la disponibleSeguridadprocesos no conocen el espacio de memoria fsica de los demsno pueden determinar la memoria fsica a utiliza
Arquitectura de Computadores
R.Mitnik
Arquitectura de Computadores*Memoria VirtualIntroduccinCaptulo 5 : Sistemas de MemoriaLa memoria virtual permite desacoplar la memoria que la CPU ve de la memoria fsica
Define dos espacios de direccionamiento: uno virtual (el que los procesos ven) y uno fsico (la memoria principal)Por eficiencia se agrega un intermediario que traduce las direcciones entre ambos espaciosMemroy Managment Unit (MMU)
CPU enva direcciones virtuales, MMU las transforma a direcciones fsicas
R.Mitnik
Arquitectura de Computadores*IntroduccinCaptulo 5 : Sistemas de Memoria Memoria Virtual
R.Mitnik
Arquitectura de Computadores*Memoria VirtualIntroduccinCaptulo 5 : Sistemas de MemoriaCPU enva direcciones virtuales, MMU las transforma a direcciones fsicasMMU slo se encarga de traducir direcciones
Quin determina cmo se mapea de un espacio al otro?El Sistema Operativo (SO)
Cmo mapea el Sistema Operativo?Disea y mantiene una funcin F() (mapa de memoria) que permite mapear direcciones entre los espacios virtual y fsico.
R.Mitnik
Arquitectura de Computadores*Memoria VirtualImplementacinCaptulo 5 : Sistemas de MemoriaImplementar un mapeo 1-1 es muy ineficienteMapear cada direccin virtual a una direccin real es costossimo
Solucin: Paginacin
R.Mitnik
Arquitectura de Computadores*Memoria VirtualPaginacinCaptulo 5 : Sistemas de MemoriaCada pgina representa un conjunto de bytesTodas las pginas tienen el mismo tamao
El tamao de las pginas viene dado por la arquitectura (e.g. 4Kb)
Las pginas tienen el mismo tamao en ambos espacios (virtual y fsico)
En el espacio fsico, las pginas virtuales se almacenan en marcos fsicos
El mapa de memoria queda representado como un mapa de pginas
R.Mitnik
Arquitectura de Computadores*Memoria VirtualPaginacinCaptulo 5 : Sistemas de MemoriaEl mapa de memoria queda representado como un mapa de pginasSe representa como una tablaMapea las pginas virtuales a los marcos fsicos de la memoria
R.Mitnik
Arquitectura de Computadores*PaginacinCaptulo 5 : Sistemas de Memoria Memoria VirtualEjemplo:Memoria Virtual:16 pginas de 4KDirecciones de 16 bits
Memoria Fsica:8 pginas de 4KDirecciones de 15 bits
R.Mitnik
Arquitectura de Computadores*PaginacinCaptulo 5 : Sistemas de Memoria Memoria VirtualMMUDireccin virtualDireccin fsicaCmo mapea: Determina el nmero de la pgina virtual correspondiente a la direccin requerida Determina el marco fsico de dicha pgina En base a la posicin relativa de la direccin en la pgina, determina la direccin fsica del requerimiento
R.Mitnik
Arquitectura de Computadores*PaginacinCaptulo 5 : Sistemas de Memoria Memoria VirtualTablas de pginas
R.Mitnik
Arquitectura de Computadores*PaginacinCaptulo 5 : Sistemas de Memoria Memoria VirtualMapeo utilizando MMU
R.Mitnik
Arquitectura de Computadores*Paginacin: EjemploCaptulo 5 : Sistemas de Memoria Memoria VirtualMemoria Virtual (16K)Memoria fsica (8K)
14-16K112-14K010-12KX8-10KX6-8KX4-6KX2-4K30-2K2
36-8K24-6K12-4K00-2K
R.Mitnik
Arquitectura de Computadores*Captulo 5 : Sistemas de Memoria Memoria VirtualMemoria Virtual (16K)Memoria fsica (8K)Ej: La CPU pide el contenido de la direccin de memoria 0. La MMU recibe la solicitud de la direccin 0 Determina el marco correspondiente 2 Determina direccin fsica de la direccin virtual 0 0 = primer valor de la pgina Primer valor del marco 2 4096 Escribe 4096 en el bus de direcciones.Paginacin: Ejemplo
14-16K112-14K010-12KX8-10KX6-8KX4-6KX2-4K30-2K2
36-8K24-6K12-4K00-2K
R.Mitnik
Arquitectura de Computadores*Captulo 5 : Sistemas de Memoria Memoria VirtualMemoria Virtual (16K)Memoria fsica (8K)Ej: La CPU pide el contenido de la direccin de memoria 2050. La MMU recibe la solicitud de la direccin 2050 Determina el marco correspondiente 3 Determina direccin fsica de la direccin virtual 2050 2050 = tercer valor de la pgina correspondiente Tercer valor del marco 3 6146 Escribe 6146 en el bus de direcciones.Paginacin: Ejemplo
14-16K112-14K010-12KX8-10KX6-8KX4-6KX2-4K30-2K2
36-8K24-6K12-4K00-2K
R.Mitnik
Arquitectura de Computadores*Captulo 5 : Sistemas de Memoria Memoria VirtualMemoria Virtual (16K)Memoria fsica (8K)Ej: La CPU pide el contenido de la direccin de memoria 4100. La MMU recibe la solicitud de la direccin 4100 Determina el marco correspondiente No estSe genera una falta de pgina (page fault)Paginacin: Ejemplo
14-16K112-14K010-12KX8-10KX6-8KX4-6KX2-4K30-2K2
36-8K24-6K12-4K00-2K
R.Mitnik
Arquitectura de Computadores*PaginacinFalta de Pgina (page fault)Se genera cuando la MMU no puede mapear una direccin virtual a una direccin fsica
Arroja una interrupcin de softwareEste inconveniente es transparente para el proceso
Sistema operativo determina qu hacerNegar la solicitud (out of memory exception)Buscar memoria disponibleEncuentraNo encuentra se acab la memoria fsicaOut of memory exceptionSwap
Captulo 5 : Sistemas de Memoria Memoria Virtual
R.Mitnik
Arquitectura de Computadores*Captulo 5 : Sistemas de Memoria Memoria VirtualMemoria Virtual (16K)Memoria fsica (8K)Ej: La CPU pide el contenido de la direccin de memoria 4100. La MMU recibe la solicitud de la direccin 4100 Determina el marco correspondiente No est Se genera una falta de pgina (page fault) Quita una pgina de un marco, guardndola en disco (swap out)Paginacin: Ejemplo
14-16K112-14K010-12KX8-10KX6-8KX4-6KX2-4K30-2K2
36-8K24-6K12-4K00-2K
R.Mitnik
Arquitectura de Computadores*Captulo 5 : Sistemas de Memoria Memoria VirtualMemoria Virtual (16K)Memoria fsica (8K)Ej: La CPU pide el contenido de la direccin de memoria 4100. La MMU recibe la solicitud de la direccin 4100 Determina el marco correspondiente No est Se genera una falta de pgina (page fault) SO quita una pgina de un marco, guardndola en disco (swap out) SO asigna el marco a la pgina requerida, cargndola de disco de existir previamente (swap in)Paginacin: Ejemplo
14-16KX12-14K010-12KX8-10KX6-8KX4-6K12-4K30-2K2
36-8K24-6K12-4K00-2K
R.Mitnik
Arquitectura de Computadores*Captulo 5 : Sistemas de Memoria Memoria VirtualMemoria Virtual (16K)Memoria fsica (8K)Ej: La CPU pide el contenido de la direccin de memoria 4100. La MMU recibe la solicitud de la direccin 4100 Determina el marco correspondiente 1 Determina direccin fsica de la direccin virtual 4100 4100= 5to valor de la pgina correspondiente 5to valor del marco 1 2052 Escribe 2052 en el bus de direcciones.Paginacin: Ejemplo
14-16KX12-14K010-12KX8-10KX6-8KX4-6K12-4K30-2K2
36-8K24-6K12-4K00-2K
R.Mitnik
Arquitectura de Computadores*PaginacinCaptulo 5 : Sistemas de Memoria Memoria VirtualEl sistema operativo mantiene una tabla de pginas independiente para cada procesoProcesos no se preocupan de donde estn realmenteDistintos procesos pueden utilizar las mismas direcciones de memoriaSeguridad
Al cargar un proceso, el SO tambin carga en la MMU el mapa de memoria asociado a dicho proceso
MMU slo convierte!!!Cuntas tablas de pginas hay?
R.Mitnik
Arquitectura de Computadores*PaginacinCaptulo 5 : Sistemas de Memoria Memoria VirtualLas tablas son muy grandes, por lo que se almacenan en la memoria fsica
El sistema operativo no carga la MMU con el mapa del proceso
El sistema operativo le entrega un puntero a dicha tabla
Problema: Dobles accesos a memoriaAl llegar un requerimiento de memoria la MMU debe ir a buscar la entrada correspondiente de la tabla a memoriaLuego hacer la traduccin de direccin virtual a direccin fsicaFinalmente enva el requerimiento del proceso como direccin fsicaTranslation Lookaside Buffer (TLB)
R.Mitnik
Arquitectura de Computadores*Captulo 5 : Sistemas de Memoria Memoria VirtualTLBHardware que permite un acceso rpido a los elementos ms usados de la tabla
Es una memoria cach especializadaMuy rpidaFully associativePequea (entre 32 y 1024 palabras)Translation Lookaside Buffer (TLB)Translation Lookaside Buffer
R.Mitnik
Arquitectura de Computadores*Translation Lookaside BufferCaptulo 5 : Sistemas de Memoria Memoria VirtualMapeo utilizando MMU y TLB
ResumenVentajas de la memoria virtualProcesos no se preocupan de dnde estn realmenteDistintos procesos pueden utilizar las mismas direcciones de memoriaPermite utilizar ms memoria que la disponibleSeguridad
Piezas de hardware involucradasMemory Managment Unit (MMU)Translation Lookaside Buffer (TLB)
PaginacinPginasMarcosFalta de pgina (page fault)Swap in/outR.Mitnik *Arquitectura de ComputadoresResumenCaptulo 5 : Sistemas de Memoria Memoria Virtual
Arquitectura de Computadores
********Explicar y dibujar en el pizarrn el concepto de los marcos fsicos, que almacenan pginas virtuales*Explicar y dibujar en el pizarrn el concepto de los marcos fsicos, que almacenan pginas virtuales*********Explicar y dibujar en el pizarrn el concepto de los marcos fsicos, que almacenan pginas virtuales****Explicar y dibujar en el pizarrn el concepto de los marcos fsicos, que almacenan pginas virtuales*Explicar y dibujar en el pizarrn el concepto de los marcos fsicos, que almacenan pginas virtuales*Explicar y dibujar en el pizarrn el concepto de los marcos fsicos, que almacenan pginas virtuales**