Вы находитесь на странице: 1из 73

Escuela Profesional de Ingeniería de

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

Cada sistema basado en microprocesador,


simple o complejo, tiene un sistema de
memorias
Casi todos los sistemas contienen dos
tipos principales de memoria: memoria de
solo lectura (ROM) y memoria de acceso
aleatorio (RAM)
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Sistema de memorias

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

• Proceso  necesita memoria para almacenar su código y sus


variables

• SO  necesita memoria para sus procesos y tablas de control

• Mas de un proceso en la memoria al mismo tiempo 


Multiprogramación  SO debe administrar la memoria (recurso) 
Evitando que los procesos dañen la memoria de los demás y
garantizando que cada proceso tenga suficiente memoria (ni
demasiado, ni muy poco)
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Sistema de memorias
• Se tiene una Jerarquía de Memoria
• Cache (rápida y costosa)
• Principal (media)  RAM
• Disco (lenta y barata)
• Gestión de memoria  usar esta jerarquía para crear una
abstracción de memoria de fácil acceso
• SO  Administrador eficiente de memoria
• Llevar el registro de cuáles partes de la memoria están en uso
• Asignar memoria a los procesos cuando la necesiten
• Desasignarla cuando terminen o se intercambien a disco

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)

Velocidad (ns): 10s 100s 10,000,000s 10,000,000,000s


1s
(10s ms) (10s sec)
Tamaño 100B KB MB GB TB
(bytes):
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria Caché

• La velocidad de ejecución de instrucciones


depende de la velocidad de la transferencia
de datos entre CPU y memoria principal
• El CPU es más rápido, por lo que el tiempo
de ciclo de memoria se convierte en “un
cuello de botella”.
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria Caché
• Se combinan los dos tipos de memoria para obtener a bajo precio la
velocidad de la caché y la capacidad de la memoria principal
• Si una palabra se lee o escribe k veces, se necesita una referencia a
memoria principal y k-1 a la caché
Escuela Profesional de Ingeniería de
Sistemas e Informática x

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

• La memoria se forma a partir de palabras


• La capacidad se expresa en términos de
# palabras x longitud de palabra
• Chip memoria incluye mecanismos para
• Decodificar las direcciones
• Lectura/Escritura
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Administración de Memoria Libre

• Dos técnicas para llevar el registro del


uso de la memoria
• Bitmaps  Mapa de bits
• Linked lists  Listas enlazadas o
libres
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Bitmaps
Una parte de la memoria con
cinco procesos y tres huecos

• 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

• Desventaja  para asignar memoria a un proceso


de k UA, el administrador de memoria debe buscar en
el mapa, hasta encontrar una serie de k bits
consecutivos con el valor 0  Operación Lenta

Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Listas enlazadas

Cada entrada en la lista  Un hueco (H) o un Proceso (P), la dirección en la que


inicia, la longitud y un apuntador a la siguiente entrada
Lista ordenada por dirección  ventaja cuando termina un proceso o se
intercambia  el trabajo de actualizar la lista es simple

Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Listas enlazadas – Desasignar memoria

• Cuatro combinaciones de los vecinos para el proceso X en


terminación
• Para este proceso de mezclar huecos (compactar) puede ser más
conveniente tener una lista doblemente enlazada
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Listas enlazadas – Asignar memoria
• Procesos y huecos están en una lista ordenada por dirección  existen
varios algoritmos para asignar memoria cuando el proceso es creado o
intercambiado desde disco
• Algoritmos:
• Primer ajuste (First fit): el administrador de memoria explora la lista hasta
encontrar un hueco que sea lo suficientemente grande  Rápido, busca lo
menos
• Siguiente ajuste (Next fit): Funciona como anterior, pero lleva registro de
dónde descubre un hueco adecuado  La siguiente vez que es llamado,
empieza desde el lugar en el que se quedó la última vez, en lugar de
empezar siempre desde el principio  rendimiento ligeramente menor que el
del primer ajuste

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

Ej. asignar memoria a proceso de 16 MB Sistemas de Operación


Escuela Profesional de Ingeniería de
Sistemas e Informática x

Listas enlazadas – Asignar memoria


Los cuatro algoritmos pueden ser acelerados  con listas
separadas para los procesos y los huecos  dedicándose solo a
inspeccionar los huecos, no los procesos

Si lista de huecos se ordena por tamaño  Los algoritmos del primer


ajuste y del mejor ajuste son igual de rápidos, y se hace
innecesario usar el del siguiente ajuste

Surge otro algoritmo de asignación  ajuste rápido (Quick fit), que


mantiene listas separadas para algunos de los tamaños más
comunes solicitados  Muy rápido

Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x

Listas enlazadas – Asignar memoria


El precio inevitable que se paga por esta aceleración en la asignación es
la complejidad y desaceleración al desasignar la memoria  ya que un
segmento liberado debe eliminarse de la lista de procesos e insertarse en
la lista de huecos

Desventaja de los esquemas que se ordenan por el tamaño del hueco 


Cuando un proceso termina o es intercambiado, buscar en sus vecinos
para una posible fusión es un trabajo costoso (tiempo procesamiento)

Si no se realiza la fusión  la memoria se fragmentará rápidamente 


gran número de pequeños huecos en los que no cabrá ningún proceso

Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x

Algunas características del


sistema de memorias
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Prestaciones
• Tiempo de escritura
• Tiempo transcurrido desde que la memoria recibe la
orden de escritura hasta que son almacenados en la
misma

• 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

•SRAM: Memoria de acceso aleatoria estática


• Baja densidad, requiere más energía, cara
• Rápida, estática: El contenido durará mientras esté
alimentada
Escuela Profesional de Ingeniería de
Sistemas e Informática x
SDRAM
• Synchronous dynamic RAM (SDRAM): usada en la mayoria
de los sistemas nuevos debido a su velocidad
• Versiones disponibles con tiempos de acceso menores a 7
nseg, para un un bus de 133 MHz
• Cuando ocurre una rafaga de transferencia del
microprocesador a la SDRAM, toma de 3 a 4 ciclos de reloj
antes de que se lea el primer numero de 64 bits
• Los siguientes numeros se leen sin ningun estado de
espera y en un ciclo de bus, cada uno
Escuela Profesional de Ingeniería de
Sistemas e Informática x
DDR
• Memoria Double-data rate (DDR): es la mas grande mejora a la
DRAM
• Duplica en velocidad a la SDRAM debido a que la transferencia es
hecha en cada flanco del reloj
• El flanco positivo es usado para transferir, igualmente el negativo
• Aunque pareciera que duplica la velocidad, realmente no es así:
• Aún persisten problemas de acceso, la mayoría de esta memoria
avanzada requiere de tiempos de acceso de 40 ns
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Espacio de direcciones (Memoria principal: RAM)
• Address bus:10 bit Address Space:1 Kbytes (210)
• Address bus:11 bit Address Space:2 Kbytes (211)
• Address bus:16 bit Address Space:64 KBytes (216)
• Address bus:20 bit Address Space:1 MBytes
• Address bus:32 bit Address Space:4 GBytes
• Address bus:34 bit Address Space:16GBytes
• Address bus:36 bit Address Space:64GBytes
• Address bus:38 bit Address Space:256GBytes
• Address bus:52 bit Address Space:1015 Bytes
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Memoria ROM
Memorias ROM (Read-Only Memory)
Almacena permanentemente los programas / datos
residentes en el sistema. No debe cambiar cuando se
desconecta la alimentación
Memoria no volátil, porque su contenido no cambia
incluso si se desconecta la alimentación
Aplicaciones: microprogramación, subrutinas de
biblioteca para funciones de uso frecuente, programas
del sistema, tablas de funciones
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Tipos de memoria ROM
PROM. Es no volátil y sólo se puede escribir en ella una sola
vez. El proceso de escritura se lleva a cabo eléctricamente y
puede realizarlo el vendedor o el usuario
EPROM: Memoria de sólo lectura programable borrable
Antes de escribir una operación, todas las celdas de
almacenamiento deben ser borradas al estado inicial
exponiendo el chip a radiación ultravioleta. Mas cara que la
PROM, pero tiene la ventaja de que puede ser alterada
múltiples veces
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Tipos de memoria ROM
EEPROM: Memoria de sólo lectura programable y borrable
eléctricamente
• Puede ser escrita sin borrar contenido anterior. Sólo el o los bytes
direccionados son actualizados
• La operación de escritura toma mucho más tiempo que la de
lectura
• Combina la ventaja de no-volatibilidad con la flexibilidad de ser
actualizable usando controles de bus ordinarios, direcciones y
línea de datos
• Es más cara que la EPROM y puede almacenar menos bits por
chip
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Tipos de memoria ROM
Flash
• Nombrada así por la velocidad a la cual puede ser
reprogramada
• Es intermedia entre la EPROM y la EEPROM en costo y
funcionalidad
• Mucho más rápida que la EPROM
• Puede borrar bloques específicos de memoria
• No provee borrado a nivel de bytes
• Tiene la densidad alta de las EPROM
Escuela Profesional de Ingeniería de
Sistemas e Informática x

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

PROM Sólo lectura No es posible Eléctricamente No volátil

EPROM Lectura- Luz ultravioleta Eléctricamente No volátil


frecuente
EEPROM Lectura- Eléctricamente Eléctricamente No volátil
frecuente
Escuela Profesional de Ingeniería de
Sistemas e Informática x

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)

• Overlays  Programador dividía el programa en varias módulos  En cada


módulo, al margen de la lógica propia del programa  Instrucciones de E/S
para cargar en memoria principal aquellos módulos cuyas instrucciones deban
ejecutarse o cuyos datos vayan a ser referenciados en el futuro inmediato

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

Memoria virtual con Paginació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
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)

MMU  Mapea direcciones virtuales a direcciones físicas y las pone en el bus de


memoria
Sin memoria virtual  la dirección física se coloca directamente en el bus de memoria y
hace que se lea o escriba la palabra de memoria física con esa dirección

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)

• Las unidades correspondientes en la memoria física 


Marcos de página
• Las páginas y los marcos de página por lo general son
del mismo tamaño
• Entre RAM y Disco  se trasfieren las páginas completas

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

Se tiene 32 KB de memoria física

Páginas de 4 KB  16 páginas virtuales y 8 marcos de


página

Ej: MOV REG,0

Dirección virtual (DV) 0  MMU ve DV 0 en página 0 (0 a


4095)  Asociación con marco de página 2 (8192 a 12287)
 Transforma la DV 0 en 8192 y la envía al bus  La
memoria no sabe nada acerca de la MMU, sólo ve una
petición para leer o escribir en la dirección 8192  MMU
asocia la página completa (direcciones virtuales entre 0 y
4095 sobre las direcciones físicas de 8192 a 12287 )

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)

• Número de la página virtual  usado para indexar la tabla de


páginas  para encontrar el número del marco de página respectivo
• Si el bit de presente/ausente es 1  se adjunta el número del marco
de página antes del offset, creando la dirección física  La cual es
enviada al bus de memoria

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

• Bit Presente (1) / Ausente (0)


• Bits de Protección: acceso permitido  0 lectura/escritura (R/W), 1 sólo lectura (R)
• Bit Modificada (dirty) : registro de uso de la página
1  ha sido escrita  debe escribirse de vuelta a disco
0  se puede abandonar  copia en disco aún es válida
• Bit Referenciada: 1  fue leída o escrita  ayuda al SO a elegir página a ser
desalojada cuando ocurre fallo de página  no desalojar páginas que se están usando
• Bit caché deshabilitado  1 se desactiva uso de la caché
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

• Si el espacio de direcciones virtuales es grande entonces la


tabla de páginas será grande
Computadoras modernas usan direcciones virtuales de 32 bits y 64 bits
Ej. Espacio de direcciones 32 bits (4GB) y tamaño de página 4 kB  1 MB de pág.
Cada Proceso necesita su propia tabla de páginas  tiene su propio espacio de
direcciones virtuales

Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de la Paginación

Necesidad  Mapeo rápido de páginas extensas


1. Traer la Tabla de Páginas por proceso a la MMU, cuando
es arrancado  Almacenarla en registros (una entrada/pág.
virtual indexada por el No. de pág.)
Ventaja  simple y no requiere referencias de memoria durante
el mapeo
Desventaja  costoso si tabla es extensa (por lo general, no es
práctico) y cargar toda la tabla en cada cambio de contexto
disminuye el performance
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Implementación de la Paginación

2. Mantener la Tabla de Páginas en Memoria Principal 


La MMU solo necesita un registro que apunte a su inicio
Ventaja  mapeo de direcciones virtuales a físicas durante
cambio de contexto con solo recargar un registro
Desventaja  Requiere una o mas referencias a memoria
para leer entradas en la tabla durante ejecución de cada
instrucción  Lento

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

• Mayoría de técnicas de optimización  Tabla de


páginas está en memoria principal

• Desventaja a reducir  Requiere una o mas


referencias a memoria para leer entradas en la tabla
durante ejecución de cada instrucción  Lento

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

• Solución  Agregar a la MMU un dispositivo llamado Bufer de


traducción adelantada (Translation Lookaside Buffer (TLB)) 
también conocido como Memoria Asociativa

• Asocia direcciones virtuales a direcciones físicas sin pasar por la


tabla de páginas

Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Translation Lookaside Buffers (TLB)

TLB  pequeño número de entradas, Ej. 8, raras veces > 64


Bit Válida  indica si la página está en uso o no
Sistemas de Operación
Escuela Profesional de Ingeniería de
Sistemas e Informática x
Translation Lookaside Buffers (TLB)

• Si la dirección está en la MMU  Evita ir a tabla de páginas


• Búsqueda paralela para ver si la página virtual está en el TLB
• Si se encuentra en el TLB y no viola el bit de protección se toma el marco del TLB
• Si no (TLB miss)  busca en tabla de pág.  desaloja una entrada de TLB y la reemplaza con
la entrada que acaba de buscar
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

Вам также может понравиться