Download Motivación: - Arquitectura y Tecnología de Computadores
Document related concepts
no text concepts found
Transcript
Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Organización. Jerarquía de Memoria Motivación: ¿Cómo clasificamos las técnicas basadas en organización del hardware? ¿Cuáles son las principales técnicas relativas al sistema de memoria? ¿Cuál es el principio de funcionamiento de la jerarquía de memoria? ¿Cómo se organiza la memoria principal del sistema? 1 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Organización. Jerarquía de Memoria • Técnicas basadas en Organización del Hardware • Sistema de Memoria. Jerarquía de Memoria • Organización de la Memoria Principal 2 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Organización del Hardware • MEMORIA Jerarquía de Memoria • PROCESADOR Segmentación ejecución solapada de instrucciones Paralelismo ( realización de actividades en paralelo) Múltiples Unidades Funcionales (diferentes/replicadas) Superescalabilidad: Múltiples núcleos: • E/S Arrays de Discos (Sistemas RAID) (Redundant Array of Independent Disks) 3 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Sistema de Memoria Processor Control Datapath Devices Memory Input Output • El acceso a memoria condiciona en gran medida el rendimiento del computador ABMEM = Ancho de banda de memoria ABCPU = Ancho de Banda de CPU ABE/S = Ancho de banda de E/S Relación ideal a cumplir en un computador de altas prestaciones: Problema: Velocidad (CPUs) >> Velocidad (MEMs) 4 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Rendimiento de Procesadores y Memorias µProc (2X/1.5años) 1000 Processor-Memory Performance Gap 100 (crece 50%/año) DRAM 10 (2X/10años) 1 19 80 19 83 19 86 19 89 19 92 19 95 19 98 20 01 20 04 Performance 10000 Year 5 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Area de Arquitectura y Tecnología de Computadores Arquitectura y Tecnología de Computadores (10/11) Limitaciones de la Memoria • Clocks per DRAM access Clocks per instruction 1000 100 10 Processor Memory 1 0,1 0,01 VAX/1980 PPro/1996 2010+ 6 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Impacto de la Memoria sobre el Rendimiento • Suponer que el procesador ejecuta 50% arit/log, 30% ld/st, 20% control CPI ideal = 1.1 y que el 10% de los accesos a memoria penalizan 50 ciclos • CPI = CPI ideal + ciclos perdidos por instrucción = 1.1 ciclos + [0.3(mem/inst) x 0.1(penal/mem) x 50(ciclos/penal)] = 1.1 ciclos + 1.5 ciclos = 2.6 ciclos • Cada 1% de penalizaciones extra implica un aumento de 0.5 en el CPI CPI Ideal CPI Penal Mem CPI Penal Extra 7 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Jerarquía de Memoria • Hecho: las memorias baratas y de elevada capacidad (DRAM) son lentas y las rápidas (SRAM) son caras y de baja capacidad • ¿Como podemos diseñar una memoria que de la ilusión de ser de elevada capacidad, barata y al mismo tiempo rápida la mayor parte del tiempo? • Jerarquía de memoria organizando el almacenamiento en varios niveles jerárquicos … y aprovechando los principios de localidad temporal y espacial … se puede presentar al usuario tanta memoria como permite la tecnología barata … pero con la velocidad que proporciona la tecnología más rápida 8 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Jerarquía de Memoria típica On-Chip Components Control DTLB Instr Data Cache Cache ITLB RegFile Datapath Second Level Cache (SRAM) Main Memory (DRAM) Secondary Memory (Disk) Velocidad (ciclos): ½’s 1,000’s Tamaño (bytes): 100’s G’s - T’s Coste (€/bit): el mayor el menor 9 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Características de la Jerarquía de Memoria Processor Inclusividad tiempo de acceso coste/bit L1 L2 (lo que está en L1 es un subconjunto de lo que está en L2, que a su vez es un subconjunto de MM y éste otro subconjunto de SM) Main Memory Secondary Memory capacidad relativa de cada nivel de memoria 10 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Tecnologías de Memoria implicadas • Las Caches utilizan memoria SRAM por velocidad Baja densidad (6 transistores/celda), alto consumo, muy rápidas pero caras Estática: el contenido almacenado permanece mientras haya alimentación • La Memoria Principal utiliza DRAM por tamaño Alta densidad (1 transistor por celda), bajo consumo, baratas pero lentas Dinámicas: necesitan ser “refrescadas” periódicamente (~ cada 8 ms) 11 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Métricas de rendimiento de Memoria • Latencia: tiempo para acceder a una palabra Tiempo de acceso: tiempo entre solicitud y recepción/ escritura del dato Tiempo de ciclo: tiempo entre solicitudes DRAMs: Tiempo de ciclo > Tiempo de acceso Tiempos de ciclo típicos: • Ancho de Banda: capacidad de proporcionar datos por unidad de tiempo = ancho del canal de datos * ratio al que puede ser utilizado • Tamaño: DRAM / SRAM = • Tiempo de ciclo: DRAM / SRAM = • Coste: SRAM / DRAM = 12 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Area de Arquitectura y Tecnología de Computadores Arquitectura y Tecnología de Computadores (10/11) Latencia y Ancho de Banda para DRAM DRAM Page DRAM FastPage DRAM FastPage DRAM Synch DRAM DDR SDRAM Module Width 16b 16b 32b 64b 64b 64b Year 1980 1983 1986 1993 1997 2000 Mb/chip 0.06 0.25 1 16 64 256 Die size (mm2) 35 45 70 130 170 204 Pins/chip 16 16 18 20 54 66 BandWidth (MB/s) 13 40 160 267 640 1600 Latency (nsec) 225 170 125 75 62 52 • En el período en que se duplica el ancho de banda de memoria, la latencia tan solo mejora en un factor entre 1.2 y 1.4 • Para poder proporcionar esos niveles de ancho de banda, la DRAM tiene que ser organizada internamente de forma adecuada 13 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Sistemas de Memoria con soporte para CACHE Chip • CPU Cache bus La conexión externa del chip y la arquitectura de la memoria condicionan fuertemente el rendimiento del sistema Organización de la memoria a nivel de palabra • Asume: 1 ciclo de reloj para enviar la dirección 8 ciclos de tiempo de acceso 1 ciclo para devolver la palabra de datos 32 bit datos Memory • Ancho de banda Bus de Memoria-Cache Número de bytes accedidos desde memoria y transferidos hacia la cache por ciclo 14 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Organización de Memoria a nivel de palabra Chip CPU • Si el tamaño de bloque de la cache es de una palabra, en caso de fallo de la cache tendrá lugar una parada durante el tiempo necesario para cargar la palabra desde memoria principal Cache ciclo para enviar la dirección bus ciclos para leer la DRAM ciclos para retorno de la palabra total de ciclos para el fallo Memory • Número de bytes transferidos por unidad de tiempo (ancho de banda) para fallo de cache: bytes por ciclo 15 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Organización de Memoria a nivel de palabra • ¿Que ocurre si el tamaño de bloque es de 4 palabras? Chip CPU ciclo para enviar la dirección ciclos para leer la DRAM ciclos para retorno de la última palabra total de ciclos para el fallo Cache bus 8 ciclos 8 ciclos 8 ciclos 8 ciclos Memory • Número de bytes transferidos por unidad de tiempo (ancho de banda) para fallo de cache: bytes por ciclo 16 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Area de Arquitectura y Tecnología de Computadores Arquitectura y Tecnología de Computadores (10/11) Organización de Memoria más ancha Chip CPU Cache • ¿Que ocurre si la memoria es 4 veces más ancha? ciclo para enviar la dirección ciclos para leer la DRAM 128 bit ciclos para retorno de las 4 palabras bus Memory total de ciclos para el fallo • Número de bytes transferidos por unidad de tiempo (ancho de banda) para fallo de cache: bytes por ciclo 17 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Area de Arquitectura y Tecnología de Computadores Arquitectura y Tecnología de Computadores (10/11) Organización de Memoria entrelazada (interleaved) Chip CPU Cache bus • ¿Que ocurre si el tamaño de bloque es de 4 palabras? ciclo para enviar la dirección ciclos para leer la DRAM ciclos para retorno de la última palabra total de ciclos para el fallo 8 ciclos 8 ciclos Memory Memory Memory Memory bank 0 bank 1 bank 2 bank 3 8 ciclos 8 ciclos • Número de bytes transferidos por unidad de tiempo (ancho de banda) para fallo de cache: bytes por ciclo 18 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Sistemas de Memoria DRAM (Resumen) • Es importante casar las características de la cache ... (accede a un bloque de una vez, normalmente de más de una palabra) con las características de la DRAM: utilizar DRAMs que soporten acceso rápido a un conjunto de palabras, preferiblemente cuando coincida con el tamaño de bloque de la cache con las características del Bus de Memoria: el bus puede soportar los ritmos y patrones de acceso de la DRAM si se quiere incrementar el ancho de banda hacia la cache Ancho de Banda Memoria máximo 19 Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria Universidad de Oviedo Arquitectura y Tecnología de Computadores (10/11) Area de Arquitectura y Tecnología de Computadores Ejercicio 4.1 Sin entrelazado: 8 ciclos 8 ciclos 8 ciclos 8 ciclos Tiempo sin entrelazado = Con entrelazado acceso secuencial a 4 grupos de 4 palabras, cada uno de ellos en paralelo: 8 ciclos 8 ciclos 8 ciclos 8 ciclos primer grupo 8 ciclos 8 ciclos 8 ciclos 8 ciclos segundo grupo Tiempo con entrelazado = G= Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria 20