Está en la página 1de 99

FASE 2 UNIDAD 3

RECURSOS DE SBM

Ing. Mario Urrutia Espinoza

17/06/2017 TP-UCSM/MUE 1
SISTEMA DE MEMORIA

17/06/2017 TP-UCSM/MUE 2
1. Introduccin

17/06/2017 TP-UCSM/MUE 3
Parte donde residen los programas y datos
Un programa normalmente est
almacenado en dispositivo de
almacenamiento secundario.
El SO lo copia a memoria y luego el MP
inicia la ejecucin de las instrucciones
leyndolas de memoria

17/06/2017 TP-UCSM/MUE 4
El tamao mximo de una memoria viene
determinado por el nmero de lneas por el
bus de direcciones
La longitud de palabra de memoria es la
cantidad de datos en bytes que pueden ser
transferidos en un ciclo
Cuanto ms antes lleguen las
instrucciones y los datos desde memoria al
MP, mayor ser la velocidad de ejecucin
del programa.
17/06/2017 TP-UCSM/MUE 5
Por tanto se definen los siguientes
tiempos, los cuales se deben minimizar:
a) Tiempo de acceso: tmin que transcurre
desde que las direcciones se depositan
en el bus y se recogen los datos (L)
b) Tiempo de ciclo, tmin que tiene que
transcurrir entre 2 operaciones de
memoria consecutivas

17/06/2017 TP-UCSM/MUE 6
Debido a prestacin/costo, las PC no
pueden implementarse con toda su
memoria a gran velocidad de acceso
Por ello, se establece un diseo jerrquico,
dejando la memoria ms rpida
directamente accesible por el CPU, y la
ms lenta en las capas de jerarqua mas
externas

17/06/2017 TP-UCSM/MUE 7
Otras caractersticas son:
volatilidad, capacidad de mantener la
informacin en cuanto se pierda la
alimentacin
densidad de informacin, almacenar
informacin ocupando cada vez menos
espacio por bit

17/06/2017 TP-UCSM/MUE 8
2. Clasificacin

17/06/2017 TP-UCSM/MUE 9
Hay varios criterios para
clasificar las memorias.
Por ejemplo, la volatilidad define
dos tipos de memoria: ROM y
RAM

17/06/2017 TP-UCSM/MUE 10
2.1 ROM
La ROM (pasiva), guarda permanentemente la
informacin bsica para que el PC arranque, es decir
su configuracin, y las rutinas de comprobaciones
iniciales al sistema (POST)

17/06/2017 TP-UCSM/MUE 11
Organizacin interna de una ROM

17/06/2017 TP-UCSM/MUE 12
Tipos de ROM
Existen diferentes tipos de ROM:
a. PROM: Programador especial que
genera picos de tensin que queman
fusibles internos. No pueden ser
borradas
b. EPROM. S se borran con rayos UV a
travs de una ventana de cuarzo.
Para evitar su borrado debe cubrirse
con una etiqueta

17/06/2017 TP-UCSM/MUE 13
c. EEPROM. Memorias programables y borrables
mediante un dispositivo especial que genera
tensiones elctricas segn la operacin
d. FLASH. Son memorias de L/E de acceso
aleatorio no voltiles. Para lectura se comporta
igual que una SRAM pero para escritura es
diferente. Primero deben borrarse completamente
(o al menos un bloque) y despus escribirse.

17/06/2017 TP-UCSM/MUE 14
Tiene internamente un registro de
instrucciones y una etapa de control que
genera las seales para borrar/escribir
en un bloque o toda la memoria.
Estn desplazando a las anteriores
debido a que no necesitan
alimentaciones altas para borrar/escribir,
sino slo 5V generados en cualquier
computador

17/06/2017 TP-UCSM/MUE 15
2.1 RAM
Constituye el rea de trabajo
Cabe resaltar que ambas memorias
son de acceso aleatorio (ROM y
RAM), esto es, que el tiempo de
acceso a la primera o a la ltima
posicin es el mismo, es decir, no
depende de la celda.
La diferencia es el tiempo de lectura y
escritura.

17/06/2017 TP-UCSM/MUE 16
Para la RAM, ambos tiempos son prcticamente
iguales. En la ROM, el tiempo de escritura es
mucho mayor
La matriz de la RAM est organizada en
palabras, cada una tiene una direccin que
indica su posicin en la matriz.
Cada palabra est formada por una serie de
celdas, que contienen un bit, a las que se
accede en paralelo

17/06/2017 TP-UCSM/MUE 17
Clasificacin de las RAM
De acuerdo al avance tecnolgico,
las memorias RAM han sido
implementadas de diversas formas.
Clasificacin mas generalizada: RAM
estticas y RAM dinmicas

17/06/2017 TP-UCSM/MUE 19
2.1.1 RAM Estticas (SRAM)

Se compone de celdas conformadas


por flip-flops construidos con
transistores MOSFET, aunque tambin
con BJT.
No se implementa el ciclo de refresco.
La celda se activa mediante un nivel
activo a la entrada superior y los datos
se cargan o leen a travs de las lneas
laterales.
17/06/2017 TP-UCSM/MUE 20
Las celdas de memoria se agrupan en
filas y columnas para conformar el
arreglo bsico de la memoria.
En la figura siguiente se muestra la
disposicin de las celdas de memoria
en una SRAM, donde se observa que
cada una de las filas se habilita de
forma simultnea para recibir o cargar
los datos del bus de entrada/salida.

17/06/2017 TP-UCSM/MUE 22
Tipos de RAM Estticas
a. Asncrona: Muy rpidas. Usadas en cachs
internos
b. Sncronas: tienen una seal de reloj que
sincroniza el proceso de L/E.
Esto es til cuando se realizan accesos a
direcciones consecutivas en memoria. Primero
se da la direccin base, y luego, en cada flanco,
la memoria proporciona el dato para leerlo o se
le suministra el dato para escribirlo.
Existen varios tipos:

17/06/2017 TP-UCSM/MUE 24
SRAM de Rfaga (Burst)
Incluyen un contador que permite que la memoria genere
internamente la direccin a la que debe acceder,
consiguiendo accesos a varias posiciones de memoria
con una sola direccin de referencia, accediendo mas
rpidamente a memoria.
La CPU genera una direccin de memoria que se
propaga a travs del bus de direcciones hasta la
memoria, decodificndose y accediendo a la posicin
correspondiente. Una vez obtenido el primer dato,
incrementa la direccin y vuelve a acceder.

17/06/2017 TP-UCSM/MUE 25
SRAM Pipeline
Incluyen un buffer para almacenar la direccin y
los datos actuales proporcionados por la
memoria.
De esta forma, se puede enviar la nueva
direccin antes de terminar la lectura,
consiguiendo as que la CPU no espere la
finalizacin del acceso a una posicin de
memoria para generar la nueva direccin.

17/06/2017 TP-UCSM/MUE 26
2.1.2 RAM Dinmicas (DRAM)

A diferencia de la memoria esttica se


compone de celdas de memoria
construidas con condensadores.
Las celdas de memoria son de
fabricacin ms sencillas en
comparacin a las celdas a base de
transistores, lo cual permite construir
memorias de gran capacidad.
En la figura se observa la composicin
interna de una de estas celdas.

17/06/2017 TP-UCSM/MUE 27
La operacin de la celda es similar a la de
un interruptor.
Cuando el estado en la fila se encuentra en
alto, el transistor entra en saturacin y el
dato presente en el bus interno de la
memoria (columna) se almacena en el
condensador, durante una operacin de
escritura y se extrae en una operacin de
lectura.

17/06/2017 TP-UCSM/MUE 29
El inconveniente es que hay que recargar la
informacin almacenada en las celdas, por lo
cual estas celdas requieren de circuitera
adicional para cumplir esta funcin.
En la figura siguiente se observa la celda
completa con sus aditamentos donde se
puede identificar la forma en que se
desarrollan las operaciones de escritura,
lectura y recarga.

17/06/2017 TP-UCSM/MUE 30
Comparacin entre Memorias
Estticas y Dinmicas
Memoria Ventajas Desventajas
La velocidad de Menor capacidad,
acceso es alta. debido a que cada
Para retener los celda requiere mas
SRAM datos solo necesita transistores.
estar energizada. Mayor costo por bit.
Son mas fciles de Mayor consumo de
disear. potencia.
Mayor densidad y La velocidad de acceso
capacidad. es baja.
Menor costo por bit. Necesita recargar la
DRAM Menor consumo de informacin.
potencia. almacenada para
retenerla.
Diseo complejo.

17/06/2017 TP-UCSM/MUE 32
3. Implementacin del sistema
de memoria

17/06/2017 TP-UCSM/MUE 33
Se usa la RAM (acceso independiente de
la posicin y de los accesos anteriores)
En las memorias de acceso secuencial el
tacc depende de las secuencias anteriores
Esta diferencia de tiempo y el costo de
almacenamiento por bit hace que los
segundos se usen como mtodos de
almacenamiento masivo

17/06/2017 TP-UCSM/MUE 34
Para aumentar las prestaciones se
incorpora la memoria cach (SRAM) entre
el MP y la Memoria Principal (MrPr).
La poltica de acceso a esta memoria va a
permitir que la mayora de accesos se
realicen en esta memoria que contiene una
copia de un subconjunto de posiciones de
la MrPr

17/06/2017 TP-UCSM/MUE 35
Otro aspecto importante es el incremento
del tamao de la MrPr:
Antes, como la MrPr era pequea se
usaba el almacenamiento secundario
para guardar parte de los programas.
Los programadores dividan sus
programas en secciones independientes
que alojaban en la memoria secundaria.
(Otro tipo de memoria o el disco duro)

17/06/2017 TP-UCSM/MUE 36
Las secciones se transferan a memoria y
a medida que el programa evolucionaba se
haca un acceso secuencial a la otra
memoria o al disco duro para cargar una
nueva seccin que reemplazaba a otra que
ya no se necesitaba en ese momento
(overlays).
En todo caso el programador requera
slidos conocimientos en hw y sw
17/06/2017 TP-UCSM/MUE 37
A medida que aumentaba la magnitud y
complejidad de los programas, y por ende
su tamao, la eficiencia de los programas
basados en Overlays fue decreciendo.
Se buscaron diversas soluciones de
asignaciones a memoria esttica (fija) y
dinmica (variables, segn necesidad)

17/06/2017 TP-UCSM/MUE 38
Luego se consolid el concepto de
Memoria Virtual.
Es una tcnica que permite al MP generar
direcciones virtuales que son trasladadas
en direcciones fsicas que se usan para
acceder a la MrPr.
Se usan principalmente para ampliar la
RAM usando el disco duro.

17/06/2017 TP-UCSM/MUE 39
3.1. Principio de la Localidad
A medida que el tamao de las
aplicaciones fueron creciendo, se
detectaron ciertas caractersticas en la
ejecucin de los programas
Una de las ms importantes fue la
tendencia de los accesos a memoria a
estar agrupados en regiones pequeas
de memoria durante pequeos periodos
de tiempo.
17/06/2017 TP-UCSM/MUE 40
El principio de localidad asegura que los
programas accedan nicamente a una
porcin relativamente pequea de su
espacio de direccionamiento durante un
corto espacio de tiempo
Existe una fuerte tendencia en patrones de
acceso futuros a ser similares a los patrones
del pasado cercano, es decir que mirando la
historia de los accesos se puede predecir los
accesos que ocurrirn en el futuro

17/06/2017 TP-UCSM/MUE 41
De acuerdo a ello los diseos de sistemas
de memoria se basan en la implementacin
de una memoria jerrquica, para mantener
una efectiva relacin prestacin/precio
De acuerdo al principio de la localidad, la
mayora de los datos se encuentran en la
memoria ms rpida, ya que es bastante
probable que el dato haya sido accedido
anteriormente.

17/06/2017 TP-UCSM/MUE 42
La jerarqua de memoria puede
constar de varios niveles, pero los
datos siempre se van a copiar entre
dos niveles adyacentes.
Cuando el MP busca un dato en
memoria se pueden producir 2
situaciones:

17/06/2017 TP-UCSM/MUE 43
a) Acierto (hit). Los datos estn en el nivel
superior. A su vez se define la tasa de aciertos
(hit rate) como la parte de los accesos a
memoria en los que se han encontrado los
datos en el nivel superior
b) Fallo (miss o fault). Los datos no estn en el
nivel superior, por tanto se debe acceder al nivel
inferior para traer el bloque que los contiene. A
su vez se define la tasa de fallos (miss rate)
como:
Miss Rate = 1 - Hit Rate

17/06/2017 TP-UCSM/MUE 44
Como se busca un mayor rendimiento del
sistema de memoria, hay que tener en cuenta
la velocidad, mediante:
a) Tiempo de acierto (hit time). T necesario para
acceder a los datos en el nivel superior,
incluyendo el tiempo necesario para
determinar si es acierto o fallo
b) Tiempo de Fallo. (miss time). T que se tarda
en sustituir un bloque, incluyendo tambin el
tiempo usado en pasarlo al MP. Este T es
mucho mayor que el anterior

17/06/2017 TP-UCSM/MUE 45
3.2. Memoria Cach
La idea es similar a la memoria virtual, esto es,
existe una pequea porcin de MrPr duplicada
en la memoria cach (que es de alta velocidad).
Cuando se genera una peticin de memoria, la
peticin es presentada primero al cach y si
sta no le proporciona el dato, se la presenta a
la memoria principal
La diferencia con la memoria virtual est en el
hw:
- Mr Pr es 4 a 20 veces ms lenta que la cach
- Disco duro es 1000 a 10000 veces ms lento
que la Mr Pr

17/06/2017 TP-UCSM/MUE 46
3.2.1 Funcionamiento
Cuando el MP enva por primera vez una
solicitud de L, se transfiere de la MrPr al
cach un conjunto de palabras (bloque)
que contiene el dato referenciado
Sucesivos accesos a cualquiera de las
posiciones del bloque hacen que su
contenido se lea directamente del cach.

17/06/2017 TP-UCSM/MUE 47
La correspondencia que existe entre los
bloques del cach y las posiciones de la
MrPr la decide el mapeo usado.
Cuando el cach se llena y se hace
referencia a una palabra que no est en el
cach se debe decidir qu bloque se
elimina para que el nuevo tome su lugar.

17/06/2017 TP-UCSM/MUE 48
El conjunto de reglas que se usan para
tomar esta decisin se denomina algoritmo
de reemplazo.
No es necesario que el MP tenga
conocimiento de la existencia del cach.
Para su gestin existe un circuito
denominado controlador de cach.

17/06/2017 TP-UCSM/MUE 49
En la L, la MrPr no interviene
En la E, puede seguirse los dos siguientes
pasos:
Cach Write-through. Se actualiza tanto el cach
como la MrPr
Cach write-back o copyback. Se actualiza solo el
cach y se marca como modificado. Luego si se
le reemplaza en el cach, recin el bloque se
actualizar en la MrPr

17/06/2017 TP-UCSM/MUE 50
El inconveniente del primero es que
genera operaciones de escritura
innecesarias (en el caso de escritura
de varias veces sobre el mismo
bloque)
La ventaja es que se evita
incoherencias al tener siempre una
copia en la MrPr
17/06/2017 TP-UCSM/MUE 51
Los datos en cach se agrupan en bloques cada
uno con su etiqueta
El tamao mnimo de un bloque es una palabra,
aunque se suelen usar bloques de varias
palabras.
Esto debido a que si los bloques tienen un
tamao superior a una palabra cuando ocurre un
fallo en cach se traen a cach varias palabras
adyacentes.

17/06/2017 TP-UCSM/MUE 52
Debido al principio de la localidad, dichos
bloques tienen una gran probabilidad de ser
necesitados en poco tiempo con lo que se
mejora la tasa de aciertos en los accesos a
cach
Como los datos son copias de una parte de la
MrPr, para poder averiguar de qu parte se trata
se usa la etiqueta.

17/06/2017 TP-UCSM/MUE 53
Cuando el MP realiza una L, primero se
buscan los datos en cach usando la
etiqueta
Si se encuentra, se produce un acierto y el
MP lee los datos de cach
Caso contrario, se produce un fallo de
lectura y hay que leer los datos de MrPr

17/06/2017 TP-UCSM/MUE 54
Las palabras de cach y MrPr se agrupan en
bloques de tamao constante
Hay varios mtodos que se usan para asignar
las posiciones en la cache donde se copia un
bloque.
Esta posicin puede ser nica (cach mapeada
directamente) o variable, (cachs asociadas por
conjuntos o totalmente asociativas) como se
ver a continuacin

17/06/2017 TP-UCSM/MUE 55
Para poder describir los algoritmos de
mapeado se utilizar la siguiente
nomenclatura:
L Nmero de bytes en un bloque
K Nmero de bloques en un conjunto
N Nmero de conjuntos en la cach
M=K*N Nmero de bloques en la cach

17/06/2017 TP-UCSM/MUE 56
A. Mapeado directo

Cada bloque debera corresponderse con un


bloque nico en cach, pero en situaciones
ms elaboradas cada posicin en cach
puede contener varias posiciones de
memoria
Por lo tanto la cach deber disponer de
informacin adicional para poder diferenciar
los distintos bloques de la memoria

17/06/2017 TP-UCSM/MUE 57
Nro Bloque

0 000
0 001

000 0 010
0 011
001
0 100

010 0 101
0 110
011
0 111

100 1 000
1 001
101
1 010

110 1 011
1 100
111
1 101
1 110
Memoria Cach
1 111

Memoria Principal
Cuando el MP realiza el acceso a un dato se
tiene que averiguar si existe una copia del
mismo en el cach para evitar un acceso a MrPr
innecesario
Para ello, primero se calcula qu bloque de
memoria contiene el dato y la posicin del
bloque del cach que tiene asignado
Luego se compara la etiqueta con la que se
obtiene de la direccin del dato y el bit de vlido
de dicho bloque para ver si se ha producido un
acierto

17/06/2017 TP-UCSM/MUE 59
Direccin
31 30 ..... .17 16 15 .... 5 4 3 2 1 0

Posicin byte en palabra


16
Etiqueta
\ Posicin bloque en cach Posicin palabra en bloque
\ \
12 2
V Tag Bloques de datos (128 bits)

\ \
\ 16 \ 32 32 \
32 32
= Mux

\ 32

Acierto Datos
En la figura anterior se muestra como se
descomponen los bits de las direcciones del MP en
campos, cada uno de ellos usado para identificar,
respectivamente, y de izquierda a derecha, la
posicin que ocupa el byte referenciado dentro de
la palabra, la posicin que ocupa esta palabra
dentro del bloque, la posicin (nmero de bloque)
donde se copia el bloque de memoria en el cach y
por ltimo el valor de la etiqueta que se copia en la
zona reservada para almacenar la etiqueta del
bloque
17/06/2017 TP-UCSM/MUE 61
Como se puede observar, el bloque de
datos no se compone de un nico byte
sino que lo forman 4 palabras de 4 bytes
cada una
Debido a que el bus de datos es de 32
bits se necesita un multiplexor para
secuenciar la copia o la lectura del bloque
de la cach

17/06/2017 TP-UCSM/MUE 62
Cuando el Mp quiere realizar un acceso a
memoria, saca por el bus de direcciones
la direccin.
Para determinar si el dato est en el
cach, la parte de la etiqueta se compara
con la etiqueta contenida en el bloque del
cach cuya posicin la definen los bits
centrales de la propia direccin.

17/06/2017 TP-UCSM/MUE 63
Si son iguales y adems el bit de
Bloque Vlido est activado se
produce un acierto y el MP puede L/E
datos en el cach.
En caso contrario se produce un fallo
y tiene que accederse a MrPr

17/06/2017 TP-UCSM/MUE 64
B. Mapeado Asociativo por conjuntos

La cach se divide en varios conjuntos


(N) que contienen cada uno el mismo
nmero de bloques
El nmero de bloques que contiene la
cach se obtiene de: N*K

17/06/2017 TP-UCSM/MUE 65
Cada bloque de Mr Pr tiene asignado un nico
conjunto dentro de la cach
Para ello se averigua primero qu bloque de
memoria contiene el dato y qu conjunto le
corresponde a ese bloque en la cach.
A partir de ese momento ya se sabe que si existe
copia del bloque, nicamente se podr encontrar
en alguno de los bloques que pertenecen al
conjunto que se acaba de calcular

17/06/2017 TP-UCSM/MUE 66
A continuacin se procede a comparar las
etiquetas de estos bloques con la etiqueta que
se obtiene a partir de la direccin del dato para
ver si coinciden, en caso afirmativo los datos
estn en cach
La ventaja de este mtodo es que no es
necesario verificar todo el directorio de cach
(la etiqueta de todos los bloques de cach),
sino slo la de los bloques del conjunto

17/06/2017 TP-UCSM/MUE 67
C. Mapeado Totalmente Asociativo
En este algoritmo, los bloques de Mr Pr pueden
ocupar cualquier posicin dentro de la cach
Bsicamente es como la anterior, pero donde solo
existe un conjunto que contiene todos los bloques de
la cach (N=1)
Para determinar si se ha producido un acierto o un
fallo se comparan las etiquetas de todos los bloques
con la etiqueta calculada a partir de la direccin del
dato
Si alguna de ellas coincide y adems su bit de vlido
asociado est activo se habr producido un acierto
17/06/2017 TP-UCSM/MUE 68
4.2 Algoritmos de reemplazo
Cuando el cach est lleno, ese
necesario sustituir un bloque para cargar
otro nuevo
Se debe elegir una estrategia de
reemplazo para que se mantengan en
cach los bloques que tienen ms
posibilidad de ser accedidos en futuros
accesos

17/06/2017 TP-UCSM/MUE 69
El ms usado es el LRU (Last Recently
Used), donde se reemplaza aquel bloque
que haya estado en cach mas tiempo sin
ser accedido
Otro es el aleatorio, halla mejores
resultados en algunos casos

17/06/2017 TP-UCSM/MUE 70
4.3 Manejo de los fallos en los
accesos a cach
Cuando se produce un fallo en la L del
cach, los datos se buscan en MrPr y se
copian en la posicin que les corresponde
dentro del cach, actualizando la etiqueta
del bloque de esa posicin y activando el
bit de vlido en el caso de que no lo
estuviera
Paralelamente se llevan tambin los datos
al MP
17/06/2017 TP-UCSM/MUE 71
El conjunto de pasos que se realizan
cuando se produce un fallo en la
LECTURA de una instruccin que va
a ser ejecutada (fetch miss) es el
siguiente:
a) Se decrementa el PC
b) Se leen de memoria los datos

17/06/2017 TP-UCSM/MUE 72
c) Se escribe en cach la instruccin a
ejecutar. Tambin se escriben los bits
mas significativos de la direccin en
la etiqueta y se activa el bit de vlido
d) Se inicia de nuevo la bsqueda de la
instruccin, en cach produciendo en
este caso un acierto o fetch hit

17/06/2017 TP-UCSM/MUE 73
En la ESCRITURA puede haber problemas
tanto en los aciertos como en los fallos
Si se produce un acierto, se puede crear
inconsistencias entre los datos que hay en
la cach y los de Mr Pr.
Para prevenirlas se usa el protocolo write
through, que consiste en que cada vez que
hay que escribir en la cach un dato, se
actualiza tanto la cach como la Mr Pr.

17/06/2017 TP-UCSM/MUE 74
En el caso de un fallo, no se puede
escribir directamente sobre la cach.
Primero se debe copiar a Mr Pr el
bloque que se desea modificar
Todo este proceso decrece el
rendimiento por lo que se suelen usar
buffers de escritura de alta velocidad.

17/06/2017 TP-UCSM/MUE 75
4.4 Rendimiento del Cach
El tamao del bloque afecta al rendimiento
Si se aumenta, se aprovechan las ventajas de la
localidad espacial y por tanto la tasa de fallos
decrece
Pero si el bloque se hace muy grande, al tener
palabras muy distantes no les afectara la
localidad espacial y por tanto no se acceder a
la mayora de las palabras de ese bloque.

17/06/2017 TP-UCSM/MUE 76
A medida que crece el tamao del
bloque disminuye el nmero de
bloques que se pueden ubicar en
cach.
Los bloques se desecharn antes que
sea posible usarlos y por tanto la tasa
de fallos se incrementar

17/06/2017 TP-UCSM/MUE 77
Evolucin de la tasa de fallos en funcin del tamao del
bloque

40

35

30
256 KB
Tasa de fallos

25
64 KB
20 16 KB

15 8 KB
1 KB
10

0
4 16 64 256
Tamao del bloque (B)

17/06/2017 TP-UCSM/MUE 78
5. MEMORIA VIRTUAL

Al igual que el cach, la MrPr acta como una


especie de cach del almacenamiento
secundario
Los principios que gobiernan la memoria virtual
son los mismos:
Mantener los elementos activos en la memoria
de mayor velocidad
Enviar los datos a la memoria de menor
velocidad cuando estos dejen de estar activos

17/06/2017 TP-UCSM/MUE 79
El rendimiento ser cercano al de la memoria
ms veloz, y el costo por bit ser cercano al
de la memoria ms lenta
La memoria fsica se divide en bloques del
mismo tamao llamados marcos de pgina o
frames. La memoria lgica se dividen en
bloques con el mismo tamao llamados
pginas

17/06/2017 TP-UCSM/MUE 80
Las pginas son la unidad bsica que se mueve
entre la MrPr y el disco
Cuando un proceso va a ejecutarse, las pginas
de la memoria lgica se cargan desde el disco a
los frames libres de la memoria fsica
Con este mtodo las direcciones que produce el
MP son direcciones virtuales
independientemente del espacio fsico de la
MrPr

17/06/2017 TP-UCSM/MUE 81
A cada direccin virtual se le asocia una
direccin fsica en MrPr mediante el
mecanismo de mapeo o traduccin de
direcciones.
Si la pgina que contiene el dato no est
copiada en memoria, se produce un fallo
de pgina que produce la copia desde el
disco

17/06/2017 TP-UCSM/MUE 82
5.1 MECANISMO DE
TRADUCCION DE DIRECCIONES
La memoria virtual necesita de la traduccin
de las direcciones lgicas en fsicas
Para ello se usa una unidad denomina MMU
(Memory Management Unit), interna o
externa al procesador
Las direcciones virtuales que genera el MP se
dividen en un nmero de pgina virtual y en
un desplazamiento dentro de la pgina

17/06/2017 TP-UCSM/MUE 83
Cada proceso en ejecucin o por
ejecutarse utiliza una estructura en
memoria llamada tabla de pginas, que
contiene la direccin base de cada pgina
en memoria fsica.
Esta tabla tendr tantas entradas como
pginas tenga el proceso

17/06/2017 TP-UCSM/MUE 84
En todo instante, el SO lleva cuenta de los
procesos que se estn ejecutando
concurrentemente
Como consecuencia, existirn mltiples
tablas de pginas en memoria y es por
tanto necesario tener un registro de
tablas de pgina, el cual se implementa
dentro del MMU

17/06/2017 TP-UCSM/MUE 85
Para calcular la direccin fsica se usa el
nmero de pgina como ndice en la tabla
de pginas para calcular la direccin base
de la pgina y sumarle el desplazamiento
(que es el mismo para la direccin virtual
como para la fsica)
El nmero de bits en el desplazamiento
determina el tamao de las pginas

17/06/2017 TP-UCSM/MUE 86
Direccin Virtual

31 30 29 28 ........................... 15 14 13 12 11 10 9 8 7 ......... 3 2 1 0
Nmero pgina virtual Desplazamiento

Traduccin

29 28 .......................... 15 14 13 12 11 10 9 8 7 ......... 3 2 1 0
Nmero pgina fsica Desplazamiento

Direccin Fsica

17/06/2017 TP-UCSM/MUE 87
5.2 ACCESO A MEMORIA
Cuando un programa desea acceder a una
posicin de memoria, primero debe
acceder a la tabla de pginas, en la
posicin que se obtiene de sumar el
contenido del registro de tabla de pginas
con el nmero de pgina de la direccin
virtual, para leer el valor de nmero de
marco de pgina.

17/06/2017 TP-UCSM/MUE 88
Este valor se combina con el
desplazamiento de la pgina para producir
la direccin fsica
Una vez que se sabe la posicin en
memoria donde se quiere acceder, se
realiza un 2do acceso a memoria para leer
o escribir el dato

17/06/2017 TP-UCSM/MUE 89
Como se puede deducir, para leer una
palabra de memoria se necesitan de dos
accesos
Para evitar este problema, y como el
mecanismo de traduccin tambin cumple
el principio de localidad, se incluye un
cach especial que recoge las entradas de
la tabla de pginas ms recientemente
usadas.
17/06/2017 TP-UCSM/MUE 90
A este cach se le llama TLB (Translation
Lookside Buffer o a veces se le llama
Registros Asociativos)
Cada posicin del TLB contiene un cdigo
y valor
En la etiqueta se almacena el nmero de
pgina y en los datos el nmero del frame

17/06/2017 TP-UCSM/MUE 91
Estructura del TLB

Nmero pgina virtual

TLB
V Etiqueta Direccin fsica de la pgina

Memoria fsica
1

Tabla de pginas
V Nmero pgina fsica

1 Disco
1

17/06/2017 TP-UCSM/MUE 92
En este caso, para cada referencia, se busca
primero en la TLB, si se encuentra se usa el
nmero del frame para acceder al frame de
forma casi inmediata
En caso contrario, se busca el nmero del frame
que est en la memoria lgica.
Cuando se obtiene ya se puede utilizar para
acceder a memoria lgica, pero adems se
aade el, nmero de frame y el nmero de
pgina al TLB para que sean utilizados en
futuros accesos

17/06/2017 TP-UCSM/MUE 93
Antes de realizar el acceso al dato se
comprueba si la pgina est cargada en
memoria.
Si no lo est, el MP ejecuta una excepcin
de fallo de pgina (page fault) que se
encarga de copiar la pgina del disco en
memoria

17/06/2017 TP-UCSM/MUE 94
5.3 DISEO DEL SISTEMA DE
MEMORIA VIRTUAL
Hay que considerar ciertos aspectos,
debido a que cuando se produce un fallo
de pgina, se usa mucho tiempo en volver
a cargar la nueva pgina. Estos aspectos
son:
Pginas con tamao elevado (4K y 16K)
para aprovechar la localidad espacial
Emplazamiento flexible para reducir la tasa
de fallos de pgina
17/06/2017 TP-UCSM/MUE 95
Los fallos de pgina se manejan va
software.
Mientras se responde a un fallo de pgina
hay mucho tiempo que el MP puede usar
para otras tareas, por tanto, si la pgina no
est en memoria, se produce una
interrupcin y se transfiere el control de la
ejecucin de la instruccin al SO.

17/06/2017 TP-UCSM/MUE 96
El algoritmo que se usa para reemplazar las
pginas es una versin simplificada del algoritmo
LRU (Ultimo Recientemente Utilizado).
Si todas las pginas fsicas estn ocupadas, el
SO reemplaza la menos recientemente usada
Como la escritura en disco de una pgina tarda
mucho, no se usa el algoritmo write-trough. Se
usa el llamado write-back donde las escrituras
individuales se acumulan en la pgina. Antes de
reemplazar la pgina de memoria se debe copiar
en el disco si ha sido modificada

17/06/2017 TP-UCSM/MUE 97
5.4 MEMORIA SEGMENTADA
La segmentacin es un esquema de manejo de
memoria que divide el espacio de
direccionamiento virtual en segmentos con
distinto nombre de tamao variable
Cuando se hace referencia a un dato en
memoria, debe especificarse el nombre del
segmento y el desplazamiento dentro del
segmento

17/06/2017 TP-UCSM/MUE 98
Los segmentos ms habituales son para
las variables, para la pila y para el cdigo
En este caso, tambin la tabla de
segmentos debe localizarse en la memoria
y tambin se puede poner parte de ella en
TLB

17/06/2017 TP-UCSM/MUE 99

También podría gustarte