Está en la página 1de 27

Tema 6.

El Sistema de Memoria

Arquitectura de
Computadores I

ndice
z

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z
z
z

z
z

Caractersticas del sistema de memoria


Memoria principal y entrelazado de memoria
Jerarqua del sistema de memorias
Principios de localidad
Memoria cache
Polticas de ubicacin
Polticas de extraccin
Polticas de reemplazo
Polticas de actualizacin Tcnicas de redondeo
Cach en multiprocesadores
Memoria virtual
Asignacin de memoria
Traduccin de direcciones
Fragmentacin
Bibliografa

2 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Caractersticas de la memoria
z

El sistema de memoria es el lugar donde residen los programas y


datos ya que segn la arquitectura Von Neumann un programa debe
estar almacenado en memoria para poder ser ejecutado

El sistema de memoria se organiza de manera jerrquica de forma


que se tenga un sistema de alta capacidad, velocidad prxima a la de
los dispositivos ms rpidos y un coste cercano al de los dispositivos
ms lentos y baratos

Factores a tener en cuenta en el diseo del sistema de memoria:


Capacidad de almacenamiento (tamao mximo del sistema de
memoria)
Velocidad (del conjunto)
Coste (del sistema de memoria)

3 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Memoria principal (I)

Para aumentar el rendimiento de la memoria principal se debe


aumentar el ancho de banda (nmero de bits que se transmiten /
segundo)

Mecanismos para aumentar el ancho de banda de MP:


Reduccin de su tiempo de acceso
Aumento del tamao de palabra
Permitir el acceso concurrente a varios mdulos de memoria,
organizacin entrelazada

4 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Memoria principal (II)

5 / 55

Arquitectura de Computadores I

Memoria principal (III)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Entrelazado de memoria (I)

z
z
z
z

Permitir el acceso concurrente a mdulos de memoria de tecnologa no


demasiado rpida, y por tanto, de menor coste
Permite multiplicar hasta por M el ancho de banda que se obtendra con
un solo mdulo, siendo M el nmero de mdulos
Conflictos de acceso la peticiones no permiten trabajar simultneamente
con todos los mdulos
Tipos de entrelazado:
Segn la forma en que se distribuye el mapa de direcciones en
memoria: de orden superior o de orden inferior
Segn el modo en el que ser realiza el acceso a dichos mdulos:
entrelazado simple o entrelazado complejo

6 / 55

Arquitectura de Computadores I

Memoria principal (IV)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Entrelazado de memoria (II)


Entrelazado de orden superior:
z Consiste en distribuir las
direcciones de memoria entre los
mdulos de modo que cada uno
contenga direcciones
consecutivas
z Ventajas:
Facilita la expansin de la
memoria
Fiabilidad ante el fallo de un
mdulo de memoria

Mdulo

Direccin dentro del


mdulo

Decodificador

Mdulo
0

Mdulo
1

Mdulo
M-1

7 / 55

Arquitectura de Computadores I

Memoria principal (V)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Entrelazado de memoria (III)


Entrelazado de orden inferior:
z Consiste en asignar a mdulos
consecutivos direcciones
consecutivas del mapa de
memoria
z Ventaja:
Si las referencias sucesivas a
memoria son consecutivas,
se reducen los conflictos de
acceso

Dir. dentro del mdulo

Mdulo

Decodificador

Mdulo
0

Mdulo
1

Mdulo
M-1

8 / 55

Arquitectura de Computadores I

Memoria principal (VI)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Entrelazado de memoria (IV)


Entrelazado simple:
z Consiste en acceder a todos
los mdulos con la misma
direccin
z Requiere entrelazado de orden
inferior
z Ventaja:
Al acceder de manera
simultnea a todos los
mdulos se obtienen 2m
palabras consecutivas

9 / 55

Arquitectura de Computadores I

Memoria principal (VII)


Entrelazado de memoria (V)
z

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Entrelazado complejo:
Consiste en acceder a todos
los mdulos con direcciones
diferentes
Ventaja:
Las direcciones a las que
se accede no tienen que
ser consecutivas

10 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Jerarqua de memoria (I)

11 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Jerarqua de memoria (II)


Modo de acceso a la informacin:
1 El procesador indica la direccin de la informacin en memoria principal
2 El acceso se intenta en el nivel ms rpido (el de MCa)
Si la informacin se encuentra, se accede (a la MCa)
en caso contrario, se busca en el siguiente nivel (MP)
z Si se encuentra (en MP), se transfiere al nivel anterior (MCa)
z en caso contrario, se busca en el siguiente nivel,
y as sucesivamente, ascendiendo la informacin hasta el primer nivel
Funcionamiento:
Se debe definir un mecanismo para realizar la traduccin de direcciones
ya que la memoria de un nivel contiene la informacin de la de nivel
siguiente y no tiene por qu ocupar la misma direccin de memoria

12 / 55

Arquitectura de Computadores I

Jerarqua de memoria (III)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Bloque: unidad lgica de intercambio de informacin entre niveles


En cach se suele llamar lnea
En memoria virtual pgina o segmento
Marco: espacio fsico de memoria en el nivel en el que se almacena la
informacin de un bloque

13 / 55

Arquitectura de Computadores I

Jerarqua de memoria (IV)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z
z
z
z

Acierto (hit): acceso en el que se


encuentra el dato
Fallo (miss): acceso en el que no
se encuentra el dato
Tasa de aciertos: porcentaje de
veces que se el dato que se busca
Tiempo de acierto: tiempo para
obtener el dato en un acierto
Penalizacin por fallo: tiempo
adicional que se tarda en obtener
un dato cuando se produce un fallo
El tamao del bloque influye en la
tasa de aciertos

14 / 55

Arquitectura de Computadores I

Jerarqua de memoria (V)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Se tiene que determinar en cada nivel:


Poltica de ubicacin
Poltica de extraccin
Poltica de reemplazo
Poltica de actualizacin

15 / 55

Arquitectura de Computadores I

Principios de localidad
Las referencias a memoria por parte del procesador (instrucciones y
datos), tienden a estar agrupadas. En periodos cortos de tiempo, el
procesador trabaja con grupos fijos de referencias a memoria

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

16 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Memoria cache (I)


z

Objetivo:

Dar la impresin de que las referencias memoria se sirven a


una velocidad muy cercana a la del procesador

Diseo de la MCach: se debe tener en cuenta la optimizacin de


los siguientes parmetros:

Probabilidad de acierto

Tiempo de acceso efectivo

Retardos debidos a fallos (actualizar de la MP en caso de


escritura)

Establecer la correspondencia entre bloques de MP y MCa

17 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Memoria cache (II)

Parmetros de un sistema con memoria cache:


Poltica de ubicacin: correspondencia entre bloques de MP y MCa
Poltica de extraccin: qu y cundo se enva informacin de MP a
MCa
Poltica de reemplazo: qu bloque abandona MCa para dejar
espacio si est llena
Poltica de actualizacin: cundo se escribe en la MP
Tamao ms adecuado de la Mca y de sus bloques
Unicidad y homogeneidad de la Mca: una o varias MCa
Minimizacin del tiempo de espera en caso de fallo en MCa

18 / 55

Arquitectura de Computadores I

Memoria cache (III)


Poltica de ubicacin (I)
Establece la correspondencia entre bloques de MP y MCa

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

19 / 55

Arquitectura de Computadores I

Memoria cache (IV)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Poltica de ubicacin (II)

Correspondencia directa
z Consiste en hacer corresponder a todo
bloque i de MP el bloque (i mod k) de
MCa, donde k es el nmero total de
bloques de la MCa
z Una direccin en MCa consta de:
z Etiqueta
z N de bloque de MCa
z Posicin en el bloque (palabra)

20 / 55

Arquitectura de Computadores I

Memoria cache (V)


Poltica de ubicacin (III)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Correspondencia directa

Ventaja:
La lectura permite el acceso
simultneo al directorio y a la
palabra dentro del bloque de
MCa
Inconveniente:
Incremento de la tasa de fallos
de la MCa, si dos bloques de
MP, que corresponden a un
mismo bloque de MCa, se
utilizan de forma alternativa

21 / 55

Arquitectura de Computadores I

Memoria cache (VI)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Poltica de ubicacin (IV)

Correspondencia totalmente asociativa


z Cualquier bloque de MP puede ubicarse en
cualquiera de los bloques de la cache
z Una direccin en MCa consta de:
Etiqueta
Posicin en el bloque (palabra)
Ventaja:
z Flexibilidad ya que permite la implantacin de
una gran variedad de algoritmos de reemplazo
Inconveniente:
z Coste de las comparaciones

22 / 55

Arquitectura de Computadores I

Memoria cache (VII)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Poltica de ubicacin (V)


Correspondencia asociativa por conjuntos
z Consiste en dividir la MCa en C conjuntos de B
bloques cada uno
z Se aplica:
Correspondencia directa a nivel de conjunto
Correspondencia asociativa a nivel de bloque
z Un bloque i de MP puede ubicarse en cualquier
bloque del conjunto (i mod C) de MCa
z Una direccin en MCa consta de:
z Etiqueta
z Conjunto
z Posicin en el bloque

23 / 55

Arquitectura de Computadores I

Memoria cache (VIII)


Poltica de ubicacin (VI)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Correspondencia asociativa por conjuntos

Ventaja:
Reduce el coste de la
totalmente asociativa
proporcionando un rendimiento
cercano a esta ltima

24 / 55

Arquitectura de Computadores I

Memoria cache (IX)


Poltica de ubicacin (VII)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Ejemplo de correspondencia entre direccin de memoria


principal y una memoria cache con correspondencia directa
Memoria principal de 1Mbyte y Memoria cache de 1Kbyte
Tamao del bloque de 8 bytes
Capacidad MP
Tamao bloque

Nmero de bloques de memoria principal


Nmero
17
2
7
2

de bloques

10
2 bloques

de memoria

cache

Capacidad MCa
Tamao bloque

2 20
217 bloques
3
2
10
7
2
2 bloques
3
2

de MP por bloque de MCa

25 / 55

Arquitectura de Computadores I

Memoria cache (X)


Poltica de ubicacin (VIII)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Ejemplo de correspondencia entre direccin de memoria


principal y una memoria cache totalmente asociativa
Memoria principal de 1Mbyte y Memoria cache de 1Kbyte
Tamao del bloque de 8 bytes

Nmero de bloques de memoria principal

Capacidad MP
Tamao bloque

2 20
23

217 bloques

26 / 55

Arquitectura de Computadores I

Memoria cache (XI)


Poltica de ubicacin (IX)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Ejemplo de correspondencia entre direccin de memoria


principal y una memoria cache asociativa por conjuntos
Memoria principal de 1Mbyte y Memoria cache de 1Kbyte
Tamao del bloque de 8 bytes. Tamao del conjunto 2 bloques

Nmero de bloques de memoria principal

Nmero

de bloques

de memoria

cache

Capacidad MP
Tamao bloque

Capacidad MCa
Tamao bloque

Bloques MCa
Nmero de conjuntos de memoria cache
Tamao conjunto
17
11
2
2 bloques de MP por conjunto de MCa
6
2

2 20
23

217 bloques

10
7
2
2 bloques
3
2 7
6
2
conjuntos
1 2
2

27 / 55

Arquitectura de Computadores I

Memoria cache (XII)


Poltica de extraccin

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z

Indican cundo y qu informacin se enva de MP a MCa


Las ms utilizadas son:
Extraccin por demanda: traer a MCa el bloque en el momento
en que se necesita, es decir, cuando se produce un fallo
Extraccin con anticipacin:

Anticiparse siempre: traer a MCa el bloque i+1 al referenciar el i


Anticiparse si se produce fallo: traer a MCa el bloque i+1 de
MP solamente cuando se produce un fallo al referenciar el bloque
i
Anticipacin marcada: traer el bloque i+1 de MP al producirse el
fallo al referenciar el i, marcarlo como trado y al referenciar el i+1
traer el i+2
Extraccin selectiva: marca algn tipo de informacin para que
nunca pueda ser enviada a MCa

28 / 55

Arquitectura de Computadores I

Memoria cache (XIII)


Poltica de reemplazo

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Determina cundo y qu bloque se sustituye en MCa porque al traer un


bloque a cache cuando todos los marcos se encuentran ocupados
(solamente se da en las caches asociativas y asociativas por conjuntos)
Las ms utilizadas son:

z
z

Aleatoria: consiste en elegir el bloque a reemplazar de forma aleatoria


LRU Least-Recently Used: consiste en reemplazar aquel bloque de
MCa que no ha sido utilizado durante el mayor periodo de tiempo
FIFO - First In First Out: consiste en reemplazar el bloque que ha
permanecido en MCa el mayor periodo de tiempo

La poltica aleatoria es la ms sencilla y menos costosa pero no


aprovecha la localidad temporal
En las polticas LRU y FIFO la complejidad y el coste aumentan a
medida que aumenta el nmero de bloques entre los que se debe elegir

29 / 55

Arquitectura de Computadores I

Memoria cache (XIV)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Poltica de actualizacin (I)

Determina cundo se actualiza la informacin en MP al haberse


producido una escritura en MCa para evitar los problemas de falta de
coherencia
Escritura inmediata (write through):
consiste en escribir en MCa y MP a la
vez
Ventajas: la realizacin es muy
sencilla y asegura la coherencia
Inconvenientes: produce mucho
trfico entre memoria y el procesador
debe esperar a que se complete la
escritura lo que lleva al empleo de
buffer de escritura

Escritura aplazada (write back):


consiste en escribir en MCa y
nicamente se escribe en MP si el
bloque a reemplazar ha sido
modificado
Ventajas: produce menos trfico
entre la memoria y el procesador
y las escrituras se hacen a la
velocidad de la cache
Inconvenientes: es diseo es
ms complejo ya que hace falta
implementar el control del dirty bit

30 / 55

Arquitectura de Computadores I

Memoria cache (XV)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Poltica de actualizacin (II)

Las maneras ms empleadas de actuar ante un fallo de escritura son:

Con ubicacin (allocate):


consiste en llevar el bloque que
produce el fallo de MP a MCa y
a continuacin realizar la
escritura en MCa

Sin ubicacin (no-allocate):


consiste en escribir nicamente
en MP.

Suele ir asociada a la escritura


inmediata

Suele ir unida a la escritura


aplazada

31 / 55

Arquitectura de Computadores I

Memoria cache (XVI)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Minimizacin del tiempo de espera ante un fallo

Las maneras ms empleadas de actuar ante un fallo de lectura son:

Early start: consiste en enviar


al procesador la palabra que
produjo el fallo tan pronto como
llegue a cache y sin esperar a
que se complete la
transferencia del bloque

La manera ms empleada de actuar ante un fallo de escritura es el


empleo de un buffer de escritura, de tal manera que en el caso de
escritura sin ubicacin se escribe en el buffer y ste luego escribir
la informacin en MP

Out of order fetch: consiste


en enviar la palabra que
produjo el fallo a MP y a MCa y
luego terminar de transferir el
bloque

32 / 55

Arquitectura de Computadores I

Memoria cache (XVII)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Otras caractersticas a tener en cuenta

Tamao de la memoria cache y sus bloques


z Aumentar el tamao del bloque hace que aumenta la tasa de aciertos,
por la localidad espacial y que disminuya el nmero de bloques en
MCa por la localidad temporal
z Disminuir el tamao del bloque hace que disminuya la cantidad de
trfico de informacin entre MCa y MP
Unicidad y homogeneidad de la memoria cache
z Las instrucciones presentan localidad temporal y los datos espacial
z Acceso simultaneo a instrucciones y datos (aumenta la velocidad)
Cache de uno y dos niveles
z Mejora de las prestaciones con MCa de 2 niveles
z MCa integrada: elimina el acceso al bus y aumentan los tiempos de
ejecucin

33 / 55

Arquitectura de Computadores I

Memoria cache (XVIII)


Cache en multiprocesadores (I)
Latencia de memoria: tiempo transcurrido desde que un procesador
realiza la peticin de acceso a memoria hasta que se completa
Depende de:
z Los conflictos de acceso producidos al tratar de acceder varios
procesadores simultneamente al mismo mdulo de memoria principal
z Los retardos y conflictos introducidos por la red de interconexin de los
procesadores
z El exceso de trfico entre la red de interconexin y la memoria
Cach en multiprocesadores:
z Cache compartida: una nica cache compartida por todos los
procesadores con lo que se evita el problema de la coherencia de la
informacin (desventaja: puede convertirse en el cuello de botella)
z Cache privada

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

34 / 55

Arquitectura de Computadores I

Memoria cache (XIX)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Cache en multiprocesadores (II)


z

Cache privada: memoria cache asociada a cada procesador

Ventaja: disminuye el problema de la latencia y el trfico de informacin


entre la memoria principal y los procesadores
Inconveniente: problemas de falta de coherencia de la informacin entre
las diferentes caches

Tipos de cache privadas:


z

Caches locales: cada cache contiene nicamente informacin de slo


lectura y datos de escritura locales al procesador asociado. Las referencias
a datos compartidos directamente sobre MP
Directorio compartido: se emplea una zona de memoria compartida para
almacenar de forma centralizada el estado de cada uno de los bloques de
informacin presentes en las caches
Protocolo de escucha: dotar a las caches de la capacidad para
permanecer a la escucha de las peticiones de acceso a memoria que
aparecen en el bus

35 / 55

Arquitectura de Computadores I

Memoria cache (XX)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Cache en multiprocesadores (III)


Poltica de actualizacin en caches privadas:
z Inmediata: al escribir en una posicin de memoria cache se escribe
WDPELpQHQ03/DVGHPiVFDFKHVHVFXFKDQHVWDHVFULWXUDH
invalidan su copia. Si alguna de ellas requiere acceder a la copia
invalidada se produce un fallo y traer de MP esa informacin
z

Aplazada (escribir una nica vez): la primera vez que un procesador


escribe en una posicin de su cache. Se actualiza tambin esa
informacin en la MP. De esta forma el resto de caches invalidan el
EORTXH$SDUWLUGHHQWRQFHVGLFKREORTXHSHUWHQHFHUiDOSURFHVDGRU
que realiz la escritura con lo que puede continuar escribiendo en l sin
ningn problema. La cache que contiene la copia vlida debe
HVFXFKDUVLDOJXQDRWUDFDFKHSLGHHOEORTXHD03(QHVHFDVR
actualizar el valor en MP antes de que se enve ese bloque a la otra
cache que lo ha solicitado

36 / 55

Arquitectura de Computadores I

Memoria virtual (I)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Objetivo:

Dar la impresin de que el computador dispone de una


memoria ilimitada
Combina dos dispositivos de almacenamiento de diferente
capacidad, velocidad y coste

Implementa un mecanismo por el que nicamente los bloques


de memoria que se estn usando se encuentren en memoria
principal y el resto en memoria secundaria

La memoria virtual la suele gestionar el sistema operativo

Separa los conceptos de direcciones lgicas (capacidad de


direccionamiento) y direcciones fsicas (la memoria instalada)

La memoria virtual se divide en bloques y el intercambio entre


memoria secundaria y MP se hace por bloques

37 / 55

Arquitectura de Computadores I

Memoria virtual (II)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Funcionamiento:

Averiguar si la direccin proporcionada se encuentra en MP o


no traduciendo la direccin virtual a la fsica

Si se encuentra en MP se contina la ejecucin

Si no se encuentra se interrumpe el programa, se trae el bloque


que dio el fallo y se reanuda.

Mientras se hace un cambio de contexto a otro programa.


Para manejar la memoria virtual se necesitar entonces:

Un sistema de asignacin dinmica de espacios en


memoria fsica de los bloques

Un mecanismo de traduccin de direcciones lgicas


(virtuales) a direcciones fsicas

38 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Memoria virtual (III)

39 / 55

Arquitectura de Computadores I

Memoria virtual (IV)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Asignacin de memoria

Existen dos polticas de asignacin de memoria:

Asignacin esttica: la asignacin se realiza cuando se carga


inicialmente en memoria principal el programa

Asignacin dinmica: la asignacin se realiza segn los


programas vayan necesitando memoria
z

En el caso de la asignacin esttica el programa est obligado a


ocupar siempre la misma zona que ocupaba con anterioridad, por lo
que no se emplea de forma eficiente la memoria disponible
La asignacin se realiza de forma dinmica
Conjunto de trabajo: parte de la informacin empleada por cada
proceso a lo largo de toda su ejecucin

40 / 55

Arquitectura de Computadores I

Memoria virtual (V)


Traduccin de DV a DF (I)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

La traduccin es necesaria debido a que los programas generan


direcciones lgicas pero para la ejecucin se necesitan direcciones
fsicas
Se trata de definir una funcin F tal que:

F(x) = y si la informacin contenida en la direccin lgica x se encuentra


en memoria principal en la direccin fsica y
F(x) = 0 si la informacin no se encuentra en memoria principal. Al
producirse el fallo el sistema deber:
Interrumpir la ejecucin del proceso que provoca el fallo
Traer la informacin referenciada de la memora auxiliar a una
direccin fsica de memoria principal
Modificar la funcin de traduccin para reflejar la nueva
correspondencia
Una vez completada la transferencia, continuar con la ejecucin del
proceso

41 / 55

Arquitectura de Computadores I

Memoria virtual (VI)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Traduccin de DV a DF (II)

Implementacin de la funcin de traduccin:


z De forma directa: emplear una tabla con tantas entradas como
direcciones virtuales. Inviable debido al alto nmero de entradas y a
que no todas las entradas de la tabla contendran informacin de
traduccin
z De forma inversa: utilizar una tabla que contenga solamente las
direcciones virtuales que tienen correspondencia en memoria
principal. Emplea memorias asociativas. Es inviable debido a que no
se cuenta con memorias asociativas de tamao tan elevado.
z Paginacin: se dividen los espacios lgicos y fsicos en bloques del
mismo tamao denominados paginas
z Segmentacin: se dividen los espacios lgicos y fsicos en bloques
de tamao variable denominados segmentos
z Segmentacin paginada: mecanismo hbrido de los anteriores

42 / 55

Arquitectura de Computadores I

Memoria virtual (VII)


Paginacin (I)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z

Divide el espacio de direcciones lgicas en bloques de igual tamao,


denominados pginas, y el espacio de direcciones fsicas en bloques
del mismo tamao que los anteriores denominados marcos de
pgina. La correspondencia ser entre pginas y marcos de pgina
(para faciliar la traduccin se emplean potencias de 2 para el tamao)
Las direcciones lgicas generadas por los programas constan de:

La pgina donde se encuentra la informacin referenciada (PV)

La posicin relativa dentro de esa pgina (desplazamiento)


La traduccin consiste en traducir los bits de una direccin lgica a
una direccin fsica ya que el desplazamiento es el mismo
Al ser el tamao de pgina una potencia de 2 (2n), la direccin de
base de cada uno de los marcos de pgina tendr sus n bits menos
significativos a cero con lo que se puede concatenar la direccin con
el desplazamiento

43 / 55

Arquitectura de Computadores I

Memoria virtual (VIII)


Paginacin (II)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Para traducir la pgina en el marco de pgina correspondiente se


aaden los n bits restantes para obtener la direccin fsica, pudindose
realizar la traduccin de forma directa o inversa

44 / 55

Arquitectura de Computadores I

Memoria virtual (IX)


Paginacin (III)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

La traduccin emplea una tabla de pginas por proceso y un registro


base (RBTP) en el procesador que apunta siempre a la direccin de
base de la tabla de pginas del proceso en ejecucin
Para acelerar la traduccin se emplea un TLB (una tabla pequea en
memoria con el subconjunto de todas las entradas de la tabla de
pginas)
Funcionamiento al generar la CPU una referencia a memoria (DV):

Se traduce y se busca en la TLB

Si no est, se busca en la tabla de pginas y se actualiza la TLB

Si tampoco est en la tabla de pginas, se genera una excepcin


para el SO que realizar un cambio de contexto y mientras se
encargar de traer la pgina a MP y actualizar la tabla de pginas
En el momento en que se ha realizado la traduccin se tiene la direccin
fsica con la que se accede a memoria

45 / 55

Arquitectura de Computadores I

Memoria virtual (X)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Paginacin (IV)

46 / 55

Arquitectura de Computadores I

Memoria virtual (XI)


Paginacin (V)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z
z
z

Poltica de ubicacin: totalmente asociativa


Polticas de reemplazo: LRU, FIFO, conjunto de trabajo
Poltica de actualizacin: aplazada con ubicacin
El tamao de la pgina influye en:

La mejor o peor utilizacin del espacio de memoria principal


La mejor o peor utilizacin del espaci de memoria secundaria
El tamao de la tabla de pginas

Fragmentacin interna es el desaprovechamiento de la memoria


principal debido a que el nmero de informacin empleado por el usuario
no ocupa un nmero entero de pginas

Al disminuir el tamao de pgina aumenta la fragmentacin interna


Al disminuir el tamao de pgina aumenta el tamao de la tabla de pginas
Al disminuir el tamao de pgina disminuye la eficiencia de la memoria
secundaria

47 / 55

Arquitectura de Computadores I

Memoria virtual (XII)


Segmentacin (I)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z
z
z
z
z

Se divide el espacio de direcciones lgicas en varios espacios


virtuales independientes denominados segmentos de tamao variable
El tamao de un segmento puede variar en tiempo de ejecucin.
Cada segmento consta de una secuencia lineal de direcciones,
pudiendo variar su tamao entre 0 y el mximo permitido
A cada segmento se le asigna un nmero que le identifica de forma
nica.
La segmentacin proporciona una visin ms cercana a la del
SURJUDPDGRU VHJPHQWRGHGDWRVGHSLODGHFyGLJR
Para referenciar una informacin que se encuentre en una memoria
segmentada, el programa debe proporcionar el nmero del segmento
en el que se encuentra la informacin (s) y la posicin relativa dentro
del mismo (desplazamiento)

48 / 55

Arquitectura de Computadores I

Memoria virtual (XIII)


Segmentacin (II)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z

La traduccin directa emplea una tabla de segmentos por proceso y un


registro base (RBTS) en el procesador que apunta siempre a la
direccin de base de la tabla de segmentos del proceso en ejecucin
Para acelerar la traduccin se emplea un TLB
Funcionamiento al generar la CPU una referencia a memoria (DV):

Se traduce y se busca en la TLB

Si no est, se busca en la tabla de segmentos y se actualiza la TLB

Si tampoco est en la tabla de segmentos, se genera una


excepcin para el SO que realizar un cambio de contexto y
mientras se encargar de traer el bloque a MP y actualizar la tabla
de segmentos
En el momento en que se ha realizado la traduccin se tiene la direccin
fsica con la que se accede a memoria

49 / 55

Arquitectura de Computadores I

Memoria virtual (XIV)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Segmentacin (III)

z
z
z
z

Para traducir la referencia se debe:

Determinar la direccin fsica de comienzo del segmento

Sumar a esa direccin el desplazamiento


Poltica de ubicacin: dado que los segmentos no caben en cualquier
hueco: mejor o peor ajuste, primer ajuste
Polticas de reemplazo: LRU, FIFO, conjunto de trabajo pero teniendo
en cuenta el tamao del hueco que se ha de generar
Poltica de actualizacin: aplazada con ubicacin
Fragmentacin externa es el desaprovechamiento de la memoria
principal debido a que se pueden generar huecos de tamao pequeo

Compactar la memoria cada cierto tiempo

Mecanismo de compensacin que haga que al eliminar de MP un


segmento, ste tenga uno o dos huecos adyacentes

50 / 55

Arquitectura de Computadores I

Memoria virtual (XV)


Segmentacin paginada (I)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

z
z
z

Es el mecanismo hbrido ms empleado


Cada segmento se trata como una memoria virtual que se divide a su
vez en pginas
Combina las ventajas de la paginacin (tamao de pgina uniforme y
ubicacin en memoria principal de aquellas partes de los segmentos que
se estn utilizando) con las de la segmentacin (facilidad de proteccin y
comparticin de informacin)
La direccin virtual estar formada por tres campos:

Nmero de segmento (S)

Pgina del segmento (P)

Posicin relativa de la informacin con respecto a la pgina


(desplazamiento)
Para realizar la traduccin directa se necesita una tabla de segmentos y
una tabla de pginas para cada uno de ellos

51 / 55

Arquitectura de Computadores I

Memoria virtual (XVI)

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Segmentacin paginada (II)

Tipo de acceso Direccin virtual


RWX SP Desplazamiento
RBTS

Tabla de segmentos

+
Tabla de pginas

.
.
.
Validacin

.
.
.

Direccin fsica
MP Desplazamiento

de acceso

Accesovlido
52 / 55

Arquitectura de Computadores I

Sistemas de memoria

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Pentium Pro y PowerPC 604

53 / 55

Arquitectura de Computadores I

Tema
6: El sistema de memoria
Tema 4: El Sistema de Memoria

Bibliografa
z

Estructura y diseo de computadores


David A. Patterson y John L. Hennessy. Revert, 2000
Captulo 7

Arquitectura de computadores. Un enfoque cuantitativo


John L. Hennessy y David A. Patterson. Mc Graw Hill, 3 ed, 2002
Captulo 8

Arquitectura de computadores
Jos A. de Frutos y Rafael Rico. Servicio de Publicaciones de la
Universidad de Alcal, 1995
Captulo 5

Fundamentos de computadores
Pedro de Miguel Anasagasti. Paraninfo, 1999
Captulo 11

54 / 55

Arquitectura de Computadores I

También podría gustarte