Arquitectura de Computadoras
Clase 7
Memoria
Notas de Clase 7 2
Sistema de Memoria
Los programadores desean acceder a cantidades ilimitadas de memoria rpida !!
Solucin prctica:
Jerarqua de memoria
organizada en niveles que son ubicados en distintos lugares fsicos
fabricados con tecnologas diferentes que se gestionan de manera independiente
Jerarqua de memoria
3 Notas de Clase 7
Notas de Clase 7 4
Jerarqua de memoria (2)
Objetivo: la velocidad del sistema deber ser, aproximadamente, la del nivel ms rpido al costo del nivel mas barato.
A medida que nos alejamos de la CPU, cada nivel inferior es ms grande, ms lento y ms barato que el nivel previo (o superior) en la jerarqua.
Debe haber correspondencia de direcciones en los distintos niveles.
Notas de Clase 7 5
Jerarqua de memoria (3)
Propiedades a cumplir
Inclusin
Los datos almacenados en un nivel han de estar almacenados en los niveles inferiores a l
Coherencia
Las copias de la misma informacin en los distintos niveles deben contener los mismos valores.
Notas de Clase 7 6
Porqu funciona la jerarqua?
Principio de localidad de referencias
Localidad Temporal: los elementos de memoria referenciados recientemente (datos o instrucciones), volvern a serlo en un futuro prximo => subo la palabra de nivel
Localidad Espacial: los elementos de memoria cuyas direcciones estn prximas a los ltimos referenciados sern referenciados. => subo un bloque (con la palabra) de nivel
Notas de Clase 7 7
Mecanismo de acceso memoria
Trabajo de etapa M del cauce
8 Notas de Clase 7
Notas de Clase 7 9
Memoria Cache
Cantidad pequea de memoria rpida.
Se ubica entre la memoria principal y la CPU.
Puede localizarse en un chip o en mdulo CPU.
Transferencia de bloques
Transferencia de palabras
Memoria
principal
Notas de Clase 7 10
Memoria Cache y Principal
Bloque
2 N - 1
Direccin
de memoria
001 002 003
000
Bloque
(k palabras)
Bloque
Datos
Longitud de palabra
Etiqueta
1 2
0
C-1
Nmero
de lnea
Longitud de bloque
(k palabras)
Notas de Clase 7 11
Funcionamiento de la cache
La CPU solicita contenido de 1 direccin de memoria.
La cache tiene ese dato?
Si es as, la obtiene de la cache (rpidamente).
Si no est, se lee el bloque que contiene esa direccin desde la memoria principal y copia en la cache.
Despus, la cache entrega el dato requerido a la CPU.
La cache incluye etiquetas para identificar qu bloque de la memoria principal est en cada una de sus lneas.
Notas de Clase 7 12
Funcionamiento de la cache (2)
Notas de Clase 7 13
Conceptos bsicos
Acierto (hit): se encuentra en la cach el dato solicitado
Fallo (miss): no se encuentra en la cach el dato solicitado
un bloque que contiene la palabra accedida se copia de la memoria principal a una lnea de cach.
Tiempo para servir un fallo: depende de la latencia y ancho de banda de la memoria principal.
Latencia: tiempo necesario para completar un acceso a memoria.
Ancho de banda: cantidad de informacin por unidad de tiempo que puede transferirse desde/hacia la memoria.
Los fallos de cach se gestionan mediante hardware y causan que el procesador se detenga hasta que el dato est disponible.
Tiempo de acceso medio a memoria
Tacceso = Tacierto + Tfallos_memoria
Tfallos_memoria = Tasa de fallos x Penalizacin_fallo
Tacceso = Tacierto + TF x PF
Para mejorar las prestaciones
Reducir el tiempo en caso de acierto (Tacierto)
Reducir la tasa de fallos (TF)
Reducir la penalizacin por fallo (PF)
Notas de Clase 7 14
Prestaciones de la jerarqua
Jerarqua perfecta vs real
Supongamos que un procesador con frecuencia de reloj de 2 GHz y un CPI=1 ejecuta cdigo de 100 instrucciones.
Caso 1: Se incorpora 2 memorias caches ideales MI y MD (NO habr fallos y tacierto es despreciable).
t = tcpu+ tmem
t = tcpu + 0 = tcpu t = nI . CPI . T = 100 . 1 . (1/2G)
t = 50ns
15 Notas de Clase 7
Jerarqua perfecta vs real (2)
Caso 2: Se incorpora 2 caches reales. Cache MI con TF=4% y PF=100ns y Cache MD con TF=6% y PF=115ns. El 25% del cdigo accesa datos.
t = tcpu+ tmem
tmem= accesosMI.(taciertoMI+TFMI.PFMI)+ accesosMD. (taciertoMD+TFMD.PFMD)
tmem =100(0+0,04x100ns) + 25(0+0,06x115ns)
tmem = 400ns + 172,5ns = 572,5ns
t = tcpu + tmem = 622,5ns
16 Notas de Clase 7
Notas de Clase 7 17
Diseo de la cache
Organizacin (tamao y cantidad)
Poltica de ubicacin Tipo de funcin de correspondencia
Poltica de reemplazo Algoritmo de sustitucin
Poltica de escritura
Notas de Clase 7 18
Organizacin de la cache
Tamao - Costo - Niveles.
Notas de Clase 7 19
Ubicacin de un bloque
Correspondencia directa. Un bloque slo puede estar almacenado en un lugar de la cach. N lnea cach = N bloque ref. mod N lneas cach
Correspondencia totalmente asociativa. Un bloque puede almacenarse en cualquier lugar de la cach.
Correspondencia asociativa por conjuntos. Un bloque puede almacenarse en un conjunto restringido de lugares en la cach. Un conjunto es un grupo de lineas de la cach.
N conjunto = N bloque ref. mod N conjuntos cach
Notas de Clase 7 20
Tipos de correspondencia
dnde se ubica el bloque 5 de la MP si la cache posee 4 lineas?
lneas
Tipos de correspondencia (2)
Notas de Clase 7 21
La interpretacin de la direccin fsica depende del tipo que se utilice. INDICE indicar la lnea el conjunto que le corresponde. BO representa todas las direcciones que pertenecen al bloque.
Notas de Clase 7 22
Tipos de
corresponden
cia (3)
Supongamos que en el ejemplo anterior:
MP es de 2GB
Pginas de 16KB
Bloques de 1KB
Cualquier direccin del bloque 5 es como en la figura
00000000000000000
Notas de Clase 7 23
Correspondencia directa:
Organizacin de cache
Etiqueta
Direccin de memoria
Lnea Palabra
Cache Memoria
principal
Etiqueta Datos
Comparacin
(Acierto de cache)
(Fallo de cache)
Notas de Clase 7 24
Ejemplo de
correspon-
dencia
directa
Etiqueta
Lnea +
Palabra Datos
Etiqueta Datos Nmero
de lnea
Cache de 16K lineas
Memoria principal de 16 Mbytes
Notas de Clase 7 25
Correspondencia Directa:
ventajas y desventajas
Simple.
Poco costosa.
Hay una posicin concreta para cada bloque dado:
si un programa accede a dos bloques que se corresponden a la misma lnea (diferentes bloques de memoria principal) de forma repetida, las prdidas de cache (desaciertos) sern muy grandes.
Notas de Clase 7 26
Organizacin de cache
totalmente asociativa
Direccin de memoria
Etiqueta Palabra
Etiqueta Datos
Comparacin
(Acierto de cache)
(Fallo de cache)
Memoria principal
Notas de Clase 7 27
Ejemplo de
correspon-
dencia
totalmente
asociativa
Direccin Datos
Etiqueta Datos
Nmero
de lnea
Cache de 16K lineas
Memoria principal de 16 MBytes
Notas de Clase 7 28
Correspondencia Asociativa:
ventajas y desventajas
Un bloque de memoria principal puede colocarse en cualquier lnea de la cache.
La etiqueta identifica unvocamente un bloque de memoria.
Todas las etiquetas de las lneas se examinan para buscar una coincidencia.
Bsqueda costosa (en tiempo principalmente).
Notas de Clase 7 29
Organizacin de cache
asociativa por conjuntos
Direccin de memoria
Etiqueta Conjunto Palabra
Etiqueta Datos
Comparacin
(Acierto de cache)
(Fallo de cache)
Memoria principal
Conjunto 0
Conjunto 1
Notas de Clase 7 30
Ejemplo de
correspon-
dencia
asociativa
por
conjuntos
de 2 vas
Etiqueta
Cache de 16K lineas
Memoria principal de 16 Mbytes
Datos
N de
conjunto Etiqueta Datos
Etiqueta Conj. +
palabra Datos
02C
02C 02C
Notas de Clase 7 31
Corres. asoc. por conjuntos:
ventajas y desventajas
Combina lo mejor de las otras correspondencias
La cache se divide en un grupo de conjuntos. Cada conjunto contiene un nmero de lneas
N vas, con N=2, 4, 8 ... etc.
Un bloque determinado corresponder a cualquier lnea de un conjunto determinado. El bloque B puede asignarse en cualquiera de las lneas
del conjunto i.
Notas de Clase 7 32
Poltica de reemplazos
Algoritmos de sustitucin En correspondencia directa:
el que ocupa el lugar del nuevo
En correspondencia asociativa: LRU (menos recientemente usado)
FIFO (ms antiguo)
LFU (menos frecuentemente usado)
Aleatoria
Notas de Clase 7 33
Algoritmos de sustitucin
Correspondencia directa No hay eleccin.
Slo hay una posible lnea para cada bloque.
Se necesita una sustitucin de esa lnea (si o s).
Notas de Clase 7 34
Algoritmos de sustitucin (2)
Correspondencias asociativas Los algoritmos deben implementarse en hardware
(para conseguir velocidad).
Menos recientemente usado (LRU)
Requiere controles de tiempos
En correspondencias asociativas por conjuntos de 2 vas. Cal de las 2 lneas es la LRU?
Notas de Clase 7 35
Algoritmos de sustitucin (3)
Primero en entrar - primero en salir (FIFO). Requiere controles de acceso.
Se sustituye aquella lnea que ha estado ms tiempo en la cache.
Menos frecuentemente usado (LFU) requiere controles de uso.
Se sustituye aquella lnea que ha experimentado menos
referencias.
Aleatoria Se sustituye una lnea al azar.
Notas de Clase 7 36
Poltica de escritura
Se debe evitar inconsistencia de memorias en el caso de escrituras.
Tener en cuenta:
La CPU escribe sobre una lnea de cache El bloque de memoria principal correspondiente debe ser
actualizado en algn momento.
Un mdulo E/S puede tener acceso directo a la memoria principal.
En procesamiento paralelo, las mltiples CPU pueden tener caches individuales.
Notas de Clase 7 37
Poltica de escritura: en acierto
Write-through (Escritura inmediata).
Se actualizan simultneamente la posicin de la cach y de la memoria principal. con mltiples CPU, observar el trfico a memoria
principal para mantener actualizada cada cache local.
se genera mucho trfico y retrasa la escritura.
Write-back (Post-escritura).
La informacin slo se actualiza en la cach. Se marca como actualizada bit de sucio.
La memoria principal se actualiza en el reemplazo y puede contener informacin errnea en algn momento
Notas de Clase 7 38
Poltica de escritura: en fallo
Write allocate
La informacin se lleva de la memoria principal a la cach. Se sobreescribe en la cach
Habitual con write-back
No-write allocate
El bloque no se lleva a la memoria cach. Se escribe directamente en la memoria principal.
Habitual con write-through
Notas de Clase 7 39
Pentium 4
Notas de Clase 7 40
Pentium 4 (cont.)
Puede tener hasta tres niveles de cache:
Caches L1 separadas para datos e instrucciones
Cache de datos (de 8 KBytes). Asociacin por conjuntos de 4 vas. Bloques de 64 bytes. Poltica de Escritura inmediata. Acceso a los datos enteros en dos ciclos de reloj.
La cach de instrucciones almacena segmentos de caminos de ejecucin de instrucciones decodificadas (trazas).
Notas de Clase 7 41
Pentium 4 (cont.)
Cache L2 (interna) unificada para datos e instrucciones Capacidad de 256 KBytes. Organizacin asociativa por
conjuntos de 8 vas. Bloques de 128 bytes. Poltica de Post-escritura. Latencia de acceso de 7 ciclos de reloj.
Las dos caches (L1 y L2) en el chip del procesador. Ancho de banda de las transferencias entre L1 y L2 48 GBytes/s.
La arquitectura admite un tercer nivel de cach (L3) en el mismo chip (servidores).
Notas de Clase 7 42
Power PC G3
Notas de Clase 7 43
Referencias
Organizacin y Arquitectura de Computadoras, William Stallings, Captulo 4, 5ta ed.
Diseo y evaluacin de arquitecturas de computadoras, M. Beltrn y A. Guzmn, Captulo 2 Apartados 2.1 a 2.4, 1er ed.
Top Related