Beruflich Dokumente
Kultur Dokumente
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
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
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
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)
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)
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)
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
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
12
Memoria cache (II)
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):
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)
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
20
Memoria cache (X)
Polticas de extraccin (I)
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)
Arquitectura de Computadores
Departamento de Automtica Universidad de Alcal
25
Memoria cache (XV)
Polticas de actualizacin (III)
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