Sie sind auf Seite 1von 27

Tema 6:

Sistema de memoria
Introduccin
Jerarqua del sistema de memorias
Memoria principal
Memoria entrelazada
Memoria cache
Polticas de ubicacin
Polticas de extraccin
Polticas de reemplazo
Polticas de actualizacin

Fundamentos de Computadores
Bibliografa

Arquitectura de computadores. Un enfoque cuantitativo (Captulo 8)


Hennessy, J.L., Patterson, D.A Ed. McGraw-Hill.

Estructura y diseo de computadores: Interficie circuitera/programacin


(Captulo 7). Patterson, D.A., Hennessy, J.L.. Ed. Revert.

Arquitectura de Computadores (Captulo 5)


Jos A. de Frutos, Rafael Rico. Ed. Servicio de Publicaciones de la UA

Organizacin y Arquitectura de Computadores (Captulo 4)


William Stallings. Ed. Prentice Hall

Fundamentos de los Computadores (Captulo 3)


Pedro de Miguel Anasagasti. Ed. Paraninfo

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
2
Introduccin
El sistema de memoria es es el lugar donde residen los programas y datos

Capacidad de almacenamiento
Velocidad
Coste

Organizacin jerrquica del sistema de memoria


Objetivo:
Tener 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
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
3
Jerarqua del sistema de memorias (I)

REGISTROS
REGISTROS

MEMORIA
MEMORIA CACHE
CACHE
Velocidad de acceso
Capacidad
Coste por bit
MEMORIA
MEMORIA PRINCIPAL
PRINCIPAL

DISCOS
DISCOS MAGNTICOS
MAGNTICOS // MEMORIA
MEMORIA VIRTUAL
VIRTUAL

DISCOS
DISCOS PTICOS
PTICOS yy CINTAS
CINTAS MAGNTICAS
MAGNTICAS

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
4
Jerarqua del sistema de memorias (II)
Funcionamiento:
La memoria de nivel i contiene la informacin de la de nivel i+1
Esta informacin no tiene por qu ocupar la misma direccin de memoria

Definir un mecanismo para realizar la traduccin de direcciones


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: Memoria CACHE)
Si la informacin se encuentra, se accede (a la MCa)
en caso contrario, se busca en el siguiente nivel (MP)
Si se encuentra (en MP), se transfiere al nivel anterior (MCa)
en caso contrario, se busca en el siguiente nivel,
y as sucesivamente, ascendiendo la informacin hasta el primer nivel

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
5
Jerarqua del sistema de memorias (III)
Principio de localidad de referencias a memoria:
Las referencias a memoria por parte del procesador (Is. y datos), tienden a
estar agrupadas en el tiempo y en el espacio (posiciones de memoria)
Localidad temporal Bucles, subrutinas...
En periodos cortos de tiempo, el procesador referencia a un conjunto
instrucciones/datos que se ejecutan en instantes de tiempo muy cercanos.
Una ins/dato que se lea de memoria tiene muchas posibilidades de ser
leda en un periodo corto de tiempo.
Localidad espacial Tablas, matrices
En periodos cortos de tiempo, el procesador referencia a un conjunto de
instrucciones/datos agrupados en posiciones cercanas de memoria
Diseo de la organizacin jerrquica de la memoria:
Implica definir polticas de ubicacin, reemplazo
y resolver el problema de la coherencia en los diferentes niveles de la
jerarqua de memoria (poltica de actualizacin)

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
6
Jerarqua del sistema de memorias (IV)
Eficiencia del sistema de memoria: Tiempo de acceso efectivo (Tef):
Tiempo medio empleado
Funcin de acierto o "hit ratio" (Hr): en un acceso a memoria
Probabilidad de encontrar, en el Depende de los siguientes aspectos:
nivel i, la informacin referenciada Tiempo de acceso a la memoria de
(nmero de aciertos/nmero total cada nivel.
de accesos)
Funcin de acierto de cada nivel
Depende de los siguiente aspectos:
Tamao del bloque de informacin
que se transfiere desde el nivel i+1 Ejemplo:
cuando se produce un fallo Clculo del Tef en un sistema de memoria
Capacidad de almacenamiento con dos niveles, MCa y MP:
Poltica de reemplazo
HrMCa TaccMCa + (1-HrMCa) (TaccMP + TaccMCa)
Comportamiento del programa con
respecto al conjunto de referencias
que hace a memoria (traza) donde 1-HrMCa es el miss ratio

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
7
Memoria principal (I)

Aumento del rendimiento de la memoria principal

Aumentar el ancho de banda (nmero de bits que se transmiten / seg.)

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

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
8
Memoria principal (II)
Memoria entrelazada (I)
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
Limitacin:
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
De orden inferior
Segn el modo en el que se realiza el acceso a dichos mdulos:
Entrelazado simple o simultneo
Entrelazado complejo o concurrente

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
9
Memoria principal (III)
Memoria entrelazada (II)

Entrelazado de orden superior:

Consiste en distribuir las direcciones Mdulo Direccin


Mdulo Direccin dentro
dentro del
del mdulo
mdulo
de memoria entre los mdulos de
modo que cada uno contenga
direcciones consecutivas
Decodificador
Decodificador

Ventajas:
Facilita la expansin de la
Mdulo
Mdulo Mdulo
Mdulo Mdulo
Mdulo
memoria 00 11 M-1
M-1
Fiabilidad ante el fallo de un
mdulo de memoria

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
10
Memoria principal (IV)
Memoria entrelazada (III)

Entrelazado de orden inferior:

Direccin
Direccin dentro
dentro del
del mdulo
mdulo Mdulo
Mdulo
Consiste en asignar a mdulos
consecutivos direcciones consecutivas
del mapa de memoria Decodificador
Decodificador

Ventaja:
Si las referencias sucesivas a Mdulo
Mdulo Mdulo
Mdulo Mdulo
Mdulo
memoria son consecutivas, 00 11 M-1
M-1
se reducen los conflictos de acceso

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
11
Memoria cache (I)
Objetivo: CPU
CPU
Conseguir que las referencias
a memoria se sirven a una velocidad Memoria
Memoria cache
cache
muy cercana a la del procesador
Diseo de la MCa: Memoria
Memoria principal
principal

Se debe tener en cuenta la optimizacin de los siguientes parmetros:


probabilidad de acierto,
tiempo de acceso efectivo,
retardos debidos a fallos actualizacin de la MP en caso de escritura
Est dividida lgicamente en:
el directorio y
los bloques de datos
estableciendo la correspondencia entre bloques de MP y bloques de MCa

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
12
Memoria cache (II)

Consideraciones de un sistema con memoria cache:

Poltica de ubicacin
Poltica de extraccin
Poltica de reemplazo
Poltica de actualizacin
Tamao ms adecuado de la MCa
Unicidad y homogeneidad de la MCa
Minimizacin del tiempo de espera en caso de fallo en MCa

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
13
Memoria cache (III)
Polticas de ubicacin (I)
Las polticas de ubicacin establecen la correspondencia entre los
bloques de la MP y de la MCa
Las polticas de ubicacin ms importantes son:
Directa
Asociativa
Asociativa por conjuntos
Ejemplo de aplicacin:
Establecer la correspondencia entre MP y MCa en un sistema con:
Direccin fsica: 20 bits
Tamao de bloque: 8 bytes = 23 bytes/bloque
210
Capacidad MCa: 1Kbytes= 210 bytes N bloques MCa = = 27 = 128
23
2 20
Capacidad MP: 1 Mbyte = 220 bytes N bloques de MP = = 217 = 131.072
23

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
14
Memoria cache (IV)
Polticas de ubicacin (II)
Correspondencia directa (I):
Direccin de MP
Etiqueta
Etiqueta Bloque
Bloque de
de MCa
MCa Palabra
Palabra Memoria principal
10 bits 7 bits 3 bits
Bloque
Bloque 00
Bloque
Bloque 11
Memoria
Memoria cach
cach
..
Etiqueta
Etiqueta (B0)
(B0) Bloque
Bloque 00 ..
Etiqueta
Etiqueta (B1)
(B1) Bloque
Bloque 11 ..
Etiqueta
Etiqueta (B2)
(B2) Bloque
Bloque 22

.. .. Bloque
Bloque 127
127
.. .. Bloque128
Bloque128
.. .. Bloque
Bloque 129
129
..
Etiqueta
Etiqueta (B127)
(B127) Bloque
Bloque 127
127 ..
..
Acierto
Comparador
Comparador Palabra enviada
al procesador Bloque
Bloque 131.071
131.071
Fallo
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
15
Memoria cache (V)
Polticas de ubicacin (III)
Correspondencia directa (II):
Una direccin en MCa consta de:
Etiqueta Ventajas:
N de bloque de MCa La lectura permite el acceso
simultneo:
Posicin en el bloque (palabra)
al directorio y
Solucin:
a la palabra dentro del
23 bytes/bloque 3 bits para la
bloque de MCa
posicin dentro del bloque
Algoritmo de reemplazo trivial
27 bloques de MCa 7 bits para cada
bloque
10 bits para Inconveniente:
cada etiqueta Incremento de la tasa de fallos
de la MCa, si dos bloques de MP, que
corresponden a un mismo bloque de
217 bloques MP MCa, se utilizan de forma alternativa
7
= 210
2 bloques MCa
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
16
Memoria cache (VI)
Polticas de ubicacin (IV)
Correspondencia totalmente asociativa (I):
Direccin de MP
Etiqueta
Etiqueta Palabra
Palabra Memoria principal
17 bits 3 bits
Bloque
Bloque 00
Bloque
Bloque 11
Memoria
Memoria cach
cach
..
Etiqueta
Etiqueta (B0)
(B0) == Bloque
Bloque 00 ..
Etiqueta
Etiqueta (B1)
(B1) == Bloque
Bloque 11 ..
Etiqueta
Etiqueta (B2)
(B2) == Bloque
Bloque 22
Acierto
.. .. .. Bloque
Bloque 127
127
.. .. .. Bloque128
Bloque128
.. .. .. Bloque
Bloque 129
129
..
Etiqueta
Etiqueta (B127)
(B127) == Bloque
Bloque 127
127 ..
..
Fallo
Palabra enviada Bloque
Bloque 131.071
131.071
al procesador
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
17
Memoria cache (VII)
Polticas de ubicacin (V)
Corr. totalmente asociativa (II):

Cualquier bloque de MP puede


ubicarse en cualquiera de los bloques
de la cache
Ventaja:
Una direccin en MCa consta de:
Flexibilidad (permite la implantacin de
Etiqueta gran variedad de algoritmos de
Posicin en el bloque (palabra) reemplazo)

Solucin: Inconveniente:
23 bytes/bloque 3 bits para la Coste de las comparaciones
posicin dentro del bloque
217 bloques de MP 17 bits para
cada etiqueta

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
18
Memoria cache (VIII)
Polticas de ubicacin (VI)
Correspondencia asociativa por conjuntos (I):
Direccin de MP Memoria principal
Etiqueta
Etiqueta Conjunto
Conjunto de
de MCa
MCa Palabra
Palabra
11 bits 6 bits 3 bits Bloque
Bloque 00
Bloque
Bloque 11
Memoria
Memoria cach
cach
Etiqueta
.. .. ..
Etiqueta (B0)
(B0) Bloque
Bloque 00
C0 C0
Etiqueta
Etiqueta (B1)
(B1) Bloque
Bloque 11 Bloque
Bloque 63
63
Etiqueta
Etiqueta (B2)
(B2) Bloque
Bloque 22 Bloque
Bloque 64
64
C1 C1
Etiqueta
Etiqueta (B3)
(B3) Bloque
Bloque 33 Bloque
Bloque 65
65
.. ..
.. .. .. .. ..
.. ..
Bloque
Bloque 127
127
Etiqueta
Etiqueta(B127)
Etiqueta
Etiqueta (B126)
(B127)
(B126) Bloque
Bloque 126
126
C63 C63 Bloque128
Bloque128
Etiqueta
Etiqueta (B127)
(B127) Bloque
Bloque 127
127
Bloque
Bloque 129
129

.. .. ..
Fallo
Comparador
Comparador 00 Bloque
Bloque 131.071
131.071
Acierto Palabra enviada
Comparador
Comparador 11 al procesador

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
19
Memoria cache (IX)
Polticas de ubicacin (VII)

Correspondencia asociativa por conjuntos (II):

Consiste en dividir la MCa en C Solucin (asignando 2 bloqs./cjto.):


conjuntos de B bloques cada uno 23 bytes/bloque 3 bits para la
Se aplica: posicin dentro del bloque
Correspondencia directa a nivel de 26 conjuntos en MCa 6 bits para
conjunto cada conjunto
Correspondencia asociativa a nivel 11 bits para cada etiqueta
de bloque El coste de la bsqueda depende del
Una direccin en MCa consta de: nmero y longitud de las etiquetas que
Etiqueta, se tienen que comparar
simultneamente
Conjunto y
Ventaja:
Posicin en el bloque
Reduce el coste de la totalmente
asociativa proporcionando un
rendimiento cercano a esta ltima

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
20
Memoria cache (X)
Polticas de extraccin (I)

Determinan cundo y qu informacin se enva de MP a MCa


Las ms utilizadas son:
Extraccin por demanda
Extraccin con anticipacin
Extraccin selectiva

Extraccin por demanda:


Consiste en traer a MCa el bloque en el momento en que se necesita, es
decir, cuando se produce un fallo

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
21
Memoria cache (XI)
Polticas de extraccin (II)
Extraccin con anticipacin:
Anticiparse siempre (allways prefetch),
Consiste en traer a MCa el bloque i+1 de MP siempre que se haga referencia al
bloque i
Anticiparse cuando se produce un fallo (prefetch on a miss),
Consiste en traer a MCa el bloque i+1 de MP, slo si hay fallo al referenciar el
bloque i
Inconvenientes:
Se incrementa intilmente el trfico entre la MP y la MCa, si no se comprueba
previamente si el bloque ya estaba en MCa
Pueden producirse inconsistencias

Extraccin selectiva:
Consiste en etiquetar algn tipo de informacin para que nunca pueda ser enviada a
la MCa. Ej.: Sistema multiprocesador con memoria compartida

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
22
Memoria cache (XII)
Polticas de reemplazo
Determinan cundo y qu bloque se sustituye de las MCa con
poltica de ubicacin asociativa
Las ms utilizadas son:
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
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

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
23
Memoria cache (XIII)
Polticas de actualizacin (I)
Determinan el instante en que se actualiza la informacin en MP cuando
se produce una escritura en MCa Problema de coherencia de la MCa
Polticas:
Escritura inmediata
Escritura aplazada
Escritura inmediata - Write through - Se escribe a la vez en MCa y MP
Ventajas:
Realizacin muy sencilla
Asegura la consistencia (en sistemas monoprocesador)
Inconvenientes:
Se genera mucho trfico a memoria
El procesador tiene que esperar (la diferencia entre los tiempos de
escritura en MCa y MP) para que se complete la escritura
Solucin: Usar un buffer de escritura
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
24
Memoria cache (XIV)
Polticas de actualizacin (II)

Escritura aplazada o post-escritura - Write back


Actualiza nicamente la MCa.
Cuando tiene lugar la actualizacin, se activa un bit (dirty bit), que indica si
el bloque debe ser actualizado en MP cuando se reemplace en MCa
Ventajas:
Produce menos trfico de informacin en la MP
Los accesos de escritura, en caso de acierto, se llevan a cabo a la
velocidad de la MCa
Inconvenientes:
El diseo es ms complejo, debido a que es necesario implementar el
control del dirty bit
Desde el punto de vista de los posibles fallos hardware transitorios de la
MCa, es preferible la utilizacin de la escritura inmediata

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
25
Memoria cache (XV)
Polticas de actualizacin (III)

Existen dos formas de actuar en el caso en que un acceso de escritura


produce fallo:

Escritura con ubicacin (Write with allocate) - se suele asociar con


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

Escritura sin ubicacin (Write with no allocate) - se suele asociar con


escritura inmediata. Consiste en realizar nicamente la escritura sobre la
MP cuando se produce un fallo

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
26
Memoria cache (XVI)
Tamao de la memoria cache y sus bloques:
tamao del bloque tasa de aciertos por localidad espacial
n bloques en MCa ->
tasa de aciertos por localidad temporal
tamao del bloque trfico de informacin MCa - MP
Unicidad y homogeneidad de la memoria cache:
Ventajas de las MCa separadas para almacenar instrucciones y datos:
Las instrucciones presentan sobre todo localidad espacial y los datos
localidad temporal
Permite acceso simultaneo a instrucciones y datos velocidad
Caches de uno y dos niveles:
Mejora de las prestaciones con MCa de 2 niveles
MCa on-chip elimina acceso al bus mejora los tiempos de ejecucin

Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
27

Das könnte Ihnen auch gefallen