Tema 5 (III) Jerarquía de...
Transcript of Tema 5 (III) Jerarquía de...
![Page 1: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/1.jpg)
Tema 5 (III)Jerarquía de Memoria
Estructura de ComputadoresGrado en Ingeniería Informática
Grupo ARCOS
![Page 2: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/2.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M2
1. Tipos de memoria
2. Jerarquía de memoria
3. Memoria principal
4. Memoria caché
5. Memoria virtual
![Page 3: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/3.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Programa y proceso
ARCOS @ UC3M
} Programa: conjunto de datos e instrucciones ordenadas que permiten realizar una tarea o trabajo específico.
Disco
Ficheroejecutable
3
![Page 4: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/4.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistema Operativo
Programa y proceso
ARCOS @ UC3M
} Programa: conjunto de datos e instrucciones ordenadas que permiten realizar una tarea o trabajo específico.} Para su ejecución, ha de estar cargado en memoria
Disco
Ficheroejecutable
Memoria principal
4
![Page 5: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/5.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistema Operativo
Programa y proceso
ARCOS @ UC3M
} Proceso: programa en ejecución.
instrucciones
datos
pila
Disco
Ficheroejecutable
Memoria principal
proceso1
5
![Page 6: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/6.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistema Operativo
Programa y proceso
ARCOS @ UC3M
} Proceso: programa en ejecución.} Es posible un mismo programa ejecutarlo varias veces
(lo que da lugar a varios procesos)
Disco
Ficheroejecutable
Memoria principal
proceso1
instrucciones
datos
pila
6
![Page 7: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/7.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
proceso2
Imagen de un proceso
ARCOS @ UC3M
} Imagen de memoria: conjunto de direcciones de memoria asignadas al programa que se está ejecutando (y contenido)
Disco
Ficheroejecutable
proceso1
Sistema Operativo
Memoria principal
instrucciones
datos
pila
instrucciones
datos
pila
instrucciones
datos
pila
Imagen de memoria de un programa en ejecucion Direcciones reservadas
para el crecimiento de las seccionesde datos y de pila
7
![Page 8: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/8.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistemas sin memoria virtual
ARCOS @ UC3M
} En los sistemas sin memoria virtual, el programa se carga completamente en memoria para su ejecución.
Sistema Operativo
Memoria Principal
instrucciones
datos
pila
Programaen ejecucion
Disco
Fichero ejecutable
8
![Page 9: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/9.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistemas sin memoria virtual
ARCOS @ UC3M
} Se inicializan los registros
Sistema Operativo
Memoria Principal
instrucciones
datos
pila
Programaen ejecucion
Disco
Fichero ejecutable
PC
SP
9
![Page 10: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/10.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistemas sin memoria virtual
ARCOS @ UC3M
} En los sistemas sin memoria virtual, el programa se carga completamente en memoria para su ejecución.
} Principales problemas:} El tamaño de la imagen puede limitar su ejecución, o la de otros
procesos.} Se reduce el número de programas activos en memoria
Sistema Operativo
instrucciones
datos
pila
10
![Page 11: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/11.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistema Operativo
Problema del tamaño limitado
ARCOS @ UC3M
} Si la imagen de memoria de un proceso es más grande que la memoria principal, no es posible su ejecución.
} El gran tamaño de la imagen en memoria de un proceso puede impedir ejecutar otros.
Disco(1 TB)
Ficheroejecutable
Memoria principal
Imagen de memoria del proceso
11
![Page 12: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/12.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Fichero ejecutable hipotético
int v[1000]; // globalint i;for (i=0; i < 1000; i++)
v[i] = 0;
ARCOS @ UC3M12
![Page 13: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/13.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Fichero ejecutable hipotético
int v[1000]; // globalint i;for (i=0; i < 1000; i++)
v[i] = 0;
.data:v: .space 4000
.text: li $t0, 0 li $t1, 0li $t2, 1000
bucle: bge $t0, $t2, finsw $0, v($t1)addi $t0, $t0, 1addi $t1, $t1, 4b bucle
fin: …
ARCOS @ UC3M13
![Page 14: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/14.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Fichero ejecutable hipotético
0 4
96100 104108112116120124128132
.
.
.
Cabecerali $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
int v[1000]; // globalint i;for (i=0; i < 1000; i++)
v[i] = 0;
.data:v: .space 4000
.text: li $t0, 0 li $t1, 0li $t2, 1000
bucle: bgt $t0, $t2, finsw $0, v($t1)addi $t0, $t0, 1addi $t1, $t1, 4b bucle
fin: …Se asigna a v la dirección 2000Se asume que el programa empieza en la 0
ejecutable
ensamblador
ARCOS @ UC3M14
![Page 15: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/15.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Carga del programa en memoria
} El sistema operativo reserva un hueco libre en memoria para toda la imagen del proceso
0 4
96100 104108112116120124128132
.
.
.
Cabecerali $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
.
.
.
100001000410008100121001610020100241002810032
.
.
.
ejecutable memoria
ARCOS @ UC3M15
![Page 16: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/16.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Carga del programa en memoria
} En el fichero ejecutable se considera como dirección de inicio la 0} Direcciones lógicas
} En memoria, la dirección de inicio es la 10000} Direcciones físicas
} Hay que realizar una traducción de direcciones } De direcciones lógicas a físicas
} El array en memoria está} En la dirección lógica 2000} En la dirección física 2000 + 10000
} A este proceso se le denomina reubicación} Reubicación software} Reubicación hardware
ARCOS @ UC3M16
![Page 17: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/17.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Reubicación software
} Se realiza la traducción en el momento de la carga
0 4
96100 104108112116120124128132
.
.
.
Cabecerali $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
.
.
.
100001000410008100121001610020100241002810032
.
.
.
ejecutable memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 12000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
ARCOS @ UC3M17
![Page 18: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/18.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Reubicación software
} ¿Qué ocurre con estas instrucciones cargadas en las posiciones 10012 y 10028?
0 4
96100 104108112116120124128132
.
.
.
Cabecerali $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
.
.
.
100001000410008100121001610020100241002810032
.
.
.
ejecutable memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 12000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
ARCOS @ UC3M18
![Page 19: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/19.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Reubicación hardware
} Se realiza la traducción durante la ejecución} Necesita un hardware especial.
0 4
96100 104108112116120124128132
.
.
.
Cabecerali $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
.
.
.
100001000410008100121001610020100241002810032
.
.
.
ejecutable memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
ARCOS @ UC3M19
![Page 20: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/20.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. base
ARCOS @ UC3M20
![Page 21: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/21.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. base 10000
0
Dirección lógica de inicio
ARCOS @ UC3M21
![Page 22: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/22.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. base 10000
0
+ 10000
ARCOS @ UC3M22
![Page 23: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/23.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Múltiples programas cargados en memoria
instruccionesdatos
pila
Sistema Operativo
instrucciones
datos
pila
Memoria principal
proceso1
proceso2
ARCOS @ UC3M23
![Page 24: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/24.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Múltiples programas cargados en memoria
instruccionesdatos
pila
Sistema Operativo
instrucciones
datos
pila
Memoria principal
proceso1
proceso2
PC
SP
ARCOS @ UC3M24
![Page 25: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/25.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Múltiples programas cargados en memoria
instruccionesdatos
pila
Sistema Operativo
instrucciones
datos
pila
Memoria principal
proceso1
proceso2
PC
SP
ARCOS @ UC3M25
![Page 26: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/26.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Múltiples programas cargados en memoria
instruccionesdatos
pila
Sistema Operativo
instrucciones
datos
pila
Memoria principal
proceso1
proceso2
PC
SP
ARCOS @ UC3M26
![Page 27: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/27.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Multiprogramación: protección de memoria
} Un computador puede tener varios programas en memoria.
} Hay que asignar un espacio de memoria a cada programa en ejecución (proceso).
27
SO
P3
P1
P2 Hace falta asegurar que un programa no accede a la zona de memoria asignada a otro programa
ARCOS @ UC3M27
![Page 28: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/28.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Problema de protección de memoria
} ¿Qué ocurre si en el programa ejecuta las siguientes instrucciones?
li $t0 ,8sw $t0, ($0)
ARCOS @ UC3M28
![Page 29: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/29.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Problema de protección de memoria
} ¿Qué ocurre si en el programa ejecuta las siguientes instrucciones?
li $t0 ,8sw $t0, ($0)
Acceso ilegal a la dirección física 0que no está asignada al programa
ARCOS @ UC3M29
![Page 30: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/30.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Reubicación hardware (con registro límite)
} Se realiza la traducción y comprobación durante la ejecución} Necesita un hardware especial. Asegura protección
0 4
96100 104108112116120124128132
.
.
.
Cabecerali $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 20sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -24
.
.
.
.
.
.
100001000410008100121001610020100241002810032
.
.
.
ejecutable memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
ARCOS @ UC3M30
![Page 31: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/31.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro límite: dirección lógica máxima asignada al programa} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bge $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. límite
Reg. base
ARCOS @ UC3M31
![Page 32: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/32.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro límite: dirección lógica máxima asignada al programa} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bgt $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. límite
Reg. base
6000
10000
0
Dirección lógica de inicio
ARCOS @ UC3M32
![Page 33: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/33.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro límite: dirección lógica máxima asignada al programa} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bgt $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. límite
Reg. base
6000
10000
0
>si
excepciónARCOS @ UC3M33
![Page 34: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/34.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro límite: dirección lógica máxima asignada al programa} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bgt $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. límite
Reg. base
6000
10000
0
>no
+
ARCOS @ UC3M34
![Page 35: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/35.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo de soporte hardware
} Registro límite: dirección lógica máxima asignada al programa} Registro base: dirección de inicio del programa en memoria
.
.
.
100001000410008100121001610020100241002810032
.
.
.
memoria
li $t0, 0li $t1, 0li $t2, 1000bgt $t0, $t2, 16sw $0, 2000($t1)addi $t0, $t0, 1addi $t1, $t1, 4b -20
.
.
.
MAR
Reg. límite
Reg. base
6000
10000
0
>no
+ 10000
ARCOS @ UC3M35
![Page 36: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/36.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistemas sin memoria virtualPrincipales problemas (Resumen)
} Si la imagen en memoria del programa (proceso) es mayor que la memoria disponible, no se puede ejecutar.} En un computador de 32 bits
} ¿Cuál es el tamaño máximo teórico del programa que se puede ejecutar?
} ¿Y si solo se dispone de una memoria de 512 MB?
} Se reduce el número de programas activos en memoria
ARCOS @ UC3M36
![Page 37: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/37.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Overlays
} En los años 1950-85 el IBM Mainframe-PC tenía poca memoria y sin memoria virtual.
} Usar overlays era una técnica popular para cargar parte del programa cuando se usaba, y descargar para hacer hueco cuando no era necesario.
ARCOS @ UC3M37
![Page 38: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/38.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Overlays
} En los años 1950-85 el IBM Mainframe-PC tenía poca memoria y sin memoria virtual.
} Usar overlays era una técnica popular para cargar parte del programa cuando se usaba, y descargar para hacer hueco cuando no era necesario.
ARCOS @ UC3M38
![Page 39: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/39.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistemas con memoria virtual
ARCOS @ UC3M
} Los programas se carga parcialmente en memoria principal para su ejecución: } Cuando se necesite una parte del mismo,
se carga en memoria principal dicha parte} Cuando no se necesite, se mueve a
memoria secundaria (ej.: disco duro)
} Principales ventajas:} Se puede ejecutar programas cuya imagen es
mayor que la memoria principal disponible.} Se pueden ejecutar más programas a la vez.} Cada programa tiene su propio espacio.
Sistema Operativo
instr.
datos
pila
39
![Page 40: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/40.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Sistemas con memoria virtual
ARCOS @ UC3M
instr.
datos
pilainstrucciones
datos
pila
pila
instr.
instr.
Imagen de memoria Memoria principal
40
![Page 41: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/41.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Fundamentos de la memoria virtual
Mapa de memoria virtual(direcciones generadas por el procesador)
MMU
Memoria principal
Procesador
(Intercambio)
MemoriaSecundaria
Dirección física(acierto)
Direcciónvirtual
Fallo páginaEl SO transfiere la página solicitada a memoria principal
La M.V. utiliza dos niveles:q Memoria principalq Memoria secundaria: disco
ARCOS @ UC3M41
![Page 42: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/42.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Diferentes modelos de memoria virtual
ARCOS @ UC3M
} Memoria virtual paginada} Memoria virtual segmentada} Memoria virtual con segmentación paginada
42
![Page 43: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/43.jpg)
Félix García Carballeira, Alejandro Calderón MateosARCOS @ UC3M
Memoria virtual paginada
} Las direcciones que genera el procesador son direccionesvirtuales
} El espacio de direcciones virtuales se divide en trozos de igual tamaño denominado páginas
} La memoria principal se divide en trozos de igual tamaño a las páginas denominados marcos de página
} La zona del disco que sirve de soporte a la memoria virtual se divide en trozos de igual tamaño denominados páginas de intercambio o páginas de swap
43
![Page 44: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/44.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Espacio de direcciones virtual
ARCOS @ UC3M
} Espacio virtual de direcciones} Los programas manejan un espacio virtual que reside en MP/disco} MMU: Unidad de gestión de memoria
M.virtual M.principal M.secundaria
Direcciónvirtual
MMU
12
3a 3b
informacióndetraducción
44
![Page 45: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/45.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Fundamentos de la memoria virtual
ARCOS @ UC3M
informacióndetraducción
45
![Page 46: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/46.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Fundamentos de la memoria virtual
ARCOS @ UC3M
…lw $t0vector…
informacióndetraducción
Direcciónvirtual
46
![Page 47: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/47.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Fundamentos de la memoria virtual
ARCOS @ UC3M
…lw $t0vector…
informacióndetraducción
47
![Page 48: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/48.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Fundamentos de la memoria virtual
ARCOS @ UC3M
…lw $t0vector…
informacióndetraducción
ContenidodeladirecciónvirtualnoestáenMP,estáenM.secundaria
48
![Page 49: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/49.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Fallodepágina
Fundamentos de la memoria virtual
ARCOS @ UC3M
} El fallo de página es una excepción que provoca que el procesador ejecute la rutina de tratamiento asociada (el proceso que generó el fallo de pagina se suspende, no puede continuar su ejecución)
} Está implementada en el sistema operativo.
informacióndetraducción
49
![Page 50: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/50.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Introducción a memoria virtual
ARCOS @ UC3M
} El sistema operativo transfiere el ‘bloque’ solicitado a memoria principal y actualiza la información de traducción (el sistema operativo pone a otro proceso a ejecutar)
informacióndetraducción
50
![Page 51: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/51.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Introducción a memoria virtual
ARCOS @ UC3M
} El sistema operativo transfiere el ‘bloque’ solicitado a memoria principal y actualiza la información de traducción
informacióndetraducción
51
![Page 52: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/52.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Introducción a memoria virtual
ARCOS @ UC3M
…lw $t0vector…
} Se reanuda la ejecución del proceso que provocó el fallo y se reanuda la ejecución de la instrucción que provocó el fallo.
informacióndetraducción
52
![Page 53: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/53.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
M.virtual M.principal M.secundaria
Introducción a memoria virtual
ARCOS @ UC3M
Acierto…lw $t0vector+4…
informacióndetraducción
53
![Page 54: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/54.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Memoria virtual: windows
ARCOS @ UC3M54
![Page 55: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/55.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Memoria virtual: linux
ARCOS @ UC3M55
![Page 56: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/56.jpg)
Félix García Carballeira, Alejandro Calderón MateosARCOS @ UC3M
Memoria virtual paginadaResumen
} Las direcciones que genera el procesador son direccionesvirtuales
} El espacio de direcciones virtuales se divide en trozos de igual tamaño denominado páginas
} La memoria principal se divide en trozos de igual tamaño a las páginas denominados marcos de página
} La zona del disco que sirve de soporte a la memoria virtual se divide en trozos de igual tamaño denominados páginas de intercambio o páginas de swap
56
![Page 57: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/57.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Memoria virtual paginadaTraducción
57
} Espacio de direcciones virtuales:} Direcciones de memoria con las que trabaja cada proceso.
} Espacio de direcciones físicas:} Direcciones de memoria principal en las que residen los datos.
57
ProgramaTraducción
HW Memoria Física
Direcciones virtuales
Direcciones físicas
ARCOS @ UC3M
![Page 58: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/58.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Memoria virtual paginada
instrucciones
datos
pila
58
} La imagen de memoria de los procesos reside inicialmente en disco
DV 0
DV NMemoria secundaria
ARCOS @ UC3M
![Page 59: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/59.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Traducción de direcciones
procesador MMUDV
memoriaLa página está
DF
59 ARCOS @ UC3M
![Page 60: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/60.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Traducción de direcciones
procesador MMUDV
memoria
Excepción
La página no está
60 ARCOS @ UC3M
![Page 61: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/61.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Traducción de direcciones
procesador MMUDV
memoria
Excepción (fallo de página)
La página no está
Sistema operativo
61 ARCOS @ UC3M
![Page 62: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/62.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Traducción de direcciones
procesador MMUDV
memoria
Sistema operativo
Memoria secundaria62 ARCOS @ UC3M
![Page 63: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/63.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Traducción de direcciones
procesador MMUDV
memoria
DFLa página está
63 ARCOS @ UC3M
![Page 64: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/64.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Traducción de direcciones
procesador MMUDV
memoria
DF
Se envía la palabra al procesador
64 ARCOS @ UC3M
![Page 65: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/65.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
011010001001010
32bits
Dirección física /MP
1111100100000
22bits
Memoria secundaria
65
![Page 66: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/66.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
011010001001010
32bits
Dirección física/MP
1111100100000
22bits
Divisiónenbloquesdelmismotamaño->páginas
Memoria secundaria
66
![Page 67: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/67.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
Dirección física/MP
1111100100000
22bits
Divisiónenbloquesdelmismotamaño->páginas
Nº. página Desplazamiento
12bits20bits
Nº. página
67
![Page 68: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/68.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
Dirección física /MP
Divisiónenbloquesdelmismotamaño->páginas
Nº. página Desplazamiento
12bits20bits
Marco Desplazamiento
12bits10bits
Nº. página
Marco de página
68
![Page 69: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/69.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
Dirección física/MP
CorrespondenciaentreId.páginaymarco->T.páginas
Nº. página Desplazamiento
12bits20bits
Marco Desplazamiento
12bits10bits
Tabla de páginas
Nº. página
Marco de página
69
![Page 70: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/70.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
Dirección física/MP
Nº. página Desplazamiento
12bits20bits
Marco Desplazamiento
12bits10bits
P M + bits de control Nº. marco
Tabla de páginas
… …
CorrespondenciaentreNº.páginaymarcodepágina->Tabladepáginas
Nº. página
Marco de página
70
![Page 71: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/71.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
Dirección física/MP
Nº. página Desplazamiento
12bits20bits
Marco Desplazamiento
12bits10bits
1 M + bits de control Nº. marco
Tabla de páginas
… …
Nº. página
Marco de página
09
10
11
10
Bit ”presente”
71
![Page 72: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/72.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
ARCOS @ UC3M
Dirección virtual
Dirección física
Nº. página Desplazamiento
12bits20bits
Marco Desplazamiento
12bits10bits
0 M + bits de control Nº. marco
Tabla de páginas
… …
Marco de página
Memoria secundaria
Intercambio o swap
09
10
11
10Nº. página
Bit ”presente”
72
![Page 73: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/73.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Estructura de una dirección virtual
} Un computador de n bits tiene:} Direcciones de n bits
} Puede direccionar 2n bytes
n-1 0
ARCOS @ UC3M73
![Page 74: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/74.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Estructura de una dirección virtual
} La imagen de memoria está compuesta por páginas de igual tamaño (2p bytes)
} n = m + p} Memoria direccionable: 2n bytes} Tamaño de la página 2p bytes} Máximo número de páginas: 2m
n-1 0
Número de página desplazamiento
m bits p bits
ARCOS @ UC3M74
![Page 75: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/75.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio
ARCOS @ UC3M75
Sea un computador con direcciones virtuales de 32bits y una memoria principal de 512 MB, que empleapáginas de 4 KB.
} Se pide:a) Indique el formato de la dirección virtual y el número de
marcos de página.
![Page 76: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/76.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio (solución)
ARCOS @ UC3M
} Formato de la dirección virtual:
32 bits
log2(4KB) = 12 bits
Id. de página desplazamiento
32-12 = 20 bits
1
23
} Número de marcos de página:
512 MB
4 KB
512 * 220
4 * 210128 * 210
Tamaño de M.P.
Tamaño de página
76
![Page 77: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/77.jpg)
Félix García Carballeira, Alejandro Calderón MateosEstructura de Computadores
Memoria virtual paginadaTablas de páginas
Página virtual Desplazamiento
Desplazamiento
Dirección virtual
Dirección Física
Traducción
Página física
n-1 0
0
p p-1
p p-1m-1
ARCOS77
![Page 78: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/78.jpg)
Félix García Carballeira, Alejandro Calderón MateosEstructura de Computadores
Tabla de páginas
Presente
ETP
Tabla de páginasdel programa en ejecución
Espacio de direcciones virtual
de un programa en ejecución
Memoria principal
Marco de páginaPágina 0
Página 1
Página 2
Página 3
Página 4
Página 5
Disco
Si
No
ARCOS78
![Page 79: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/79.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Entradas de la tabla de páginas(formato típico)
ARCOS @ UC3M
Número de página Desplazamiento
Dirección virtual
Entrada de la tabla de páginas
P M Otros bits de control Número de marco
12bits20bits
• BitP:indicasiestápresentelapáginaenM.P.• BitM:indicasihasidomodificadalapáginaenM.P.• Otrosbits:protección(lectura,escritura,ejecución,etc.),gestión(cow,etc.)
79
![Page 80: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/80.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Estructura de la tabla de páginas
} La crea el sistema operativo en memoria cuando se va a
ejecutar el programa
} La consulta la MMU en la traducción
} La modifica el sistema operativo en los fallos de página
80 ARCOS @ UC3M
![Page 81: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/81.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
} Páginas de 1 KB} Proceso de 8 KB
} Número de páginas que ocupa: 8
} Tamaño de las secciones:} Instrucciones: 1.5 KB} Datos: 1 KB} Pila 0.2 KB
81 ARCOS @ UC3M
![Page 82: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/82.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
} Páginas de 1 KB} Proceso de 8 KB
} Número de páginas que ocupa: 8
} Tamaño de las secciones:} Instrucciones: 1.5 KB -> 2 páginas} Datos: 1 KB -> 1 página} Pila 0.2 KB -> 1 página
Instr. Pag. 0Pag. 1Pag. 2Pag. 3Pag. 4Pág. 5Pag. 6Pag. 7
Instr.
Datos
Pila
82 ARCOS @ UC3M
![Page 83: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/83.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejemplo
} DV de inicio: 0} DV final: 8191} Pags. 3, 4, 5 y 6 no asignadas
inicialmente al programaInstr. Pag. 0
Pag. 1Pag. 2Pag. 3Pag. 4Pág. 5Pag. 6Pag. 7
Instr.
Datos
Pila
83 ARCOS @ UC3M
![Page 84: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/84.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploImagen inicialmente en disco
Instr. Pag. 0Pag. 1Pag. 2Pag. 3Pag. 4Pág. 5Pag. 6Pag. 7
Instr.
Datos
Pila
0123456789
101112
Swap0
12
7
Páginas del proceso
84 ARCOS @ UC3M
![Page 85: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/85.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploEl SO crea la tabla de páginas
Instr. Pag. 0Pag. 1Pag. 2Pag. 3Pag. 4Pág. 5Pag. 6Pag. 7
Instr.
Datos
Pila
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap00000000
24500008
00000000
Todas las páginas Inicialmente en swap
85 ARCOS @ UC3M
![Page 86: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/86.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploAcceso a la DV 0
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap00000000
24500008
00000000
procesador
DV= 0
MMU
86
Instr. Pag. 0Pag. 1Pag. 2Pag. 3Pag. 4Pág. 5Pag. 6Pag. 7
Instr.
Datos
Pila
ARCOS @ UC3M
![Page 87: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/87.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploAcceso a la DV 0
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap00000000
24500008
00000000
procesador
DV= 0
MMU
DV= 0 0 0NP D
87
Instr. Pag. 0Pag. 1Pag. 2Pag. 3Pag. 4Pág. 5Pag. 6Pag. 7
Instr.
Datos
Pila
ARCOS @ UC3M
![Page 88: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/88.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploAcceso a la DV 0
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap00000000
24500008
00000000
Fallo de páginaLa página 0 no está en memoria
procesador
DV= 0
MMU
DV= 0 0 0NP D
88
Instr. Pag. 0Pag. 1Pag. 2Pag. 3Pag. 4Pág. 5Pag. 6Pag. 7
Instr.
Datos
Pila
ARCOS @ UC3M
![Page 89: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/89.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploTratamiento del fallo de página
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap00000000
24500008
00000000
procesador MMU
DV= 0 0 0NP D
0123456789
10
Memoria
0
El SO reserva un marco de páginalibre en memoria ( el 5) y copia el bloque 2 al marco 5
89 ARCOS @ UC3M
![Page 90: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/90.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploTratamiento del fallo de página
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap10000000
54500008
00000000
procesador MMU
DV= 0 0 0NP D
0123456789
10
Memoria
0
El SO actualiza la tabla de páginas
90 ARCOS @ UC3M
![Page 91: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/91.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploReanudación del proceso
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap10000000
54500008
00000000
procesador MMU
DV= 0 0 0NP D
0123456789
10
Memoria
0
Se vuelve a genera la DV 0
DV= 0
91 ARCOS @ UC3M
![Page 92: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/92.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploReanudación del proceso
0123456789
101112
Swap0
12
7
Páginas del proceso
01234567
P M marco/swap10000000
54500008
00000000
procesador MMU
DV= 0 0 0NP D
0123456789
10
Memoria
0
Se vuelve a genera la DV 0
DV= 0
92 ARCOS @ UC3M
![Page 93: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/93.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploReanudación del proceso
01234567
P M marco/swap10000000
54500008
00000000
procesador MMU
DV= 0 0 0NP D
0123456789
10
Memoria
0
Página presenteSe genera la DF
DV= 0
DF 5 0NP D
93 ARCOS @ UC3M
![Page 94: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/94.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
EjemploReanudación del proceso
01234567
P M marco/swap10000000
54500008
00000000
procesador MMU
DV= 0 0 0NP D
0123456789
10
Memoria
0
Se accede a memoria
DV= 0
DF 5 0NP D
94 ARCOS @ UC3M
![Page 95: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/95.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio
ARCOS @ UC3M
Un computador que direcciona la memoria por byte emplea direcciones virtuales de 32 bits. Cada entrada de la tabla de páginas requiere de 32 bits.El sistema emplea páginas de 4 KB.
} Se pide:a) ¿Cuál es el espacio de memoria direccionable
por un programa en ejecución?b) ¿Cuál es el máximo tamaño de la tabla de páginas
en este computador?
95
![Page 96: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/96.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio (solución)
ARCOS @ UC3M
} El espacio de memoria direccionable por un programa en ejecución está determinado por el número de bits de la dirección virtual:} 232 = 4 GB
M.virtual
Direcciónvirtual
96
![Page 97: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/97.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio (solución)
ARCOS @ UC3M
} El tamaño de la tabla de páginas dependerá del máximo número de marcos de páginas y del tamaño de cada entrada de la tabla:} 220 * 4 bytes (32 bits) = 4 MB
32 bits
log2(4KB) = 12 bits
Id. de página desplazamiento
32-12 = 20 bits
1
23
4 Si hay tanta memoria principal como memoria virtual, los identificadores de marco de página tendrán también 20 bits
97
![Page 98: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/98.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio
ARCOS @ UC3M
Sea un computador con direcciones virtuales de 32 bits y páginas de 4 KB. En este computador se ejecuta un programa cuya tabla de páginas es:
} Se pide:a) Tamaño que ocupa la imagen de
memoria del programab) Si la primera dirección virtual del
programa es 0x00000000, indique la última
c) Dadas las siguientes direcciones virtuales, indique si generan fallo de página o no:
• 0x00001000
• 0x0000101C
• 0x00004000
P M Perm. Marco/Bloque
0 0 R 1036
1 0 R 4097
0 0 W 3000
0 0 W 7190
0 0 W 3200
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 W 2400
0 0 W 3000
98
![Page 99: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/99.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio (solución)
ARCOS @ UC3M
} El tamaño que ocupa la imagen de memoria del programa dependerá del número de páginas total que tenga asignado y el tamaño de la página:
} 7 * 4 KB = 28 KB
P M Perm. Marco/Bloque
0 0 R 1036
1 0 R 4097
0 0 W 3000
0 0 W 7190
0 0 W 3200
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 W 2400
0 0 W 3000
99
![Page 100: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/100.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio (solución)
ARCOS @ UC3M
} Si el tamaño total del programa es de 28 KB y la primera dirección virtual es la 0x00000000, la última dirección será:
} 28 * 1024 - 1
P M Perm. Marco/Bloque
0 0 R 1036
1 0 R 4097
0 0 W 3000
0 0 W 7190
0 0 W 3200
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 W 2400
0 0 W 3000
100
![Page 101: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/101.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio (solución)
ARCOS @ UC3M
} Lo primero es conocer el formato de la dirección virtual
} Para cada dirección virtual, se extrae el identificador de página, se busca en la Tabla de páginas su entrada, y se ve si el bit de presente (P) está a 1:
• 0x00001000 -> no
• 0x0000101C -> no
• 0x00004000 -> si
P M Perm. Marco/Bloque
0 0 R 1036
1 0 R 4097
0 0 W 3000
0 0 W 7190
0 0 W 3200
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 W 2400
0 0 W 3000
32 bits
log2(4KB) = 12 bits
Id. de página desplazamiento
32-12 = 20 bits
1
23
101
![Page 102: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/102.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Gestión de la tabla de páginas
ARCOS @ UC3M
} Inicialmente:} La crea el sistema operativo cuando se va a ejecutar el programa.
} Uso:} La consulta la MMU en la traducción.
} Actualización:} La modifica el sistema operativo en los fallos de página.
102
![Page 103: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/103.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
N.º
pági
na
N.º pág.
N.º marco
Dirección virtual
Registro
Tabla de páginasMarco
depágina
Puntero a tabla de páginas
Programa Mecanismo de paginación Memoria principal
Traducción de direcciones (paginación)
ARCOS @ UC3M
Des
plaz
amie
nto
Desplaza-miento N.º marco Desplaza-
miento
+
Dirección real
103
![Page 104: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/104.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Protección de memoria
Memoria principal
Direcciones físicasdiferentes
Marco de página A
Marco de página B
Marco de página C
Marco de página D
Página virtual 0Dirección virtual 0
Marco A
Marco C
Marco B
Marco D
Página virtual 0
Página virtual k
Página virtual j
Espacio de direccionesvirtual del proceso 2
Espacio de direccionesvirtual del proceso 1
Tabla de páginasdel proceso 1
Tabla de páginasdel proceso 2
Dirección virtual 0
104 ARCOS @ UC3M
![Page 105: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/105.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Tabla de páginas de dos niveles
105 ARCOS @ UC3M
![Page 106: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/106.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Tabla de páginas invertida
106 ARCOS @ UC3M
![Page 107: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/107.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Movimiento de las páginas
ARCOS @ UC3M
} Inicialmente:} Página no residente se marca ausente} Se guarda dirección del bloque de swap que la contiene
} De M. secundaria a M. principal (por demanda):} Acceso a pág. no residente: Fallo de página} S.O. lee página de M. secundaria y la lleva a M. principal
} De M. principal a M. secundaria (por expulsión):} No hay espacio en M. principal para traer página} Se expulsa (reemplaza) una página residente} S.O. escribe página expulsada a M. secundaria (si bit M=1)
107
![Page 108: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/108.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Movimiento de las páginas
ARCOS @ UC3M
} Inicialmente:} Página no residente se marca ausente} Se guarda dirección del bloque de swap que la contiene
} De M. secundaria a M. principal (por demanda):} Acceso a pág. no residente: Fallo de página} S.O. lee página de M. secundaria y la lleva a M. principal
} De M. principal a M. secundaria (por expulsión):} No hay espacio en M. principal para traer página} Se expulsa (reemplaza) una página residente} S.O. escribe página expulsada a M. secundaria (si bit M=1)
108
![Page 109: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/109.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Políticas de reemplazo
ARCOS @ UC3M
} Qué página se va a reemplazar (sistema operativo)
} La página que se va a reemplazar tiene que ser la quetenga una menor posibilidad de ser referenciada en un futuro cercano.
} La mayoría de las políticas intentan predecir el comportamiento futuro en función del comportamientopasado.
} Ejemplo de políticas: LRU, FIFO, etc.
109
![Page 110: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/110.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
B
Políticas de no reemplazo
ARCOS @ UC3M
} Bloqueo de marcos:} Cuando un marco está bloqueado, la página cargada
en ese marco no puede ser reemplazada.
} Ejemplos de cuándo se bloquea un marco:} La mayoría del núcleo del sistema operativo. } Estructuras de control.} Buffers de E/S.
} El bloqueo se consigue asociando un bit de bloqueo a cada marco.
P M Otros bits de control Número de marco
110
![Page 111: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/111.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Cache de traduccionesTLB (Translation Lookaside Buffer)
ARCOS @ UC3M
} Memoria virtual basado en tablas de páginas:} Problema: sobrecarga de acceso a memoria (2 accesos)
} Uno a la tabla de páginas que reside en MP} Otro a la página que contiene el dato
} Solución: TLB.
} TLB: buffer de traducción adelantada:} Memoria caché asociativa que almacena las entradas de la tabla
de página usadas más recientemente.} Permite acelerar el proceso de búsqueda del marco.
111
![Page 112: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/112.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
TLB (Translation Lookaside Buffer)
ARCOS @ UC3M112
} La TLB optimiza los accesos a memoria} Tabla con tiempo de accesos pequeño situado en la MMU} Cada entrada contiene un número de página y la entrada de la
TB correspondiente} En caso de acierto no hace falta acceder a la TP en memoria
} Dos tipos:} TLB sin identificación de proceso} TLB con identificación de proceso
![Page 113: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/113.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
TLB sin identificación de proceso
ARCOS @ UC3M113
![Page 114: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/114.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
TLB con identificación de proceso
ARCOS @ UC3M114
![Page 115: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/115.jpg)
Caché y memoria virtual
} Acelerar el acceso
} Transferencia por bloques o líneas.
} Bloques: 32-64B.} Traducción: Algoritmo de
correspondencia.} Escritura inmediata o
diferida.
} Incrementar el espacio direccionable
} Transferencia por páginas.} Páginas: 4-8 KB.} Traducción: Totalmente
asociativa.} Escritura diferida.
Caché Memoria virtual
ARCOS @ UC3M115
![Page 116: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/116.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Memoria virtual y memoria caché
ARCOS @ UC3M116
![Page 117: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/117.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Proceso de lectura en un sistema con memoria virtual y caché
ARCOS @ UC3M
D.V. Acceso a la T.P. D.F. de
la E.T.P.
M. caché ¿acierto?si
no
Se transfiere la línea de M.P. a M.C.
E.T.P.¿Página
presente?
no
Fallo de página
Se transfiere la página a M.P. y se actualiza la E.T.P.
siD.F.
M. caché¿acierto?
si
no
Se transfiere la línea de M.P. a M.C.
palabra
117
![Page 118: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/118.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 1
} Sea un computador que utiliza páginas de 8 KB y que direcciona la memoria por bytes. Dada la dirección virtual (en hexadecimal) 0x20018004. Indique:} El tamaño de la dirección virtual.} El número máximo de páginas.} El número de página en el que se encuentra el dato
referenciado por la dirección anterior.} El desplazamiento dentro de la página en el que se encuentra el
dato referenciado por la dirección anterior.
118 ARCOS @ UC3M
![Page 119: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/119.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 2
} Un computador que direcciona la memoria por bytes emplea direcciones virtuales de 32 bits. Cada entrada de la tabla de páginas requiere 32 bits. El sistema emplea páginas de 4 KB. } ¿Cuál es el espacio de memoria direccionable por un programa
en ejecución?} ¿Cuál es el máximo tamaño de la tabla de páginas en este
computador?
119
![Page 120: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/120.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 3
} Sea un sistema con un espacio de direcciones virtual de 256 Kpáginas de 8 KB cada una y una memoria física de 128 MB. } ¿Cuántos bits hay en la dirección virtual?
120 ARCOS @ UC3M
![Page 121: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/121.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 4
121
} Si un computador trabaja con direcciones de 16 bits, y posee páginas de tamaño 2 KB. Se pide:} ¿Qué tamaño de memoria virtual se puede direccionar?} ¿Cuántas páginas tiene la memoria virtual?} ¿Cuál será el tamaño del marco de página?} ¿Suponiendo que la memoria física es de 32 KB,
cuántos marcos hay?} ¿Cuántos bits de la dirección de memoria virtual
se utilizan para seleccionar entradas en la tabla de páginas?} ¿Para que se emplean los bits restantes de la
dirección de memoria virtual?} ¿Cuántas entradas tendrá la tabla de páginas?
ARCOS @ UC3M
![Page 122: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/122.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 5
122
} Dado un hipotético computador con memoria virtual paginada con un espacio de direcciones virtuales de 64 KB, una memoria física de 16 KB. En este computador, que direcciona la memoria por bytes, el número de páginas por proceso es como máximo de 512. En un instante de tiempo dado, la tabla de páginas del proceso en ejecución contiene la siguiente información:
ARCOS @ UC3M
![Page 123: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/123.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 5 (cont.)
123
} Se pide:} Calcule el tamaño de cada página y el número de
marcos de página.} ¿Cuántas páginas tiene asignadas el proceso en
ejecución?} ¿Para qué se utiliza el bit M?} Indique el formato de las direcciones virtuales
especificando el tamaño de los campos y el significado de cada uno.
} ¿Cuántos marcos de página tiene la memoria?} Indique las direcciones físicas, en binario y
hexadecimal, correspondientes a las direcciones virtuales 258 y 1224 expresadas ambas en decimal.
} ¿Dada una dirección virtual cuántos accesos a memoria física se requieren para obtener el dato?
1 0 0000101 0 0000011 0 0001101 1 0000001 0 0001001 0 0000110 0 0001000 0 0000100 0 0001101 0 0001010 0 0000001 0 0001110 0 0000110 0 0001010 0 0000011 1 000111
P M marco/bloque
ARCOS @ UC3M
![Page 124: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/124.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 6
} Considere un computador con direcciones virtuales de 32 bits y páginas de 8 KB. Se pide:
} Formato de la dirección virtual} Máximo número de entradas que puede tener la tabla de
páginas.} Dado el siguiente fragmento de programa:
int a[1000000];for (i = 0; i < 890000; i++)
a[i] = a[i] +1;
} y suponiendo que no hay ninguna página en memoria principal y que los datos e instrucciones se almacenan en páginas distintas, indique el número de fallos de página que se producen cuando se ejecuta el fragmento de programa anterior.
124 ARCOS @ UC3M
![Page 125: Tema 5 (III) Jerarquía de Memoriaocw.uc3m.es/ingenieria-informatica/estructura-de-computadores/tra… · Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS.](https://reader033.fdocuments.ec/reader033/viewer/2022050605/5fad13b8441c235c3a5210be/html5/thumbnails/125.jpg)
Félix García Carballeira, Alejandro Calderón Mateos
Ejercicio 7
} Sea un computador con direcciones virtuales de 32 bits y páginas de 4KB. Según un estudio, se ha determinado que en ausencia de fallos de página, este computador es capaz de ejecutar 50 millones de instrucciones por segundo. Además el porcentaje de utilización de las instrucciones (similares a la del MIPS 32) es:} LOAD un 30%} STORE un 10 %} MOVE un 10%} Operaciones aritméticas un 24 %} Operaciones lógicas un 6%} Bifurcaciones un 20 %
} Se pide:} Si no hay fallos de página y las instrucciones caben en una palabra,
determine el número de accesos a memoria por segundo} Si la tasa de fallos de página es del 95% y el tiempo para tratar un fallos
de página es de 6 ms, indique el número de instrucciones que es capaz de ejecutar este computador.
125 ARCOS @ UC3M