Академический Документы
Профессиональный Документы
Культура Документы
Sistemas e Informática x
ARQUITECTURA DE
COMPUTADORAS
• Profesor(a): JOSÉ F RAMONES MORLES
• Correo : joseramones.telesup@gmail.com
Unidad : 03 Temas : 1 - 4
Semestre: 2019 - I
Escuela Profesional de Ingeniería de
Sistemas e Informática x
AGENDA
1. Sistema de memorias
2. Jerarquía de memorias
3. Administración de memoria principal
4. Algunas características de los sistemas
de memorias
5. Clasificación memoria principal
6. Memoria virtual
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Sistema de memorias
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Sistema de memoria - Introducción
Dispositivos
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Sistema de memorias
• Procesos comparten la CPU También comparten la memoria
física
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Jerarquía de memorias
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Jerarquías de memorias
En el diseño de la memorias existe un
compromiso entre las características de
capacidad, costo y velocidad:
• A menor tiempo de acceso, mayor costo por bit
• A mayor capacidad, menor costo por bit
• A mayor capacidad, mayor tiempo de acceso
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria ideal
• Infinitamente grande y con tiempo de acceso muy corto
• Problema
• Muy cara
• Tecnológicamente no factible
• Solución: Jerarquía de memoria
• Unidades grandes y lentas
• Unidades pequeñas y rápidas
• Meta Ilusión de una memoria grande, rápida y barata
Rendimineto de una memoria de gran velocidad al costo de una
memoria de baja velocidad
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Desempeño CPU vs memoria
ideal
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Jerarquía de sistemas de memoria
Cuando se desciende la
jerarquía ocurre:
a) Menor costo por bit
b) Mayor capacidad
c) Menor velocidad
d) Disminución de la frecuencia
de acceso a la memoria por
parte del procesador
Principio de
localidad
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Jerarquía de memoria y principio de localidad
• Principio de localidad Probabilidad
De referencia
Los programas acceden a una
porción relativamente pequeña
del espacio de direcciones en 0
Espacio de direcciones
algún instante de tiempo
Localidad temporal
o Si un dato es referenciado, tiende a ser referenciado de nuevo en un tiempo
próximo (ciclos)
Localidad espacial
o Si un dato es referenciado, los datos con direcciones cercanas tienden a ser
referenciados pronto (tablas)
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Jerarquía de memoria y principio de localidad
• Haciendo uso del principio de localidad:
• Presenta al usuario tanta memoria como esté disponible con la tecnología más
económica
• Provee acceso con la velocidad disponible con la tecnología más rápida
Processor
Control Tertiary
Second Main Secondary Storage
Level Storage
On-Chip
Registers
Cache
Memory (Tape)
Cache (DRAM) (Disk)
Datapath (SRAM)
Administración de memoria
principal
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Celda binaria
• Es el elemento básico de una memoria
semiconductora
• Presentan dos estados estables (o semiestables)
que pueden utilizarse para representar el 1 y 0
binarios
• Puede escribirse en ellas (al menos una vez) para
fijar su contenido
• Pueden leerse para detectar su estado
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria principal
• Formada por un número de celdas binarias
• A un grupo de celdas de tamaño predefinido se le
llama palabra
• El número de bits de cada palabra se le llama:
longitud de palabra
• Organizada para tener acceso al contenido de una
palabra en una operación básica
• Se asocia un número diferente a cada palabra al que
se le llama dirección
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Construcción de palabras a partir de celdas binarias
• Palabras
• Longitud de palabra
• Dirección (0 a n-1 n localidades)
• m líneas de dirección 2m localidades
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Construcción de memorias a partir de palabras
• Memoria se divide en unidades de asignación (UA) tan pequeñas como unas cuantas palabras y tan
grandes como varios kilobytes
• Para cada UA un bit en el mapa de bits 0 si está libre y 1 si está ocupada
• UA muy pequeña mayor será el mapa de bits
• Ej. UA = 4 bytes 32 bits de memoria sólo requerirán 1 bit del mapa
• UA grande mapa de bits pequeño podría desperdiciar una cantidad considerable de memoria en
la última unidad del proceso Fragmentación interna
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Bitmaps
• Ventaja Forma compacta de mantener el registro
de la memoria, que sólo depende del tamaño de la
memoria y el tamaño de la unidad de asignación
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Listas enlazadas
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Listas enlazadas – Desasignar memoria
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Listas enlazadas – Asignar memoria
• Algoritmos:
• Mejor ajuste (Best fit): busca en toda la lista, de principio a fin y toma el hueco
más pequeño que sea adecuado más lento que el del primer ajuste, ya
que debe buscar en toda la lista También provoca más desperdicio de
memoria que los anteriores, debido a que tiende a llenar la memoria con
huecos pequeños e inutilizables
• Peor ajuste (Worst fit): tomar siempre el hueco más grande disponible no
es buena idea
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Listas enlazadas – Asignar memoria
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
• Tiempo de lectura
• Tiempo transcurrido desde la orden de lectura hasta
que la memoria vuelca los datos solicitados en su
bus de datos
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Prestaciones
• Tiempo de acceso
• Media de los dos tiempos de lectura y escritura definidos
• En memorias de otro tipo, es el tiempo en situar el
mecanismo de escritura/lectura en la posición deseada
• Tiempo de ciclo
• Se aplica principalmente a las memorias de acceso aleatorio,
se define como el tiempo de acceso más el tiempo que se
requiere para poder iniciar un segundo acceso a la memoria
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Dispositivo físico
• Semiconductor
• Dispositivos de estado sólido como los circuitos
• Soporte magnético
• Floppies, cintas, etc.
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Dispositivo físico
• Soporte óptico
• DVD, CD, mini disk, etc.
• Magneto óptico
• Mitad magnético, mitad óptico.
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Características físicas
• Volátil
• Memoria de superficie magnética: volátil
• No volátil
• Memoria semiconductora: volátil o no volátil
• Borrable
• RAM
• No borrable
• ROM
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Clasificación de memoria
principal
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Clasificación de memoria
Memoria RAM (Random-Access Memory)
• Acceso aleatorio: tiempo de acceso es el mismo para todas las
localidades
• Leer y escribir datos rápidamente en ellas
• Volátil. Almacenamiento temporal
Hechas con celdas que almacenan
Dinámica los datos como cargas en los
Tipos de condensadores
memoria Estática Almacenan los datos utilizando
RAM configuraciones de compuertas que
forman biestables (flip-flops)
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria RAM dinámica y estática
•DRAM: Memoria de acceso aleatorio dinámica
• Alta densidad, requiere poca energía, económica
• Lenta, dinámica: Necesita ser “refrescada” regularmente: 2
a 4 ms
Clasificación de memorias
Tipo de Categoría Borrado Mecanismo de Volatibilidad
memoria escritura
RAM Lectura- Eléctricamente Eléctricamente Volátil
escritura
ROM Sólo lectura No es posible Máscaras No volátil
Memoria virtual
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria Virtual - La historia
• Administración del agrandamiento del software Tamaño de
las memorias se incrementa con cierta rapidez, pero el del
software aumenta con una mucha mayor
• Necesidad de:
• Ejecutar programas grandes que no caben en la memoria
• Ejecutar varios programas al mismo tiempo, algunos de los cuales
caben en memoria pero que en forma colectiva exceden su tamaño
Sobrecarga de memoria
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria Virtual - La historia
• Para ello el Swapping Completo es demasiado lento (Ej. De la época: rata de
transferencia de un disco SATA de 100 Mbytes/seg 10 seg para hacer un
swap out a 1 Gbyte de programa)
Lo díficil la división del programa de forma manual por parte del programador
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria Virtual basada en Paginación
• El espacio de direcciones del programa se divide en páginas de
tamaño fijo
• Las páginas son mapeadas a memoria física pero no todas tienen
que estar en la memoria física para poder ejecutar el programa
• Si una instrucción hace referencia a una página que está en memoria
realiza la asociación necesaria al instante
• De lo contrario el SO debe traer la página de disco y rearrancar la
instrucción
• Mientras la página se está leyendo el Planificador le da el CPU a
otro proceso
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Unidad de manejo de Memoria (MMU)
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Páginas y Marcos (Frames) de Páginas
• Direcciones virtuales se dividen en páginas (rango 512
bytes – 1 gigabyte)
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Mapeo de Páginas a Marcos de Páginas
Direcciones de 16 bits (0 a 64 K-1) Direcciones virtuales
de 64 KB
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Procesamiento de un Fallo de Página
• Bit presente/ausente indica si la página está en memoria
• ¿Qué ocurre si el programa hace referencia a direcciones no asociadas, es
decir, no están en memoria? Ej. instrucción MOV REG,32780
• Fallo de Página Se hace un Trap al SO
• Selecciona un marco de página libre, si no lo hay se seleccionará una página que se utilice poco,
se saca del marco y la escribe de vuelta al disco (si ha sido modificada)
• Planifica una operación de disco para traer la página del disco Proceso se bloqueará en espera
de E/S, permitiendo que otro proceso use la CPU
• Trae la página al marco libre (operación de E/S completada) cambia la asociación en la tabla
de páginas
• Reinicia la instrucción que generó el Trap (Proceso en estado ready)
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Tabla de páginas
• Propósito de la tabla de páginas Asociar páginas virtuales a los
marcos de página Función donde el número de página virtual es un
argumento y el número de marco físico es un resultado
• Dirección Virtual = {número de página virtual (bits de mayor orden), offset
(bits de menor orden)} offset lo determina el tamaño de página (nº de bits de offset = log2
tamaño de página)
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Operación interna MMU - Tabla de páginas
Ejemplo Pág. Virtual 2:
Dirección Virtual =
{número de página virtual,
offset} = 8196 (8K) = 0010 y
offset
0010 = 2 Índice de la
Pág.
Bit Presente/Ausente = 1
Dirección Física = No.
marco de pág., offset = 110
y offset 24580 (24 K)
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Estructura de una entrada de la tabla de páginas
Observación
• Tabla no guarda la dirección del disco utilizado para salvar la página cuando no
está en memoria sólo guarda información que el hardware requiere para
asociar una dirección física a una dirección virtual
• Esta Información requerida por el SO para manejar fallos de páginas se
mantiene en tablas de software del SO
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Consideraciones con la paginación
• La asociación (mapeo) de una dirección virtual a una física se
hace en cada referencia de memoria el mapeo debe ser
rápido
Todas las instrucciones provienen de memoria y muchas hacen referencia a operandos
en memoria también 1, 2 o mas referencias a la tabla de páginas por instrucción
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de la Paginación
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de la Paginación
Mantener la Tabla de Páginas en memoria principal
MMU solo necesita un registro que apunte a su inicio
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Aceleración de la traducción de direcciones
• También conocido como Aceleración de Páginas
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Aceleración de la traducción de direcciones - TLB
• Diseñadores de computadores años de observación Mayor
parte de los programas tienden a accesar un pequeño número
de páginas se lee con mucha frecuencia una pequeña fracción
de las entradas de la tabla de páginas
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Translation Lookaside Buffers (TLB)
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
¡Gracias!
Escuela Profesional de Ingeniería de
Sistemas e Informática x