La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Presentaciones similares


Presentación del tema: "ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and."— Transcripción de la presentación:

1 ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and Design (The hardware / software interface), 4ta Edición, de David A. Patterson y John L. Hennessy. Editorial Morgan Kaufmann

2 AGENDA Jerarquía de Memoria –Principios –Tecnologías –Memorias Caches 01/09 – 04/09 Repaso, Predicción dinámica de saltos y Excepciones 07/09 – 11/09Jerarquía de memoriaProyecto y Repaso 14-09 – 18/093er Examen Parcial

3

4 Razonamiento inicial Lo ideal sería poder contar con una gran cantidad de memoria que fuese tan rápida como el procesador. Pero…. TecnologíaTiempo de acceso (ns)$ por GB (2008) SRAM0,5 – 2,52.000 – 5.000 DRAM50 – 7020 – 75 Disco Magnético5.000.000 – 20.000.0000,2 – 2,0 CPU Control Camino de datos Memoria Dispositivos Entrada Salida

5 Procesador – Memoria Desface de rendimiento “Ley de Moore” µProc 55%/Año (2X/1.5 Año) DRAM 7%/Año (2X/10 Anual) Diferencia rendimiento CPU - Memoria (Crece 50%/Año)

6 La “Pared de la memoria” El desface entre la velocidad del CPU y la DRAM continúa creciendo Ciclos por instrucción Ciclos por acceso a DRAM

7 Jerarquía de Memoria (Otras motivaciones) Realidad: Las memoria grandes son lentas y las memorias rápidas son pequeñas ¿Cómo crear una memoria (algo) que parezca ser grande, barato y rápido (La mayoría de las veces)? “LEYES” de Localidad: –Localidad temporal (tiempo). Si se referencia un elemento tenderá a ser referenciado pronto. –Localidad espacial (espacio). Si se referencia un elemento, los elementos cercanos a él tenderán a ser referenciados pronto.

8 D red Ejemplos de jerarquías de memoria disco RAM cache CPU disco RAM Cache L2 I CPU

9 Jerarquías de Memoria (Características) Reacción natural al principio de localidad y a los costos de la tecnología Organizada en varios niveles (cada uno más pequeño, más caro y más rápido que el anterior) Todos los datos de un nivel se encuentran también en el nivel siguiente Explotar que: 10% del código se ejecuta durante el 90% del tiempo La memoria Cache es una memoria escondida: El programador no sabe ni necesita saber que existe. ¿Y en la ISA?

10 Jerarquías de Memoria (Características) Distancia creciente desde el procesador, en tiempo de acceso L1$ L2$ Memoria Principal Memoria Secundaria Procesador (Relativo) Tamaño de la memoria a cada nivel Inclusivo– Lo que está en la L1 es un subconjunto de lo que está en la L2, que es un subconjunto de los que está en la MP (subconjunto de los que está en MS) 4-8 bytes (Palabra) 1 a 4 bloques 1,024+ bytes (Sector de disco = Página) 8-32 bytes (Bloque o línea)

11 Cache L2 (SRAM) Jerarquía de memorias típica Control Datapath Memoria Secundaria (Disco) Componentes On-Chip RegFile Memoria Principal (DRAM) Data Cache Instr Cache ITLB DTLB DRAM Velo. (%Ciclos): ½’s 1’s 10’s 100’s 1,000’s Tamaño (bytes): 100’s K’s 10K’s M’s G’s a T’s Costo: Mayor Menor Sacando ventaja del principio de localidad lSe puede presentar al usuario tanta memoria como la que está disponible en la tecnología más barata lY la velocidad ofrecida por la tecnología más rápida

12

13 Terminología básica (1) Acierto (hit) : Sucede cuando se busca un bloque de datos en una memoria y sí es escontrado. Tiempo de hit (hit time): Tiempo empleado para recuperar un dato desde memoria (Incluye el tiempo para saber si es un acierto o un fallo) Fallo (miss) : Ocurre cuando se busca un bloque de datos y este no se encuentra en la memoria. Penalización por fallo (miss penalty) : Tiempo necesario para buscar el bloque en el nivel inferior, más el tiempo de sustituirlo, más el tiempo necesario para proporcionar este bloque al dispositivo que lo solicito (generalmente la CPU). hit time << miss penalty (¡100s instrucciones!)

14 Terminología básica (2) Frecuencia o tasa de aciertos (hit rate) : Fracción de accesos a memoria que resultan en aciertos o hits (Bloques encontrados). Frecuencia de fallos (miss rate): (1 - frecuencia de aciertos) Fracción de accesos a memoria que resultan en fallos o misses (Bloques no encontrados). Penalización por fallo (Incluye): Tiempo de acceso : Tiempo necesario para acceder a la primera palabra de un bloque en un fallo (Relacionado con la latencia del nivel más bajo) Tiempo de transferencia : Tiempo para transferir las restantes palabras del bloque. (Relacionado con el ancho de banda entre las memoria de nivel más bajo y más alto).

15 Impacto del rendimiento de la memoria Suponer que un procesador ejecuta –CPI (Ideal) = 1.1 –50% arit/logic, 30% ld/st, 20% control Y que 10% de las operaciones a datos en memoria, fallan con una penalización por falla de 50 ciclos CPI = CPI Ideal + Detención promedio por instrucción = 1.1(Ciclo) + (0.3(OpsDatMem/Instr) x 0.1(fallo/OpMemDat) x 50 (ciclo/fallo)) = 1.1 Ciclos + 1.5 Ciclos = 2.6 Por ende, 58% del tiempo el CPU está detenido, esperando a la memoria Un 1% más de rata de fallas añade un 0.5 más a los CPI

16 Tecnologías de Memorias Las cache usan SRAM por su velocidad y compatibilidad –Baja densidad (6 transistores), alto voltaje, cara, rápida –Estática: El contenido no se degrada o pierde (hasta que se apaga la máquina) La Memoria Principal utiliza DRAM por el tamaño (densidad) –Alta densidad (1 transistor), bajo consumo, barata, lenta –Dinámica: Requiere ser “refrescada” regularmente (~ cada 8 ms) 1% a 2% de los ciclos activos de la DRAM –Direcciones divididas en 2 mitades (fila y columna) RAS (Row Access Strobe): Decodificador del disparador de fila CAS (Column Access Strobe): Selector del disparador de columna Dout[15-0] SRAM 2M x 16 Din[15-0] Dirección Chip select Output enable Write enable 16 21

17 Métricas del Rendimiento de Memoria Latencia: Tiempo de acceso a una palabra –Tiempo de acceso: Tiempo entre la solicitud y la disponibilidad de la data (o escritura) –Tiempo de acceso (lectura) típico para SRAMs en 2004 era de 2 a 4ns para las memorias más rápidas y de 8 a 20ns para las memorias más grandes Ancho de banda: Cuántos datos desde la memoria se le pueden proveer al procesador, por unidad de tiempo –Ancho del canal de datos * frecuencia a la cual puede ser utilizado

18 Memoria Cache Cache: Lugar seguro donde esconder o almacenar cosas. Utilizadas por primera vez a principios de los años 60. Hoy en día; cualquier computador de propósito general, desde servidores a procesadores encajados de baja potencia, incluyen memorias caches.

19 Tipos de Cache (Según ubicación de datos e instrucciones) Tipo Princeton: –Es cuando una cache almacena tanto datos como instrucciones Tipos Harvard: –Las instrucciones y los datos son guardados en caches separadas –Término alusivo a la Mark I fabricada en Harvard –Permite que el procesador extraiga al mismo tiempo datos e instrucciones

20 Ubicación de un bloque 1.- ¿Dónde se coloca un bloque en la Cache?

21 Mapeo Directo (La organización más sencilla) La localidad 0 de la cache puede ser ocupada por las direcciones de memoria 0, 4, 8, etc… cualquiera cuyos 2 LSB sean 00 ¿Cuál deberíamos colocar en la Cache? ¿Cómo podemos averiguar cuál está ocupando la Cache?

22 Búsqueda de un bloque 2.- ¿Cómo saber si un bloque está en la Cache? Index: Indica el conjunto (Set) de Tags a tomar en cuenta Tag: Dirección del bloque Offset: Dirección del dato deseado dentro del bloque Por lo general, se agrega un bit de validez al tag para saber si contiene una dirección válida o no Los tags candidatos o posibles, se revisan en paralelo (por cuestiones de velocidad) ¿Cuántos bits tendría Index si se tratase una memoria 4- way associative?

23 Reemplazo de un bloque 3.- ¿Qué bloque reemplazar si ocurre un Miss en la Cache? Si es mapeo directo: No hay problema Estrategias posibles: –Least Recently Used (LRU): El bloque que fue utilizado hace más tiempo –Aleatorio: Selección al azar de qué bloque sobreescribir –First In, First Out (FIFO): Debido a que LRU es difícil de calcular, se determina el bloque más viejo (el que lleva más tiempo) de la cache.

24 Escritura de un bloque 4.- ¿Qué ocurre al escribir un bloque en la Cache? Las escrituras de datos en Cache no son tan frecuentes (28%) como las lecturas. La escritura de un bloque comienza después de que chequeamos que ocurrió un miss. Alternativas: –Write through: Se escribe el bloque en la Cache y en la memoria de menor nivel. –Write back: Se escribe el bloque sólo en la Cache. El bloque se actualiza en las memorias de nivel inferior sólo si el bloque se va a sobreescribir. En Write back se requiere marcar que un bloque ha sido escrito, para saber que hay que actualizarlo en los niveles inferiores. Para ello, se utiliza un bit (dirty bit). Write back consume menos ancho de banda de memoria y es más rápido Write through es más sencillo de implementar

25 La Cache en el Pipeline

26 Estrategias para mejorar la relación hits - misses Los fallos pueden ocurrir porque: 1.Obligatorios: El primer acceso a un bloque (Cold-start miss o First-reference miss) 2.Por capacidad: La cache no puede albergar a todos los bloques necesarios para ejecutar un programa. 3.Conflicto: Debido a la estrategia de ubicación de los bloques en la cache, ocurre que un bloque se alterna entre ser descartado y ser requerido (Conflict miss)

27 Estrategias para mejorar la relación hits - misses 1.Aumentar el tamaño del bloque Se reducen los cold-start misses Se incrementan los fallos por capacidad (Caben menos bloques)

28 Estrategias para mejorar la relación hits - misses 2.Aumentar el tamaño de la cache Se reducen los fallos por capacidad Mayor latencia y consumo: Es una cache de mayor tamaño

29 Estrategias para mejorar la relación hits - misses 3.Aumentar la asociatividad (El tamaño de los conjuntos) Se reducen los fallos por capacidad Cache más cara y aumenta el tiempo de hit

30 Estrategias para mejorar la relación hits - misses 4.Aumentar los niveles de Cache La Cache L1 debería ser lo suficientemente pequeña para ir a la velocidad del CPU La Cache L2 debería ser lo más grande que se pueda (Sin penalizar mucho la velocidad) para minimizar los misses 5.Dar prioridad a la lectura sobre la escritura Utilizar buffers de escritura Se complican los accesos a memoria y aumenta el costo

31 Ejercicio Asuma que estamos evaluando un computador con un miss rate en la cache de instrucciones del 2% y un miss rate en la cache de datos del 4%. Si el procesador tiene un CPI de 2 (Sin misses) y un miss penalty de 100 ciclos, determine qué tanto más rápido sería un computador con una cache perfecta (Que nunca presentara un miss). Las operaciones de load y save representan, en promedio, el 36% de las instrucciones. R: 2.72 veces


Descargar ppt "ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and."

Presentaciones similares


Anuncios Google