Estructura y Tecnología de Computadores (ITIG) 21. Jerarquía de Memoria. Conceptos básicos Óscar David Robles Sánchez Luis Rincón Córcoles
Programa 1.Bibliografía. 2.Introducción. 3.Concepto de localidad. 4.Algunos tipos de memorias. 5.Jerarquía: niveles. 2005/2006 2
1. Bibliografía D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseño de Computadores. Reverté, 2000. DORMIDO, S. CANTO M.A., MIRA J., DELGADO A.E. Estructura y Tecnología de Computadores. 2ª edición. Sanz y Torres, 2000. J.L. HENNESSY, D.A. PATTERSON. Computer Architecture. Morgan Kauffman, 2003. J. ORTEGA, M. ANGUITA, A. PRIETO. Arquitectura de Computadores. Thomsom-Paraninfo, 2005. P. DE MIGUEL. Fundamentos de los Computadores. 7ª edición. Paraninfo, 1999. W. STALLINGS. Organización y Arquitectura de Computadores. 5ª edición, Prentice Hall, 2000. 2005/2006 3
2. Introducción Memoria principal.- Unidad funcional del computador en la que se almacenan las instrucciones y datos que componen el programa que se encuentra en ejecución. En el computador existen otros tipos de memoria (de más rápida a más lenta): Registros. Memoria caché. Memoria secundaria. 2005/2006 4
Ejemplo de la biblioteca: 2. Introducción Coger libros de las estanterías. Utilizar los libros ya seleccionados que se tienen en la mesa. En un computador: Un programa no accede a todo su código o datos con igual probabilidad. Resultaría imposible hacer rápidos la mayoría de los accesos a memoria y tener grandes memorias en las máquinas 2005/2006 5
3. Concepto de localidad La forma de trabajar del estudiante y del computador se explican mediante la localidad. Localidad temporal. Si se accede a un dato, seguramente se volverá a acceder próximamente. Localidad espacial. Si se accede a un dato, seguramente se accederán a otros cercanos a él. La localidad en los programas surge de su estructura: secuencialidad, bucles. 2005/2006 6
4. Algunos tipos de memorias. La memoria de los primeros computadores estaba formada por tarjetas perforadas. Para leerlas se emitía una luz, y si había agujero, esa luz era detectada por un sensor. Relés magnéticos: actúan como interruptores. Válvulas electrónicas de vacío: actúan como los relés. Líneas de retardo: formadas por tubos rellenos de mercurio, a través del cual se almacena la información como un tren de pulsos ultrasónicos. Núcleos de ferrita: consisten en un anillo de ferrita atravesado por varios hilos por los que transcurre la corriente eléctrica, utilizada para magnetizar el anillo según dos valores distintos. 2005/2006 7
4. Algunos tipos de memorias. Las dos principales tecnologías basadas en semiconductores: DRAM. Memoria dinámica de acceso aleatorio. SRAM. Memoria estática de acceso aleatorio. DRAM es más barata por bit; SRAM es más rápida. Actualmente también se utilizan soportes mágnéticos (discos, cintas, ). Tecnología SRAM DRAM Disco magnético Tiempo de acceso 0,5-5 ns 50-70 ns 5,000,000-20,000,000 ns $ por GB (2004) $4.000-$10.000 $100-$200 $0.50-$2 2005/2006 8
4. Algunos tipos de memorias. Din[1] Din[0] Write enable 0 D D C latch Enable Q D D C latch Enable Q SRAM 4 2 2-to-4 decoder 1 D D C latch Enable Q D D C latch Enable Q Address 2 D D C latch Enable Q D D C latch Enable Q 3 D D C latch Enable Q D D C latch Enable Q 2005/2006 Dout[1] Dout[0] 9
4. Algunos tipos de memorias DRAM 2005/2006 10
5. Jerarquía: niveles Sistema de memoria organizado en niveles con diferente velocidad y capacidad. Se aprovecha el principio de localidad. Un nivel cercano al procesador es un subconjunto de cualquier nivel más bajo. Cuanto más cercano más rápido pero de menor capacidad. 2005/2006 11
5. Jerarquía: niveles Pueden existir múltiples niveles: los datos sólo se transfieren entre dos adyacentes. Speed CPU Size Cost ($/bit) Fastest Memory Smallest Highest Memory Slowest Memory Biggest Lowest 2005/2006 12
5. Jerarquía: niveles CPU Level 1 Increasing distance from the CPU in access time Levels in the memory hierarchy Level 2 Level n Size of the memory at each level 2005/2006 13
5. Jerarquía: niveles Unidad mínima de información: bloque. Si los datos pedidos por el procesador aparecen en un nivel superior: acierto (hit). Processor Data are transferred Si los datos no se encuentran en el nivel superior: fallo (miss). 2005/2006 14
5. Jerarquía: niveles Tasa de aciertos (hit rate).- % de accesos a memoria encontrados en el nivel superior. Tasa de fallos (miss rate).- % de accesos a memoria en que los datos NO están en el nivel superior. Permiten medir el rendimiento de una jerarquía de memorias. Falta evaluar el velocidad de los accesos con aciertos y con fallos. 2005/2006 15
5. Jerarquía: niveles Tiempo de acierto.- Tiempo necesario para acceder al nivel superior de la jerarquía. Incluye el tiempo para determinar si el acceso es acierto o fallo. Penalización por fallo.- Tiempo necesario para reemplazar el bloque del nivel superior por el correspondiente del inferior, más tiempo para suministrar este bloque al procesador. SIEMPRE T. acierto < T. fallo. 2005/2006 16
5. Jerarquía: niveles Los conceptos usados para construir sistemas de memoria afectan a: Gestión de la memoria y la E/S por el S. O. Cómo generan código los compiladores. Cómo usan la máquina las aplicaciones. Los programas acceden mucho a memoria: elemento clave para determinar el rendimiento. Se han desarrollado mecanismos muy sofisticados para mejorar su rendimiento. 2005/2006 17